diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-08-22 15:35:36 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-08-22 15:35:36 +0000 |
commit | bfb487627efcfff7a091aee85a7696dde5477188 (patch) | |
tree | d83080e7c93aa92abc683c694ae5e68dc99ca636 /modules/trigger | |
parent | a3215984932bc74ebd3514544fa11a0a536360bc (diff) | |
download | brdo-bfb487627efcfff7a091aee85a7696dde5477188.tar.gz brdo-bfb487627efcfff7a091aee85a7696dde5477188.tar.bz2 |
#296322 by cwgordon7 andSenpai: Fix horribly broken trigger module and add tests so we don't do it anymore.
Diffstat (limited to 'modules/trigger')
-rw-r--r-- | modules/trigger/trigger.admin.inc | 12 | ||||
-rw-r--r-- | modules/trigger/trigger.module | 56 |
2 files changed, 16 insertions, 52 deletions
diff --git a/modules/trigger/trigger.admin.inc b/modules/trigger/trigger.admin.inc index 22f26a704..51d004036 100644 --- a/modules/trigger/trigger.admin.inc +++ b/modules/trigger/trigger.admin.inc @@ -23,11 +23,13 @@ function trigger_assign($type = NULL) { $build = array(); $hooks = module_invoke_all('hook_info'); - foreach ($hooks as $module => $hook) { - if (isset($hook[$type])) { - foreach ($hook[$type] as $op => $description) { - $form_id = 'trigger_' . $type . '_' . $op . '_assign_form'; - $build[$form_id] = drupal_get_form($form_id, $type, $op, $description['runs when']); + foreach ($hooks as $module => $module_hooks) { + if ($module == $type) { + foreach ($module_hooks as $hook => $data) { + foreach ($data as $op => $description) { + $form_id = 'trigger_' . $hook . '_' . $op . '_assign_form'; + $build[$form_id] = drupal_get_form($form_id, $hook, $op, $description['runs when']); + } } } } diff --git a/modules/trigger/trigger.module b/modules/trigger/trigger.module index e810755c8..d6fedc64f 100644 --- a/modules/trigger/trigger.module +++ b/modules/trigger/trigger.module @@ -39,47 +39,15 @@ function trigger_menu() { 'title' => 'Triggers', 'description' => 'Tell Drupal when to execute actions.', 'page callback' => 'trigger_assign', - 'access callback' => 'trigger_access_check', - 'access arguments' => array('node'), - ); - // We don't use a menu wildcard here because these are tabs, - // not invisible items. - $items['admin/structure/trigger/node'] = array( - 'title' => 'Content', - 'page callback' => 'trigger_assign', - 'page arguments' => array('node'), - 'access callback' => 'trigger_access_check', - 'access arguments' => array('node'), - 'type' => MENU_LOCAL_TASK, - ); - $items['admin/structure/trigger/user'] = array( - 'title' => 'Users', - 'page callback' => 'trigger_assign', - 'page arguments' => array('user'), - 'access callback' => 'trigger_access_check', - 'access arguments' => array('user'), - 'type' => MENU_LOCAL_TASK, - ); - $items['admin/structure/trigger/comment'] = array( - 'title' => 'Comments', - 'page callback' => 'trigger_assign', - 'page arguments' => array('comment'), - 'access callback' => 'trigger_access_check', - 'access arguments' => array('comment'), - 'type' => MENU_LOCAL_TASK, - ); - $items['admin/structure/trigger/taxonomy'] = array( - 'title' => 'Taxonomy', - 'page callback' => 'trigger_assign', - 'page arguments' => array('taxonomy'), - 'access callback' => 'trigger_access_check', - 'access arguments' => array('taxonomy'), - 'type' => MENU_LOCAL_TASK, + 'access arguments' => array('administer actions'), ); + + // Explicitly define the system menu item so we can label it "cron" rather + // than "system". $items['admin/structure/trigger/cron'] = array( 'title' => 'Cron', 'page callback' => 'trigger_assign', - 'page arguments' => array('cron'), + 'page arguments' => array('system'), 'access arguments' => array('administer actions'), 'type' => MENU_LOCAL_TASK, ); @@ -88,11 +56,12 @@ function trigger_menu() { // their hooks and have actions assignable to them. $hooks = module_invoke_all('hook_info'); foreach ($hooks as $module => $hook) { - // We've already done these. - if (in_array($module, array('node', 'comment', 'user', 'system', 'taxonomy'))) { + // We've already done system.module. + if ($module == 'system') { continue; } $info = db_select('system') + ->fields('system', array('info')) ->condition('name', $module) ->execute() ->fetchField(); @@ -102,7 +71,7 @@ function trigger_menu() { 'title' => $nice_name, 'page callback' => 'trigger_assign', 'page arguments' => array($module), - 'access arguments' => array($module), + 'access arguments' => array('administer actions'), 'type' => MENU_LOCAL_TASK, ); } @@ -119,13 +88,6 @@ function trigger_menu() { } /** - * Access callback for menu system. - */ -function trigger_access_check($module) { - return (module_exists($module) && user_access('administer actions')); -} - -/** * Get the aids of actions to be executed for a hook-op combination. * * @param $hook |