* Friendica
*/
-use Friendica\App;
-use Friendica\Core\Config;
-use Friendica\Factory;
-use Friendica\Util\BasePath;
+use Dice\Dice;
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.');
require __DIR__ . '/vendor/autoload.php';
-$basedir = BasePath::create(__DIR__);
-$configLoader = new Config\ConfigCacheLoader($basedir);
-$config = Factory\ConfigFactory::createCache($configLoader);
-$logger = Factory\LoggerFactory::create('index', $config);
+$dice = (new Dice())->addRules(include __DIR__ . '/static/dependencies.config.php');
+$dice = $dice->addRule(Friendica\App\Mode::class, ['call' => [['determineRunMode', [false, $_SERVER], Dice::CHAIN_CALL]]]);
-// We assume that the index.php is called by a frontend process
-// The value is set to "true" by default in App
-$a = new App($config, $logger, false);
+\Friendica\DI::init($dice);
-$a->runFrontend();
+$a = \Friendica\DI::app();
+
+$a->runFrontend(
+ $dice->create(\Friendica\App\Module::class),
+ $dice->create(\Friendica\App\Router::class),
+ $dice->create(\Friendica\Core\Config\IPConfiguration::class),
+ $dice->create(\Friendica\App\Authentication::class),
+ $dice->create(\Friendica\App\Page::class)
+);