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) {
$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;
}