/**
  *
  * @param string $ruleId
  * @param RuleCriteriaType $criteriaType
  */
 function buildNewInstance($ruleId, $criteriaType)
 {
     $criteria = parent::buildNewInstance($ruleId, $criteriaType);
     $criteria->interval = 1;
     $criteria->intervalType = TimeUnit::from(TimeUnit::Month);
     return $criteria;
 }
Example #2
0
 /**
  * Given a sql source for gathering rule criteria (target or filter), this
  * method relies on its supplied subtype of RuleCriteriaFactory to parse out
  * instances of RuleCriteria from the sql source (typically rule_filter or
  * rule_target).
  *
  * Returns an array of RuleCriteria subtypes, if they were parsable from the
  * supplied sql source.
  * @param Rule $rule
  * @param RuleCriteriaFactory $factory
  */
 private function gatherCriteria($rule, $stmt, $factory)
 {
     $criterion = array();
     for ($iter = 0; $row = sqlFetchArray($stmt); $iter++) {
         $guid = $row['guid'];
         $method = $row['method'];
         $methodDetail = $row['method_detail'];
         $value = $row['value'];
         $inclusion = $row['include_flag'] == 1;
         $optional = $row['required_flag'] == 1;
         $groupId = $row['group_id'];
         $criteria = $factory->build($rule->id, $guid, $inclusion, $optional, $method, $methodDetail, $value);
         if (is_null($criteria)) {
             // unrecognized critera
             continue;
         }
         if (!is_null($groupId)) {
             $criteria->groupId = $groupId;
         }
         // else
         array_push($criterion, $criteria);
     }
     return $criterion;
 }