/** * Method to execute the actions * * @param object CRM_Civirules_TriggerData_TriggerData $triggerData * @access protected * @static */ protected static function executeActions(CRM_Civirules_TriggerData_TriggerData $triggerData) { $actionParams = array('rule_id' => $triggerData->getTrigger()->getRuleId()); $ruleActions = CRM_Civirules_BAO_RuleAction::getValues($actionParams); foreach ($ruleActions as $ruleAction) { self::executeAction($triggerData, $ruleAction); } }
/** * Function to get the rule actions for the rule * * @return array $ruleActions * @access protected */ protected function getRuleActions() { $actionParams = array('is_active' => 1, 'rule_id' => $this->ruleId); $ruleActions = CRM_Civirules_BAO_RuleAction::getValues($actionParams); foreach ($ruleActions as $ruleActionId => $ruleAction) { $actionClass = CRM_Civirules_BAO_Action::getActionObjectById($ruleAction['action_id']); $actionClass->setRuleActionData($ruleAction); $ruleActions[$ruleActionId]['label'] = CRM_Civirules_BAO_Action::getActionLabelWithId($ruleAction['action_id']); $ruleActions[$ruleActionId]['actions'] = $this->setRuleActionActions($ruleActionId, $actionClass); $ruleActions[$ruleActionId]['formattedConditionParams'] = $actionClass->userFriendlyConditionParams(); $ruleActions[$ruleActionId]['formattedDelay'] = ''; if (!empty($ruleAction['delay'])) { $delayClass = unserialize($ruleAction['delay']); $ruleActions[$ruleActionId]['formattedDelay'] = $delayClass->getDelayExplanation(); } } return $ruleActions; }