diff --git a/core/authorize.php b/core/authorize.php index 505b026..5dd15a0 100644 --- a/core/authorize.php +++ b/core/authorize.php @@ -20,7 +20,9 @@ * @link authorize Authorized operation helper functions @endlink */ +use Drupal\Core\DrupalKernel; use Drupal\Core\Url; +use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Drupal\Core\Site\Settings; use Drupal\Core\Page\DefaultHtmlPageRenderer; @@ -28,7 +30,7 @@ // Change the directory to the Drupal root. chdir('..'); -require_once __DIR__ . '/vendor/autoload.php'; +$autoloader = require_once __DIR__ . '/vendor/autoload.php'; /** * Global flag to identify update.php and authorize.php runs. @@ -53,18 +55,9 @@ function authorize_access_allowed() { return Settings::get('allow_authorize_operations', TRUE) && \Drupal::currentUser()->hasPermission('administer software updates'); } -// *** Real work of the script begins here. *** - -require_once __DIR__ . '/includes/bootstrap.inc'; -require_once __DIR__ . '/includes/common.inc'; -require_once __DIR__ . '/includes/file.inc'; -require_once __DIR__ . '/includes/module.inc'; -require_once __DIR__ . '/includes/ajax.inc'; - -// Prepare a minimal bootstrap. -drupal_bootstrap(DRUPAL_BOOTSTRAP_PAGE_CACHE); -$request = \Drupal::request(); -\Drupal::service('request_stack')->push($request); +$request = Request::createFromGlobals(); +$kernel = DrupalKernel::createFromRequest($request, $autoloader, 'prod'); +$kernel->prepareLegacyRequest($request, FALSE); // We have to enable the user and system modules, even to check access and // display errors via the maintenance theme. diff --git a/core/lib/Drupal/Core/DrupalKernel.php b/core/lib/Drupal/Core/DrupalKernel.php index c014e4a..1257ef2 100644 --- a/core/lib/Drupal/Core/DrupalKernel.php +++ b/core/lib/Drupal/Core/DrupalKernel.php @@ -419,9 +419,11 @@ public function getContainer() { /** * {@inheritdoc} */ - public function preHandle(Request $request) { - // Load all enabled modules. - $this->container->get('module_handler')->loadAll(); + public function preHandle(Request $request, $load_modules = TRUE) { + if ($load_modules) { + // Load all enabled modules. + $this->container->get('module_handler')->loadAll(); + } // Initialize legacy request globals. $this->initializeRequestGlobals($request); @@ -566,9 +568,9 @@ public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = /** * {@inheritdoc} */ - public function prepareLegacyRequest(Request $request) { + public function prepareLegacyRequest(Request $request, $load_modules = TRUE) { $this->boot(); - $this->preHandle($request); + $this->preHandle($request, $load_modules); // Enter the request scope so that current_user service is available for // locale/translation sake. $this->container->get('request_stack')->push($request); diff --git a/core/lib/Drupal/Core/DrupalKernelInterface.php b/core/lib/Drupal/Core/DrupalKernelInterface.php index ca7af2b..cc8e222 100644 --- a/core/lib/Drupal/Core/DrupalKernelInterface.php +++ b/core/lib/Drupal/Core/DrupalKernelInterface.php @@ -100,20 +100,24 @@ public function handlePageCache(Request $request); * * @param \Symfony\Component\HttpFoundation\Request $request * The current request. + * @param bool $load_modules + * Whether or not to load all modules. * * @return $this * * @deprecated 8.x * Only used by legacy front-controller scripts. */ - public function prepareLegacyRequest(Request $request); + public function prepareLegacyRequest(Request $request, $load_modules = TRUE); /** * Helper method that does request related initialization. * * @param \Symfony\Component\HttpFoundation\Request $request * The current request. + * @param bool $load_modules + * Whether or not to load all modules. */ - public function preHandle(Request $request); + public function preHandle(Request $request, $load_modules = TRUE); }