Example #1
0
 /**
  * Constructs a new class instance.
  *
  * @param array $configuration
  *   A configuration array containing information about the plugin instance.
  * @param string $plugin_id
  *   The plugin_id for the plugin instance.
  * @param array $plugin_definition
  *   The plugin implementation definition.
  * @param \Drupal\rules\Engine\ExpressionManagerInterface $expression_manager
  *   The rules expression plugin manager.
  */
 public function __construct(array $configuration, $plugin_id, $plugin_definition, ExpressionManagerInterface $expression_manager)
 {
     parent::__construct($configuration, $plugin_id, $plugin_definition);
     $configuration += ['conditions' => [], 'actions' => []];
     // Per default the outer condition container of a rule is initialized as
     // conjunction (AND), meaning that all conditions in it must evaluate to
     // TRUE to fire the actions.
     $this->conditions = $expression_manager->createInstance('rules_and', $configuration['conditions']);
     $this->conditions->setRoot($this->getRoot());
     $this->actions = $expression_manager->createInstance('rules_action_set', $configuration['actions']);
     $this->actions->setRoot($this->getRoot());
 }
Example #2
0
 /**
  * PHP magic __clone function.
  */
 public function __clone()
 {
     $this->actions = clone $this->actions;
     $this->actions->setRoot($this->getRoot());
     $this->conditions = clone $this->conditions;
     $this->conditions->setRoot($this->getRoot());
 }