/**
  * Function to get the data 
  * 
  * @return array $rules
  * @access protected
  */
 protected function getRules()
 {
     $rules = CRM_Civirules_BAO_Rule::getValues(array());
     foreach ($rules as $ruleId => $rule) {
         $rules[$ruleId]['actions'] = $this->setRowActions($rule);
         if (isset($rule['event_id']) && !empty($rule['event_id'])) {
             $rules[$ruleId]['event_label'] = CRM_Civirules_BAO_Event::getEventLabelWithId($rule['event_id']);
         }
         $rules[$ruleId]['created_contact_name'] = CRM_Civirules_Utils::getContactName($rule['created_user_id']);
         $rules[$ruleId]['is_active'] = CRM_Civirules_Utils::formatIsActive($rule['is_active']);
     }
     return $rules;
 }
 /**
  * Function to set default values if action is update
  * 
  * @param array $defaults
  * @access protected
  */
 protected function setUpdateDefaults(&$defaults)
 {
     $ruleData = CRM_Civirules_BAO_Rule::getValues(array('id' => $this->ruleId));
     if (!empty($ruleData) && !empty($this->ruleId)) {
         $defaults['rule_label'] = $ruleData[$this->ruleId]['label'];
         $defaults['rule_is_active'] = $ruleData[$this->ruleId]['is_active'];
         $defaults['rule_created_date'] = date('d-m-Y', strtotime($ruleData[$this->ruleId]['created_date']));
         $defaults['rule_created_contact'] = CRM_Civirules_Utils::getContactName($ruleData[$this->ruleId]['created_user_id']);
         if (!empty($ruleData[$this->ruleId]['trigger_id'])) {
             $defaults['rule_trigger_label'] = CRM_Civirules_BAO_Trigger::getTriggerLabelWithId($ruleData[$this->ruleId]['trigger_id']);
         }
     }
 }
/**
 * CiviRuleRule.Get API
 *
 * @param array $params
 * @return array API result descriptor
 * @see civicrm_api3_create_success
 * @see civicrm_api3_create_error
 * @throws API_Exception
 */
function civicrm_api3_civi_rule_rule_get($params)
{
    $returnValues = CRM_Civirules_BAO_Rule::getValues($params);
    return civicrm_api3_create_success($returnValues, $params, 'CiviRuleRule', 'Get');
}