dblog.post_update.php

Same filename and directory in other branches
  1. 9 core/modules/dblog/dblog.post_update.php
  2. 10 core/modules/dblog/dblog.post_update.php
  3. 11.x core/modules/dblog/dblog.post_update.php

Post update functions for the Database Logging module.

File

core/modules/dblog/dblog.post_update.php

View source
<?php


/**
 * @file
 * Post update functions for the Database Logging module.
 */
use Drupal\Core\Config\FileStorage;
use Drupal\Core\Config\InstallStorage;
use Drupal\views\Entity\View;

/**
 * Replace 'Recent log messages' with a view.
 */
function dblog_post_update_convert_recent_messages_to_view() {
    // Only create if the views module is enabled and the watchdog view doesn't
    // exist.
    if (\Drupal::moduleHandler()->moduleExists('views')) {
        if (!View::load('watchdog')) {
            // Save the watchdog view to config.
            $module_handler = \Drupal::moduleHandler();
            $optional_install_path = $module_handler->getModule('dblog')
                ->getPath() . '/' . InstallStorage::CONFIG_OPTIONAL_DIRECTORY;
            $storage = new FileStorage($optional_install_path);
            \Drupal::entityTypeManager()->getStorage('view')
                ->create($storage->read('views.view.watchdog'))
                ->save();
            return t('The watchdog view has been created.');
        }
        return t("The watchdog view already exists and was not replaced. To replace the 'Recent log messages' with a view, rename the watchdog view and uninstall and install the 'Database Log' module");
    }
}

Functions

Title Deprecated Summary
dblog_post_update_convert_recent_messages_to_view Replace 'Recent log messages' with a view.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.