You are here

public function RulesPlugin::integrityCheck in Rules 7.2

Makes sure the plugin is configured right.

"Configured right" means all needed variables are available in the element's scope and dependent modules are enabled.

Return value

$this

Throws

RulesIntegrityException In case of a failed integrity check, a RulesIntegrityException exception is thrown.

2 calls to RulesPlugin::integrityCheck()
RulesAbstractPlugin::integrityCheck in includes/rules.core.inc
Makes sure the plugin is configured right.
RulesContainerPlugin::integrityCheck in includes/rules.core.inc
2 methods override RulesPlugin::integrityCheck()
RulesAbstractPlugin::integrityCheck in includes/rules.core.inc
Makes sure the plugin is configured right.
RulesContainerPlugin::integrityCheck in includes/rules.core.inc

File

includes/rules.core.inc, line 880
Rules base classes and interfaces needed for any rule evaluation.

Class

RulesPlugin
Base class for rules plugins.

Code

public function integrityCheck() {

  // First process the settings if not done yet.
  $this
    ->processSettings();

  // Check dependencies using the pre-calculated dependencies stored in
  // $this->dependencies. Fail back to calculation them on the fly, e.g.
  // during creation.
  $dependencies = empty($this->dependencies) ? $this
    ->dependencies() : $this->dependencies;
  foreach ($dependencies as $module) {
    if (!module_exists($module)) {
      throw new RulesDependencyException(t('Missing required module %name.', array(
        '%name' => $module,
      )));
    }
  }

  // Check the parameter settings.
  $this
    ->checkParameterSettings();

  // Check variable names for provided variables to be valid.
  foreach ($this
    ->pluginProvidesVariables() as $name => $info) {
    if (isset($this->settings[$name . ':var'])) {
      $this
        ->checkVarName($this->settings[$name . ':var']);
    }
  }
  return $this;
}