Commit a01453a7 authored by alexpott's avatar alexpott

Issue #2367747 by Palashvijay4O, andypost, Alienpruts, Cottser,...

Issue #2367747 by Palashvijay4O, andypost, Alienpruts, Cottser, er.pushpinderrana, gaurav.pahuja, pfrenssen, rpayanm, vadim.hirbu: Remove usage of system_rebuild_theme_data()
parent 5a58ba9f
......@@ -236,7 +236,8 @@ function drupal_get_filename($type, $name, $filename = NULL) {
}
}
// If still unknown, retrieve the file list prepared in state by
// system_rebuild_module_data() and system_rebuild_theme_data().
// system_rebuild_module_data() and
// \Drupal\Core\Extension\ThemeHandlerInterface::rebuildThemeData().
if (!isset($files[$type][$name]) && \Drupal::hasService('state')) {
$files[$type] += \Drupal::state()->get('system.' . $type . '.files', array());
}
......
......@@ -62,13 +62,6 @@ function _drupal_maintenance_theme() {
}
}
// Ensure that system.module is loaded.
if (!function_exists('system_rebuild_theme_data')) {
$module_handler = \Drupal::moduleHandler();
$module_handler->addModule('system', 'core/modules/system');
$module_handler->load('system');
}
$themes = \Drupal::service('theme_handler')->listInfo();
// If no themes are installed yet, or if the requested custom theme is not
......
......@@ -44,7 +44,7 @@ function update_check_incompatibility($name, $type = 'module') {
// We need to do a full rebuild here to make sure the database reflects any
// code changes that were made in the filesystem before the update script
// was initiated.
$themes = system_rebuild_theme_data();
$themes = \Drupal::service('theme_handler')->rebuildThemeData();
$modules = system_rebuild_module_data();
}
......
......@@ -76,7 +76,7 @@ public static function canUpdate($project_name) {
public function postInstall() {
// Update the theme info.
clearstatcache();
system_rebuild_theme_data();
\Drupal::service('theme_handler')->rebuildThemeData();
}
/**
......
......@@ -126,7 +126,7 @@ function locale_translation_project_list() {
'interface translation server pattern',
);
$module_data = _locale_translation_prepare_project_list(system_rebuild_module_data(), 'module');
$theme_data = _locale_translation_prepare_project_list(system_rebuild_theme_data(), 'theme');
$theme_data = _locale_translation_prepare_project_list(\Drupal::service('theme_handler')->rebuildThemeData(), 'theme');
$project_info = new ProjectInfo();
$project_info->processInfoList($projects, $module_data, 'module', TRUE, $additional_whitelist);
$project_info->processInfoList($projects, $theme_data, 'theme', TRUE, $additional_whitelist);
......
......@@ -295,7 +295,7 @@ public function testModuleStreamWrappers() {
*/
function testThemeMetaData() {
// Generate the list of available themes.
$themes = system_rebuild_theme_data();
$themes = \Drupal::service('theme_handler')->rebuildThemeData();
// Check that the mtime field exists for the bartik theme.
$this->assertTrue(!empty($themes['bartik']->info['mtime']), 'The bartik.info.yml file modification time field is present.');
// Use 0 if mtime isn't present, to avoid an array index notice.
......
......@@ -849,7 +849,7 @@ function system_check_directory($form_element, FormStateInterface $form_state) {
* array is returned.
*
* @see system_rebuild_module_data()
* @see system_rebuild_theme_data()
* @see \Drupal\Core\Extension\ThemeHandlerInterface::rebuildThemeData()
*/
function system_get_info($type, $name = NULL) {
$info = array();
......
......@@ -293,7 +293,7 @@ function testUpdateHiddenBaseTheme() {
);
$this->config('update_test.settings')->set('system_info', $system_info)->save();
$projects = update_get_projects();
$theme_data = system_rebuild_theme_data();
$theme_data = \Drupal::service('theme_handler')->rebuildThemeData();
$project_info = new ProjectInfo();
$project_info->processInfoList($projects, $theme_data, 'theme', TRUE);
......
......@@ -9,6 +9,7 @@
use Drupal\Core\Config\ConfigFactoryInterface;
use Drupal\Core\DependencyInjection\DependencySerializationTrait;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Extension\ThemeHandlerInterface;
use Drupal\Core\KeyValueStore\KeyValueFactoryInterface;
use Drupal\Core\StringTranslation\TranslationInterface;
use Drupal\Core\StringTranslation\StringTranslationTrait;
......@@ -63,6 +64,13 @@ class UpdateManager implements UpdateManagerInterface {
*/
protected $availableReleasesTempStore;
/**
* The theme handler.
*
* @var \Drupal\Core\Extension\ThemeHandlerInterface
*/
protected $themeHandler;
/**
* Constructs a UpdateManager.
*
......@@ -76,13 +84,16 @@ class UpdateManager implements UpdateManagerInterface {
* The translation service.
* @param \Drupal\Core\KeyValueStore\KeyValueFactoryInterface $key_value_expirable_factory
* The expirable key/value factory.
* @param \Drupal\Core\Extension\ThemeHandlerInterface $theme_handler
* The theme handler.
*/
public function __construct(ConfigFactoryInterface $config_factory, ModuleHandlerInterface $module_handler, UpdateProcessorInterface $update_processor, TranslationInterface $translation, KeyValueFactoryInterface $key_value_expirable_factory) {
public function __construct(ConfigFactoryInterface $config_factory, ModuleHandlerInterface $module_handler, UpdateProcessorInterface $update_processor, TranslationInterface $translation, KeyValueFactoryInterface $key_value_expirable_factory, ThemeHandlerInterface $theme_handler) {
$this->updateSettings = $config_factory->get('update.settings');
$this->moduleHandler = $module_handler;
$this->updateProcessor = $update_processor;
$this->stringTranslation = $translation;
$this->keyValueStore = $key_value_expirable_factory->get('update');
$this->themeHandler = $theme_handler;
$this->availableReleasesTempStore = $key_value_expirable_factory->get('update_available_releases');
$this->projects = array();
}
......@@ -123,7 +134,7 @@ public function getProjects() {
if (empty($this->projects)) {
// Still empty, so we have to rebuild.
$module_data = system_rebuild_module_data();
$theme_data = system_rebuild_theme_data();
$theme_data = $this->themeHandler->rebuildThemeData();
$project_info = new ProjectInfo();
$project_info->processInfoList($this->projects, $module_data, 'module', TRUE);
$project_info->processInfoList($this->projects, $theme_data, 'theme', TRUE);
......
......@@ -6,7 +6,7 @@ services:
- { name: access_check, applies_to: _access_update_manager }
update.manager:
class: Drupal\update\UpdateManager
arguments: ['@config.factory', '@module_handler', '@update.processor', '@string_translation', '@keyvalue.expirable']
arguments: ['@config.factory', '@module_handler', '@update.processor', '@string_translation', '@keyvalue.expirable', '@theme_handler']
update.processor:
class: Drupal\update\UpdateProcessor
arguments: ['@config.factory', '@queue', '@update.fetcher', '@state', '@private_key', '@keyvalue', '@keyvalue.expirable']
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment