You are here

ruleset.action.inc in Views Bulk Operations (VBO) 6.3

File

ruleset.action.inc
View source
<?php

function views_bulk_operations_ruleset_action_info() {
  if (!module_exists('rules')) {
    return array();
  }
  $actions = array();
  foreach (rules_get_configured_items('rule_sets') as $ruleset_key => $ruleset) {
    if (count($ruleset['arguments']) == 1) {

      // For now, we only accept rulesets with one parameter (taken to be the 'type')
      $arg = key($ruleset['arguments']);
      $actions["views_bulk_operations_ruleset_action_{$ruleset_key}"] = array(
        'type' => $ruleset['arguments'][$arg]['type'],
        'parameters' => array(
          'ruleset' => $ruleset_key,
        ),
        'description' => $ruleset['label'],
        'configurable' => FALSE,
        'rules_ignore' => TRUE,
      );
      eval(<<<EOS
if (!function_exists('views_bulk_operations_ruleset_action_{<span class="php-variable">$ruleset_key</span>}')) {
  function views_bulk_operations_ruleset_action_{<span class="php-variable">$ruleset_key</span>}(&\$object, \$context) {
    rules_invoke_rule_set(\$context['ruleset'], \$object);
  }
}
EOS
);
    }
  }
  return $actions;
}