/** * 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; }
/** * 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; }