ercore-8.x-1.20/ercore.install

ercore.install
<?php

/**
 * @file
 * The ERCore install file.
 */

use Drupal\node\Entity\Node;

/**
 * ERCore install file sets variables.
 */
function ercore_install() {
  \Drupal::service('config.factory')->getEditable('ercore.settings')
    ->set('ercore_epscor_start', '2018-03-08')
    ->set('ercore_epscor_end', '2023-03-08')
    ->set('ercore_reporting_month', '03')
    ->set('ercore_grant_type', '5')
    ->set('ercore_grant_extension', '0')
    ->save();

  $features = [
    'ercore_institution',
    'ercore_component',
    'ercore_program',
    'ercore_core',
    'ercore_event',
    'ercore_collaboration',
    'ercore_j_highlight',
    'ercore_j_honor',
    'ercore_other_product',
    'ercore_patent',
    'ercore_presentation',
    'ercore_proposal',
    'ercore_publication',
    'ercore_summary_views',
  ];
  foreach ($features as $feature) {
    \Drupal::service('config_import.features_importer')
      ->import($feature);
  }
}

/**
 * ERCore uninstall file sets variables and modules.
 */
function ercore_uninstall() {
  \Drupal::configFactory()->getEditable('ercore.settings')->delete();
}

/**
 * Updating config to add new tokens (beta23).
 */
function ercore_update_8001() {
  if (!\Drupal::moduleHandler()->moduleExists('field_token_value')) {
    \Drupal::service('module_installer')->install(['field_token_value']);
  }

  // Re-import ERCore modules.\ to update config.
  \Drupal::service('config.installer')->installDefaultConfig('module', 'ercore_institution');
  \Drupal::service('config.installer')->installDefaultConfig('module', 'ercore_component');
  \Drupal::service('config.installer')->installDefaultConfig('module', 'ercore_program');
  \Drupal::service('config.installer')->installDefaultConfig('module', 'ercore_event');
  \Drupal::service('config.installer')->installDefaultConfig('module', 'ercore_collaboration');
  \Drupal::service('config.installer')->installDefaultConfig('module', 'ercore_j_highlight');
  \Drupal::service('config.installer')->installDefaultConfig('module', 'ercore_j_honor');
  \Drupal::service('config.installer')->installDefaultConfig('module', 'ercore_other_product');
  \Drupal::service('config.installer')->installDefaultConfig('module', 'ercore_patent');
  \Drupal::service('config.installer')->installDefaultConfig('module', 'ercore_presentation');
  \Drupal::service('config.installer')->installDefaultConfig('module', 'ercore_proposal');
  \Drupal::service('config.installer')->installDefaultConfig('module', 'ercore_publication');
  \Drupal::service('config.installer')->installDefaultConfig('module', 'ercore_summary_views');

  $types = [
    'ercore_collaboration',
    'ercore_event',
    'ercore_j_highlight',
    'ercore_j_honor',
    'ercore_other_product',
    'ercore_patent',
    'ercore_presentation',
    'ercore_proposal',
    'ercore_publication',
  ];
  foreach ($types as $type) {
    $nids = \Drupal::entityQuery('node')
      ->condition('status', 1)
      ->condition('type', $type)
      ->execute();
    $nodes = Node::loadMultiple($nids);
    foreach ($nodes as $node) {
      $value = ercore_token_get_institutions($node->get('field_ercore_organizer')
        ->getValue());
      $node->set('field_ercore_related_institution', $value, FALSE);
      $node->save();
    }
  }
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc