You are here

broken_link.install in Broken Link 8.3

File

broken_link.install
View source
<?php

use Drupal\Core\Field\BaseFieldDefinition;
use Drupal\Core\Field\FieldStorageDefinitionInterface;

/**
 * Adds request query string, http referers, created and updated time broken link properties.
 */
function broken_link_update_8100() {
  $storage_definition = BaseFieldDefinition::create('string')
    ->setLabel(t('Request parameters'))
    ->setDescription(t('Request query string.'))
    ->setCardinality(FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED)
    ->setConstraints([
    'type' => 'varchar',
    'length' => 2000,
  ]);
  \Drupal::entityDefinitionUpdateManager()
    ->installFieldStorageDefinition('query_string', 'broken_link', 'broken_link', $storage_definition);
  $storage_definition = BaseFieldDefinition::create('timestamp')
    ->setLabel(t('First access time'))
    ->setDescription(t('First time this entity was created.'));
  \Drupal::entityDefinitionUpdateManager()
    ->installFieldStorageDefinition('created', 'broken_link', 'broken_link', $storage_definition);
  $storage_definition = BaseFieldDefinition::create('timestamp')
    ->setLabel(t('Last access time'))
    ->setDescription(t('Last time this entity was updated.'));
  \Drupal::entityDefinitionUpdateManager()
    ->installFieldStorageDefinition('updated', 'broken_link', 'broken_link', $storage_definition);
  $storage_definition = BaseFieldDefinition::create('string')
    ->setLabel(t('Referers'))
    ->setCardinality(FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED)
    ->setConstraints([
    'type' => 'varchar',
    'length' => 2000,
  ])
    ->setDescription(t('All http referers for one broken link.'));
  \Drupal::entityDefinitionUpdateManager()
    ->installFieldStorageDefinition('referers', 'broken_link', 'broken_link', $storage_definition);
}

/**
 * Install broken link's admin Action plugin and Views page.
 */
function broken_link_update_8101() {

  // Install default configuration of the module.
  $config_installer = \Drupal::service('config.installer');
  \Drupal::service('config.installer')
    ->installDefaultConfig('module', 'broken_link');
}

/**
 * Update to fix the broken missing handler in the views.
 */
function broken_link_update_8102() {
  $config_factory = \Drupal::configFactory();
  $view = $config_factory
    ->getEditable('views.view.broken_link');
  $save_view = FALSE;
  if ($view
    ->get('display.default.display_options.fields.query_string.field') != 'query_string_value') {
    $view
      ->set('display.default.display_options.fields.query_string.field', 'query_string_value');
    $save_view = TRUE;
  }
  if ($view
    ->get('display.default.display_options.fields.referers.field') != 'referers_value') {
    $view
      ->set('display.default.display_options.fields.referers.field', 'referers_value');
    $save_view = TRUE;
  }
  if ($save_view) {
    $view
      ->save();
  }
}

Functions

Namesort descending Description
broken_link_update_8100 Adds request query string, http referers, created and updated time broken link properties.
broken_link_update_8101 Install broken link's admin Action plugin and Views page.
broken_link_update_8102 Update to fix the broken missing handler in the views.