64 lines
2.1 KiB
PHP
64 lines
2.1 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* @package Joomla.Site
|
||
|
*
|
||
|
* @copyright (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
|
||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||
|
*/
|
||
|
|
||
|
defined('_JEXEC') or die;
|
||
|
|
||
|
// Saves the start time and memory usage.
|
||
|
$startTime = microtime(1);
|
||
|
$startMem = memory_get_usage();
|
||
|
|
||
|
if (file_exists(dirname(__DIR__) . '/defines.php'))
|
||
|
{
|
||
|
include_once dirname(__DIR__) . '/defines.php';
|
||
|
}
|
||
|
|
||
|
if (!defined('_JDEFINES'))
|
||
|
{
|
||
|
define('JPATH_BASE', dirname(__DIR__));
|
||
|
require_once JPATH_BASE . '/includes/defines.php';
|
||
|
}
|
||
|
|
||
|
// Check for presence of vendor dependencies not included in the git repository
|
||
|
if (!file_exists(JPATH_LIBRARIES . '/vendor/autoload.php') || !is_dir(JPATH_ROOT . '/media/vendor'))
|
||
|
{
|
||
|
echo file_get_contents(JPATH_ROOT . '/templates/system/build_incomplete.html');
|
||
|
|
||
|
exit;
|
||
|
}
|
||
|
|
||
|
require_once JPATH_BASE . '/includes/framework.php';
|
||
|
|
||
|
// Set profiler start time and memory usage and mark afterLoad in the profiler.
|
||
|
JDEBUG && \Joomla\CMS\Profiler\Profiler::getInstance('Application')->setStart($startTime, $startMem)->mark('afterLoad');
|
||
|
|
||
|
// Boot the DI container
|
||
|
$container = \Joomla\CMS\Factory::getContainer();
|
||
|
|
||
|
/*
|
||
|
* Alias the session service keys to the web session service as that is the primary session backend for this application
|
||
|
*
|
||
|
* In addition to aliasing "common" service keys, we also create aliases for the PHP classes to ensure autowiring objects
|
||
|
* is supported. This includes aliases for aliased class names, and the keys for aliased class names should be considered
|
||
|
* deprecated to be removed when the class name alias is removed as well.
|
||
|
*/
|
||
|
$container->alias('session.web', 'session.web.site')
|
||
|
->alias('session', 'session.web.site')
|
||
|
->alias('JSession', 'session.web.site')
|
||
|
->alias(\Joomla\CMS\Session\Session::class, 'session.web.site')
|
||
|
->alias(\Joomla\Session\Session::class, 'session.web.site')
|
||
|
->alias(\Joomla\Session\SessionInterface::class, 'session.web.site');
|
||
|
|
||
|
// Instantiate the application.
|
||
|
$app = $container->get(\Joomla\CMS\Application\SiteApplication::class);
|
||
|
|
||
|
// Set the application as global app
|
||
|
\Joomla\CMS\Factory::$application = $app;
|
||
|
|
||
|
// Execute the application.
|
||
|
$app->execute();
|