You are here

rules.install in Rules 8.3

Same filename and directory in other branches
  1. 7.2 rules.install

Install, update and uninstall functions for the Rules module.

File

rules.install
View source
<?php

/**
 * @file
 * Install, update and uninstall functions for the Rules module.
 */
use Drupal\rules\Entity\ReactionRuleConfig;
use Drupal\rules\Entity\RulesComponentConfig;

/**
 * Update the "tags" property of Reaction Rules and Rules Components.
 *
 * Rules 8.x-3.0-alpha4 and earlier erroneously set the "tags" property to
 * "array(0 => '')" if there were no tags. The proper value is an empty array,
 * "array()".
 */
function rules_update_8301() {

  // Update Reaction Rules and Rules Components. Rules 8.x-3.0-alpha4 and
  // earlier erroneously sets the "tags" property to "array(0 => '')" if
  // there are no tags. The proper value is an empty array, "array()".
  $ids = \Drupal::entityQuery('rules_reaction_rule')
    ->execute();
  foreach ($ids as $id) {
    $rule = ReactionRuleConfig::load($id);
    $tags = $rule
      ->getTags();
    if ($tags == [
      0 => '',
    ]) {
      $rule
        ->set('tags', []);
      $rule
        ->save();
    }
  }
  $ids = \Drupal::entityQuery('rules_component')
    ->execute();
  foreach ($ids as $id) {
    $rule = RulesComponentConfig::load($id);
    $tags = $rule
      ->getTags();
    if ($tags == [
      0 => '',
    ]) {
      $rule
        ->set('tags', []);
      $rule
        ->save();
    }
  }
}

Functions

Namesort descending Description
rules_update_8301 Update the "tags" property of Reaction Rules and Rules Components.