function power_menu_get_menu_handlers in Power Menu 7.2
Shortcut function to get menu_handlers plugins. The handlers are sorted by the module settings.
Parameters
$only_enabled: Is this parameter set to TRUE, only enabled menu_handlers returned.
Return value
An array of available menu_handlers
6 calls to power_menu_get_menu_handlers()
- power_menu_configuration_form in ./
power_menu.admin.inc - Form definition for Powe Menu configuration.
- power_menu_configuration_handler_form in ./
power_menu.admin.inc - Gets the settings form from handler plugins.
- power_menu_form_menu_edit_item_alter in ./
power_menu.module - Implements hook_form_ID_alter().
- power_menu_get_path in ./
power_menu.module - Gets the system path for the current page.
- power_menu_plugin_get_handler_instance_by_name in ./
power_menu.module - Creates an instance for given handler name.
File
- ./
power_menu.module, line 142
Code
function power_menu_get_menu_handlers($only_enabled = FALSE) {
ctools_include('plugins');
$handlers = ctools_get_plugins('power_menu', 'menu_handlers');
$ordered_handlers = array();
$settings = variable_get('power_menu_handlers_settings', array());
// Sort handlers by settings weight
uasort($settings, 'power_menu_handlers_weight_compare');
// Sort available handlers based on settings array and merge with new handler plugins
foreach ($settings as $key => $value) {
if ((!$only_enabled || $value['enabled']) && !empty($handlers[$key])) {
$ordered_handlers[$key] = $handlers[$key];
}
unset($handlers[$key]);
}
if ($only_enabled) {
return $ordered_handlers;
}
else {
return array_merge($ordered_handlers, $handlers);
}
}