/
pluginsubmenu.plugin.php
46 lines (39 loc) · 1.37 KB
/
pluginsubmenu.plugin.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
class PluginSubmenu extends Plugin
{
public function action_update_check()
{
Update::add( 'PluginSubmenu', '9afffc2f-557f-4bbb-87e3-ada7a1ae5444', $this->info->version );
}
public function filter_adminhandler_post_loadplugins_main_menu($menu)
{
$active_plugins = Plugins::get_active();
$submenu_count = 0;
foreach ( $active_plugins as $pluginobj ) {
$plugin_actions = array();
$plugin_actions = Plugins::filter_id('plugin_config', $pluginobj->plugin_id(), $plugin_actions, $pluginobj->plugin_id() );
foreach ( $plugin_actions as $plugin_action => $plugin_action_caption ) {
if ( is_numeric($plugin_action) ) {
$plugin_action = $plugin_action_caption;
}
$urlparams = array('page' => 'plugins', 'configure' => $pluginobj->plugin_id(), 'configaction' => $plugin_action);
$url = URL::get( 'admin', $urlparams );
switch($plugin_action_caption) {
case _t('?'):
break;
default:
$menu['plugins']['submenu']['plugin_' . ++$submenu_count] = array(
'url' => $url,
'title' => _t( '%1$s: %2$s', array($pluginobj->info->name, $plugin_action_caption) ),
'text' => _t( '%1$s: %2$s', array($pluginobj->info->name, $plugin_action_caption) ),
'access' => true,
'hotkey' => $submenu_count,
);
break;
}
}
}
return $menu;
}
}
?>