blocks the blocks to be displayed, unsorted * * It's recommented that the theme sort the blocks before doing anything * else, using: usort($panel->blocks, "blockcmp"); * * The page should wrap all the options in a form which links to setup_save */ public function display_page(Page $page, SetupPanel $panel) { global $user; usort($panel->blocks, "blockcmp"); /* * Try and keep the two columns even; count the line breaks in * each an calculate where a block would work best */ $setupblock_html = ""; foreach($panel->blocks as $block) { $html = $this->sb_to_html($block); $setupblock_html .= $this->sb_to_html($block); } $table = " ".make_form(make_link("setup/save"))."
$setupblock_html
"; $page->set_title("Shimmie Setup"); $page->set_heading("Shimmie Setup"); $page->add_block(new Block("Navigation", $this->build_navigation(), "left", 0)); $page->add_block(new Block("Setup", $table)); } public function display_advanced(Page $page, $options) { global $user; $rows = ""; $n = 0; ksort($options); foreach($options as $name => $value) { $h_value = html_escape($value); $len = strlen($h_value); $oe = ($n++ % 2 == 0) ? "even" : "odd"; $box = ""; if(strpos($value, "\n") > 0) { $box .= ""; } else { $box .= ""; } $box .= ""; $rows .= "$name$box"; } $table = " ".make_form(make_link("setup/save"))." $rows
NameValue
"; $page->set_title("Shimmie Setup"); $page->set_heading("Shimmie Setup"); $page->add_block(new Block("Navigation", $this->build_navigation(), "left", 0)); $page->add_block(new Block("Setup", $table)); } protected function build_navigation() { return " Index
Help
Advanced "; } protected function sb_to_html(SetupBlock $block) { return "
{$block->header}
{$block->body}
\n"; } } ?>