function handler_admin($page) { $mixed = func_get_args(); array_shift($mixed); $mixed = implode('/', $mixed); if (empty($mixed)) { $wikis = Wiki::selectAll(Wiki::SELECT_BASE | Wiki::SELECT_COUNT); $page->assign('wikis', $wikis); $page->addCssLink('wiki.css'); $page->assign('title', 'Admin Wiki'); $page->changeTpl('wiki/list.tpl'); } else { if (Wiki::isId($mixed)) { $wiki = new Wiki($mixed); } else { $wiki = Wiki::from($mixed, true); // Create the Wiki if it doesn't exist } if (Env::has('newcontent')) { $wiki->update(Env::s('newcontent')); } $wiki->select(Wiki::SELECT_BASE | Wiki::SELECT_COUNT); $wiki->select(array(Wiki::SELECT_VERSION => array('versions' => array('last'), 'options' => UserSelect::base()))); $page->assign('wiki', $wiki); $page->addCssLink('wiki.css'); $page->assign('title', 'Admin Wiki: ' . $wiki->name()); $page->changeTpl('wiki/admin.tpl'); } }