diff options
-rw-r--r-- | lib/plugins/extension/admin.php | 23 | ||||
-rw-r--r-- | lib/plugins/extension/helper/gui.php | 37 |
2 files changed, 42 insertions, 18 deletions
diff --git a/lib/plugins/extension/admin.php b/lib/plugins/extension/admin.php index 4faafedb2..39ce9e947 100644 --- a/lib/plugins/extension/admin.php +++ b/lib/plugins/extension/admin.php @@ -118,34 +118,21 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin { * Render HTML output */ public function html() { - /* @var Doku_Plugin_Controller $plugin_controller */ - global $plugin_controller; - global $INPUT; ptln('<h1>'.$this->getLang('menu').'</h1>'); ptln('<div id="extension__manager">'); $this->gui->tabNavigation(); - switch($INPUT->str('tab','plugins')){ + switch($this->gui->currentTab()){ case 'search': echo 'search interface'; break; + case 'templates': + $this->gui->templateList(); + break; case 'plugins': default: - // FIXME move to function? - - $pluginlist = $plugin_controller->getList('', true); - /* @var helper_plugin_extension_extension $extension */ - $extension = $this->loadHelper('extension_extension'); - /* @var helper_plugin_extension_list $list */ - $list = $this->loadHelper('extension_list'); - $list->start_form(); - foreach ($pluginlist as $name) { - $extension->setExtension($name, false); - $list->add_row($extension, $name == $this->infoFor); - } - $list->end_form(); - $list->render(); + $this->gui->pluginList(); } diff --git a/lib/plugins/extension/helper/gui.php b/lib/plugins/extension/helper/gui.php index eba5fbc7f..41afc2069 100644 --- a/lib/plugins/extension/helper/gui.php +++ b/lib/plugins/extension/helper/gui.php @@ -16,6 +16,43 @@ class helper_plugin_extension_gui extends DokuWiki_Plugin { protected $tabs = array('plugins', 'templates', 'search'); + + public function pluginList(){ + /* @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + + $pluginlist = $plugin_controller->getList('', true); + /* @var helper_plugin_extension_extension $extension */ + $extension = $this->loadHelper('extension_extension'); + /* @var helper_plugin_extension_list $list */ + $list = $this->loadHelper('extension_list'); + $list->start_form(); + foreach ($pluginlist as $name) { + $extension->setExtension($name, false); + $list->add_row($extension, $name == $this->infoFor); + } + $list->end_form(); + $list->render(); + } + + public function templateList(){ + // FIXME do we have a real way? + $tpllist = glob(DOKU_INC.'lib/tpl/*', GLOB_ONLYDIR); + $tpllist = array_map('basename', $tpllist); + + /* @var helper_plugin_extension_extension $extension */ + $extension = $this->loadHelper('extension_extension'); + /* @var helper_plugin_extension_list $list */ + $list = $this->loadHelper('extension_list'); + $list->start_form(); + foreach ($tpllist as $name) { + $extension->setExtension($name, true); + $list->add_row($extension, $name == $this->infoFor); + } + $list->end_form(); + $list->render(); + } + /** * Print the tab navigation * |