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();
}
}
}
