36 lines
1.1 KiB
PHP
36 lines
1.1 KiB
PHP
<?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");
|
|
}
|
|
}
|