function RulesPlugin::getExecutionArguments
Gets the right arguments for executing the element.
Throws
RulesEvaluationException If case an argument cannot be retrieved an exception is thrown.
1 call to RulesPlugin::getExecutionArguments()
- RulesAbstractPlugin::evaluate in includes/
rules.core.inc - Evaluate the element on a given rules evaluation state.
File
-
includes/
rules.core.inc, line 1024
Class
- RulesPlugin
- Base class for rules plugins.
Code
protected function getExecutionArguments(RulesState $state) {
$parameters = $this->pluginParameterInfo();
// If there is language parameter, get its value first so it can be used
// for getting other translatable values.
$langcode = NULL;
if (isset($parameters['language'])) {
$lang_arg = $this->getArgument('language', $parameters['language'], $state);
$langcode = $lang_arg instanceof EntityMetadataWrapper ? $lang_arg->value() : $lang_arg;
}
// Now get all arguments.
foreach ($parameters as $name => $info) {
$args[$name] = $name == 'language' ? $lang_arg : $this->getArgument($name, $info, $state, $langcode);
}
// Append the settings and the execution state. Faces will append $this.
$args['settings'] = $this->settings;
$args['state'] = $state;
// Make the wrapped variables for the arguments available in the state.
$state->currentArguments = $args;
return rules_unwrap_data($args, $parameters);
}