You are here

function drush_rules_list in Rules 7.2

Same name and namespace in other branches
  1. 8.3 rules.drush.inc \drush_rules_list()

Get a list of all rules.

File

./rules.drush.inc, line 100
Rules module drush integration.

Code

function drush_rules_list() {
  $rules = rules_config_load_multiple(FALSE);
  $rows = array();
  foreach ($rules as $rule) {
    if (!empty($rule->name) && !empty($rule->label)) {
      $events = array();
      $event_info = rules_fetch_data('event_info');
      if ($rule instanceof RulesTriggerableInterface) {
        foreach ($rule
          ->events() as $event_name) {
          $event_info += array(
            $event_name => array(
              'label' => dt('Unknown event "!event_name"', array(
                '!event_name' => $event_name,
              )),
            ),
          );
          $events[] = check_plain($event_info[$event_name]['label']);
        }
      }
      $rows[$rule->name] = array(
        'rule' => $rule->name,
        'label' => $rule->label,
        'event' => implode(', ', $events),
        'active' => $rule->active ? dt('Enabled') : dt('Disabled'),
        'status' => $rule->status ? theme('entity_status', array(
          'status' => $rule->status,
          'html' => FALSE,
        )) : '',
      );
    }
  }
  if (version_compare(DRUSH_VERSION, '6.0', '<')) {
    drush_print_table($rows, TRUE);
  }
  return $rows;
}