function ca_add_actions in Ubercart 7.3
Reads a predicate's actions array and add them to a Rule.
Parameters
Rule &$rule: The configuration to receive actions.
$actions: The predicate's actions array.
1 call to ca_add_actions()
- ca_convert_predicate in uc_store/
includes/ ca.inc - Base helper function to convert CA predicates to Rules configurations.
File
- uc_store/
includes/ ca.inc, line 276 - Helper functions for upgrade from Ubercart 2.x to Ubercart 3.x.
Code
function ca_add_actions(&$rule, $actions) {
foreach ($actions as $action) {
$settings = array();
// The argument maps are like data selectors pointing to event variables.
foreach ($action['#argument_map'] as $key => $value) {
$key .= ':select';
$settings[$key] = $value;
}
foreach ($action['#settings'] as $key => $value) {
$settings[$key] = $value;
}
switch ($action['#name']) {
case 'ca_drupal_set_message':
$name = 'drupal_message';
$settings = array(
'message' => $settings['message_text'],
'error' => $settings['message_type'] == 'error',
);
break;
case 'ca_action_custom_php':
$name = 'php_eval';
$settings = array(
'code' => $settings['php'],
);
break;
default:
$name = $action['#name'];
break;
}
$rule
->action($name, $settings);
}
}