00001 <?php
00002
00015
00016
00017
00018 class PluginHandler extends ManagerHandler {
00022 function plugins($args) {
00023 $category = isset($args[0])?$args[0]:null;
00024
00025 parent::validate();
00026
00027 $categories = PluginRegistry::getCategories();
00028
00029 if (isset($category)) {
00030
00031
00032 $plugins =& PluginRegistry::loadCategory($category);
00033 } else {
00034
00035 $plugins = array();
00036 foreach ($categories as $category) {
00037 $newPlugins =& PluginRegistry::loadCategory($category);
00038 if (isset($newPlugins)) {
00039 $plugins = array_merge($plugins, PluginRegistry::loadCategory($category));
00040 }
00041 }
00042 }
00043
00044 parent::setupTemplate(true);
00045
00046 $templateMgr =& TemplateManager::getManager();
00047 $templateMgr->assign_by_ref('plugins', $plugins);
00048 $templateMgr->assign_by_ref('categories', $categories);
00049 $templateMgr->assign('isSiteAdmin', Validation::isSiteAdmin());
00050 $templateMgr->assign('helpTopicId', 'journal.managementPages.plugins');
00051
00052 $templateMgr->display('manager/plugins/plugins.tpl');
00053 }
00054
00058 function plugin($args) {
00059 $category = array_shift($args);
00060 $plugin = array_shift($args);
00061 $verb = array_shift($args);
00062
00063 parent::validate();
00064
00065 $plugins =& PluginRegistry::loadCategory($category);
00066 if (!isset($plugins[$plugin]) || !$plugins[$plugin]->manage($verb, $args)) {
00067 Request::redirect(null, null, 'plugins');
00068 }
00069 }
00070 }
00071
00072 ?>