X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=index.php;h=87778308a5713a0b7846f511c73b2d346b613e2c;hb=ce06f7d783b6f5cb09887bb3dec0744d740661a0;hp=7a6e26b42e02f6fdce75c77d3fbc0e23c79cf322;hpb=d5a473abdaa019b6b3747ef6ee15c6202cec839b;p=friendica.git diff --git a/index.php b/index.php index 7a6e26b42e..87778308a5 100644 --- a/index.php +++ b/index.php @@ -1,11 +1,28 @@ . + * */ use Dice\Dice; +$start_time = microtime(true); + if (!file_exists(__DIR__ . '/vendor/autoload.php')) { die('Vendor path not found. Please execute "bin/composer.phar --no-dev install" on the command line in the web root.'); } @@ -13,16 +30,27 @@ if (!file_exists(__DIR__ . '/vendor/autoload.php')) { require __DIR__ . '/vendor/autoload.php'; $dice = (new Dice())->addRules(include __DIR__ . '/static/dependencies.config.php'); +/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */ +$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class); +$dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies')); $dice = $dice->addRule(Friendica\App\Mode::class, ['call' => [['determineRunMode', [false, $_SERVER], Dice::CHAIN_CALL]]]); \Friendica\DI::init($dice); +\Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class)); + $a = \Friendica\DI::app(); +\Friendica\DI::mode()->setExecutor(\Friendica\App\Mode::INDEX); + $a->runFrontend( - $dice->create(\Friendica\App\Module::class), $dice->create(\Friendica\App\Router::class), - $dice->create(\Friendica\Core\PConfig\IPConfig::class), - $dice->create(\Friendica\App\Authentication::class), - $dice->create(\Friendica\App\Page::class) + $dice->create(\Friendica\Core\PConfig\Capability\IManagePersonalConfigValues::class), + $dice->create(\Friendica\Security\Authentication::class), + $dice->create(\Friendica\App\Page::class), + $dice->create(\Friendica\Content\Nav::class), + $dice->create(Friendica\Module\Special\HTTPException::class), + new \Friendica\Util\HTTPInputData($_SERVER), + $start_time, + $_SERVER );