scheduled_publish-8.x-3.9/scheduled_publish.install

scheduled_publish.install
<?php

/**
 * @file
 * Contains scheduled_publish.install.
 */

use Drupal\views\Entity\View;
use Symfony\Component\Yaml\Yaml;

/**
 * Add list view.
 */
function scheduled_publish_update_8400() {
  // Only create if scheduled publish view doesn't exist and views is enabled.
  if (\Drupal::moduleHandler()->moduleExists('views') && !View::load('scheduled_publish')) {
    $config = \Drupal::configFactory()
      ->getEditable('views.view.scheduled_publish');
    $newConfigData = Yaml::parseFile(\Drupal::service('extension.list.module')
      ->getPath('scheduled_publish') . '/config/optional/views.view.scheduled_publish.yml');
    $config->setData($newConfigData)->save();
  }
}

/**
 * Update scheduled publish view header.
 */
function scheduled_publish_update_8401() {
  if (\Drupal::moduleHandler()->moduleExists('views')) {
    $view = View::load('scheduled_publish');
    $display =& $view->getDisplay('default');
    // Get header value, and strip out line breaks to avoid comparison issues.
    $headerValue = preg_replace("/[\n\r]/", '', $display['display_options']['header']['area']['content']['value']);
    // Check that header hasn't been modified since view created.
    if ($headerValue == '<div class="action-links">  <a href="[site:url]/admin/content/scheduled-publish/add" class="button button-action button--primary button--small">Add bulk scheduled publishing entries</a></div>') {
      // Remove header as now applied by controller.
      $display['display_options']['header'] = [];
      $view->save();
    }
  }
}

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

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