You are here

function simple_sitemap_update_8212 in Simple XML sitemap 8.3

Same name and namespace in other branches
  1. 4.x simple_sitemap.install \simple_sitemap_update_8212()

Changing storage data type of 'index' and 'include_images' from integer to boolean.

File

./simple_sitemap.install, line 541
Module install and update procedures.

Code

function simple_sitemap_update_8212() {

  // Update existing bundle settings.
  $config_factory = \Drupal::service('config.factory');
  $all_bundle_settings = $config_factory
    ->listAll('simple_sitemap.bundle_settings.');
  foreach ($all_bundle_settings as $bundle_settings) {
    $config = $config_factory
      ->get($bundle_settings)
      ->get();
    $config['include_images'] = isset($config['include_images']) ? (bool) $config['include_images'] : FALSE;
    $config['index'] = isset($config['index']) ? (bool) $config['index'] : FALSE;
    $config_factory
      ->getEditable($bundle_settings)
      ->setData($config)
      ->save();
  }

  // Update existing entity override data.
  $results = \Drupal::database()
    ->select('simple_sitemap_entity_overrides', 'o')
    ->fields('o', [
    'id',
    'inclusion_settings',
  ])
    ->execute()
    ->fetchAll(\PDO::FETCH_OBJ);
  foreach ($results as $row) {
    $settings = unserialize($row->inclusion_settings);
    if (isset($settings['index'])) {
      $settings['index'] = (bool) $settings['index'];
    }
    if (isset($settings['include_images'])) {
      $settings['include_images'] = (bool) $settings['include_images'];
    }
    \Drupal::database()
      ->update('simple_sitemap_entity_overrides')
      ->fields([
      'inclusion_settings' => serialize($settings),
    ])
      ->condition('id', $row->id)
      ->execute();
  }
}