// View $container['view'] = function ($c) { $view = new \Slim\Views\Twig($c['settings']['view']['template_path'], $c['settings']['view']['twig']); // Add extensions // echo "uri: ".$c['request']->getUri(); $view->addExtension(new Slim\Views\TwigExtension($c['router'], $c['request']->getUri())); $view->addExtension(new Twig_Extension_Debug()); // $view->addExtension(new MVC4Slim\TwigExtension($c['flash'])); $view->addExtension(new TwigExtension($c['flash'])); return $view; }; // CSRF guard $container['csrf'] = function ($c) { $guard = new \Slim\Csrf\Guard(); $guard->setFailureCallable(function ($request, $response, $next) { $request = $request->withAttribute("csrf_status", false); return $next($request, $response); }); return $guard; }; // Flash messages $container['flash'] = function ($c) { return new \Slim\Flash\Messages(); }; // controller $container['Bookshelf\\Controllers\\AuthorController'] = function ($c) { return new Bookshelf\Controllers\AuthorController($c); }; $container['Bookshelf\\Controllers\\BookController'] = function ($c) { return new Bookshelf\Controllers\BookController($c); }; $container['phpview'] = function ($c) {
$settings = $c->get('settings'); $tema = $config['tema']; $view = new Slim\Views\Twig($settings['view']['template_path'] . DS . $tema, $settings['view']['twig']); // Add extensions $view->addExtension(new Slim\Views\TwigExtension($c->get('router'), $c->get('request')->getUri())); $view->addExtension(new Twig_Extension_Debug()); $view->addExtension(new TranslationExtension($c->get('translator'))); $config = $c->get('config'); $view->getEnvironment()->addGlobal('config', $config); return $view; }; // CSRF Guard $container['csrf'] = function ($c) { $guard = new Slim\Csrf\Guard(); $guard->setFailureCallable(function ($request, $response, $next) { $newResponse = $response->withHeader('Content-type', 'application/json'); return $newResponse->write(json_encode(['status' => false, 'msg' => 'CSRF Failed. Reload page.'])); }); return $guard; }; // ----------------------------------------------------------------------------- // Service factories // ----------------------------------------------------------------------------- // monolog $container['logger'] = function ($c) { $settings = $c->get('settings'); $path = $settings['logger']['path']; $y = date('Y'); $m = date('m'); $d = date('d'); if (!file_exists($path . DS . $y)) { mkdir($path . DS . $y);