예제 #1
0
 public static function checkProcessRules($session = null, $cacheConjuncts = true)
 {
     if (!is_null($session)) {
         Notifications::addLog("-- Checking process rules maintained by active roles --", 'RuleEngine');
         foreach ($session->rulesToMaintain as $ruleName) {
             $rule = RuleEngine::getRule($ruleName);
             $violations = RuleEngine::checkRule($rule, $cacheConjuncts);
             foreach ((array) $violations as $violation) {
                 Notifications::addViolation($rule, $violation['src'], $violation['tgt']);
             }
         }
     } else {
         Notifications::addLog("-- Checking ALL process rules --", 'RuleEngine');
         foreach (RuleEngine::getAllProcessRules() as $rule) {
             $violations = RuleEngine::checkRule($rule, $cacheConjuncts);
             foreach ((array) $violations as $violation) {
                 Notifications::addViolation($rule, $violation['src'], $violation['tgt']);
             }
         }
     }
 }