/** * Returns list of user actions defined by all widgets * * @return array List of user actions keyed by action code */ public static function getWidgetRoleActions() { $va_actions = array(); $o_config = Configuration::load(); $vs_base_widget_dir = $o_config->get('dashboard_widgets'); $va_widget_dirs = WidgetManager::getWidgetNames(); foreach ($va_widget_dirs as $vs_widget_dir) { if (!file_exists($vs_base_widget_dir . '/' . $vs_widget_dir . '/' . $vs_widget_dir . 'Widget.php')) { continue; } require_once $vs_base_widget_dir . '/' . $vs_widget_dir . '/' . $vs_widget_dir . 'Widget.php'; $vs_widget_classname = $vs_widget_dir . 'Widget'; $va_actions = array_merge($va_actions, call_user_func(array($vs_widget_classname, 'getRoleActionList'))); } return $va_actions; }