/** * Function to add or update rule * * @param array $params * @return array $result * @access public * @throws Exception when params is empty * @static */ public static function add($params) { $result = array(); if (empty($params)) { throw new Exception('Params can not be empty when adding or updating a civirule rule'); } if (!empty($params['id'])) { CRM_Utils_Hook::pre('edit', 'CiviRuleRule', $params['id'], $params); } else { CRM_Utils_Hook::pre('create', 'CiviRuleRule', NULL, $params); } $rule = new CRM_Civirules_BAO_Rule(); $fields = self::fields(); foreach ($params as $key => $value) { if (isset($fields[$key])) { $rule->{$key} = $value; } } if (!isset($rule->name) || empty($rule->name)) { if (isset($rule->label)) { $rule->name = CRM_Civirules_Utils::buildNameFromLabel($rule->label); } } $rule->save(); self::storeValues($rule, $result); if (!empty($params['id'])) { CRM_Utils_Hook::post('edit', 'CiviRuleRule', $rule->id, $rule); } else { CRM_Utils_Hook::post('create', 'CiviRuleRule', $rule->id, $rule); } return $result; }
/** * Function to add or update rule * * @param array $params * @return array $result * @access public * @throws Exception when params is empty * @static */ public static function add($params) { $result = array(); if (empty($params)) { throw new Exception('Params can not be empty when adding or updating a civirule rule'); } $rule = new CRM_Civirules_BAO_Rule(); $fields = self::fields(); foreach ($params as $key => $value) { if (isset($fields[$key])) { $rule->{$key} = $value; } } if (!isset($rule->name) || empty($rule->name)) { if (isset($rule->label)) { $rule->name = CRM_Civirules_Utils::buildNameFromLabel($rule->label); } } $rule->save(); self::storeValues($rule, $result); return $result; }