You are here

function flag_action_info_alter in Flag 7.2

Same name and namespace in other branches
  1. 6.2 includes/flag.actions.inc \flag_action_info_alter()
  2. 7.3 includes/flag.actions.inc \flag_action_info_alter()

Implements hook_action_info_alter().

Enable Flag actions on Node, Comment, and User hooks without the trigger_unlock.module.

File

includes/flag.actions.inc, line 70
Hooks for flag actions.

Code

function flag_action_info_alter(&$actions) {
  $node_flags = flag_get_flags('node');
  $comment_flags = flag_get_flags('comment');
  $user_flags = flag_get_flags('user');
  foreach ($actions as $name => $action) {
    if (strpos($name, 'node') === 0) {
      $actions[$name]['triggers'][] = 'flag_flag';
      $actions[$name]['triggers'][] = 'flag_unflag';
      foreach ($node_flags as $flag) {
        $actions[$name]['triggers'][] = 'flag_flag_' . $flag->name;
        $actions[$name]['triggers'][] = 'flag_unflag_' . $flag->name;
      }
    }
    if (strpos($name, 'comment') === 0) {
      $actions[$name]['triggers'][] = 'flag_flag';
      $actions[$name]['triggers'][] = 'flag_unflag';
      foreach ($comment_flags as $flag) {
        $actions[$name]['triggers'][] = 'flag_flag_' . $flag->name;
        $actions[$name]['triggers'][] = 'flag_unflag_' . $flag->name;
      }
    }
    if (strpos($name, 'user') === 0) {
      $actions[$name]['triggers'][] = 'flag_flag';
      $actions[$name]['triggers'][] = 'flag_unflag';
      foreach ($user_flags as $flag) {
        $actions[$name]['triggers'][] = 'flag_flag_' . $flag->name;
        $actions[$name]['triggers'][] = 'flag_unflag_' . $flag->name;
      }
    }
  }
}