function RulesEvaluationException::__construct

Constructor.

Parameters

string $msg: The exception message containing placeholder as t().

array $args: Replacement arguments such as for t().

$element: The element of a configuration causing the exception or an array consisting of the element and keys specifying a setting value causing the exception.

int $severity: The RulesLog severity. Defaults to RulesLog::WARN.

File

includes/rules.core.inc, line 2867

Class

RulesEvaluationException
An exception that is thrown during evaluation.

Code

public function __construct($msg, array $args = array(), $element = NULL, $severity = RulesLog::WARN) {
    $this->element = is_array($element) ? array_shift($element) : $element;
    $this->keys = is_array($element) ? $element : array();
    $this->msg = $msg;
    $this->args = $args;
    $this->severity = $severity;
    // If an error happened, run the integrity check on the rules configuration
    // and mark it as dirty if it the check fails.
    if ($severity == RulesLog::ERROR && isset($this->element)) {
        $rules_config = $this->element
            ->root();
        rules_config_update_dirty_flag($rules_config);
        // If we discovered a broken configuration, exclude it in future.
        if ($rules_config->dirty) {
            rules_clear_cache();
        }
    }
    // @todo Fix _drupal_decode_exception() to use __toString() and override it.
    $this->message = t($this->msg, $this->args);
}