Exemplo n.º 1
0
 /**
  * Return all rules from database
  *
  * @param $crit array of criteria (at least, 'field' and 'value')
  *
  * @return array of Rule objects
  **/
 function getRulesForCriteria($crit)
 {
     global $DB;
     $rules = array();
     /// TODO : not working for SLALevels : no sub_type
     //Get all the rules whose sub_type is $sub_type and entity is $ID
     $query = "SELECT `" . $this->getTable() . "`.`id`\n                FROM `" . getTableForItemType($this->ruleactionclass) . "`,\n                     `" . $this->getTable() . "`\n                WHERE `" . getTableForItemType($this->ruleactionclass) . "`." . $this->rules_id_field . "\n                           = `" . $this->getTable() . "`.`id`\n                      AND `" . $this->getTable() . "`.`sub_type` = '" . get_class($this) . "'";
     foreach ($crit as $field => $value) {
         $query .= " AND `" . getTableForItemType($this->ruleactionclass) . "`.`{$field}` = '{$value}'";
     }
     foreach ($DB->request($query) as $rule) {
         $affect_rule = new Rule();
         $affect_rule->getRuleWithCriteriasAndActions($rule["id"], 0, 1);
         $rules[] = $affect_rule;
     }
     return $rules;
 }
Exemplo n.º 2
0
 /**
  * Return all rules from database
  *
  * @param $crit array of criteria (at least, 'field' and 'value')
  *
  * @return array of Rule objects
  **/
 function getRulesForCriteria($crit)
 {
     global $DB;
     $rules = array();
     //Get all the rules whose sub_type is $sub_type and entity is $ID
     $query = "SELECT `glpi_rules`.`id`\n                FROM `glpi_ruleactions`,\n                     `glpi_rules`\n                WHERE `glpi_ruleactions`." . $this->rules_id_field . " = `glpi_rules`.`id`\n                      AND `glpi_rules`.`sub_type` = '" . get_class($this) . "'";
     foreach ($crit as $field => $value) {
         $query .= " AND `glpi_ruleactions`.`{$field}` = '{$value}'";
     }
     foreach ($DB->request($query) as $rule) {
         $affect_rule = new Rule();
         $affect_rule->getRuleWithCriteriasAndActions($rule["id"], 0, 1);
         $rules[] = $affect_rule;
     }
     return $rules;
 }