diff options
author | Andreas Gohr <andi@splitbrain.org> | 2015-05-20 09:17:37 +0200 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2015-05-20 09:17:37 +0200 |
commit | dae73d6abd9c0621fc75b85072812ae5c31f6d45 (patch) | |
tree | 9ee5dc386e7be96326f16e40f4d7460ff47d7a85 /inc/template.php | |
parent | 3bc8c0d72be15e1210feef5c8f4c670d7ab71dc4 (diff) | |
parent | 714ca83d81222f48db9b9db4b216715efe70cdf3 (diff) | |
download | rpg-dae73d6abd9c0621fc75b85072812ae5c31f6d45.tar.gz rpg-dae73d6abd9c0621fc75b85072812ae5c31f6d45.tar.bz2 |
Merge pull request #1156 from splitbrain/refactor_admin_plugin_get
Provide a function to return admin plugin for the page request.
Diffstat (limited to 'inc/template.php')
-rw-r--r-- | inc/template.php | 30 |
1 files changed, 7 insertions, 23 deletions
diff --git a/inc/template.php b/inc/template.php index 39d06e895..95dc52deb 100644 --- a/inc/template.php +++ b/inc/template.php @@ -218,18 +218,9 @@ function tpl_toc($return = false) { $toc = array(); } } elseif($ACT == 'admin') { - // try to load admin plugin TOC FIXME: duplicates code from tpl_admin - $plugin = null; - $class = $INPUT->str('page'); - if(!empty($class)) { - $pluginlist = plugin_list('admin'); - if(in_array($class, $pluginlist)) { - // attempt to load the plugin - /** @var $plugin DokuWiki_Admin_Plugin */ - $plugin = plugin_load('admin', $class); - } - } - if( ($plugin !== null) && (!$plugin->forAdminOnly() || $INFO['isadmin']) ) { + // try to load admin plugin TOC + /** @var $plugin DokuWiki_Admin_Plugin */ + if ($plugin = plugin_getRequestAdminPlugin()) { $toc = $plugin->getTOC(); $TOC = $toc; // avoid later rebuild } @@ -1054,17 +1045,10 @@ function tpl_pagetitle($id = null, $ret = false) { case 'admin' : $page_title = $lang['btn_admin']; // try to get the plugin name - // retrieve admin plugin name from $_REQUEST['page'] - if (($page = $INPUT->str('page', '', true)) != '') { - $pluginlist = plugin_list('admin'); - if (in_array($page, $pluginlist)) { - // attempt to load the plugin - - if (($plugin = plugin_load('admin',$page)) !== null){ - $plugin_title = $plugin->getMenuText($conf['lang']); - $page_title = $plugin_title ? $plugin_title : $page; - } - } + /** @var $plugin DokuWiki_Admin_Plugin */ + if ($plugin = plugin_getRequestAdminPlugin()){ + $plugin_title = $plugin->getMenuText($conf['lang']); + $page_title = $plugin_title ? $plugin_title : $plugin->getPluginName(); } break; |