public function register(Fol $app) { $app['middleware'] = function ($app) { $middleware = []; if ($app->has('users')) { $middleware[] = new Middlewares\DigestAuthentication($app['users']); } $middleware[] = new Middlewares\Expires(); $middleware[] = (new Middlewares\ErrorHandler())->catchExceptions()->statusCode(function ($code) { return $code > 400 && $code < 600; })->arguments($app); $middleware[] = new Middlewares\BasePath($app->getUrlPath()); $middleware[] = new Middlewares\TrailingSlash(); $middleware[] = new Middlewares\ContentType(); $middleware[] = new Middlewares\ContentLanguage(['en', 'gl', 'es']); $middleware[] = function ($request, $next) use($app) { $language = $request->getHeaderLine('Accept-Language'); $translator = new Translator(); $translator->loadTranslations(Translations::fromPoFile(dirname(dirname(__DIR__)) . '/locales/' . $language . '.po')); $prev = $translator->register(); $app['templates']->addData(['language' => $language]); $response = $next($request); if ($prev) { $prev->register(); } return $response; }; $middleware[] = (new Middlewares\MethodOverride())->parsedBodyParameter('method-override'); $middleware[] = (new Middlewares\Reader(dirname(dirname(__DIR__)) . '/assets'))->continueOnError(); $middleware[] = (new Middlewares\AuraRouter($app['router']))->arguments($app); return new Dispatcher($middleware); }; }
/** * load_gettext * Sets up our local gettext settings. * * @return void */ function load_gettext() { $lang = AmpConfig::get('lang'); $popath = AmpConfig::get('prefix') . '/locale/' . $lang . '/LC_MESSAGES/messages.po'; $t = new Translator(); if (file_exists($popath)) { $translations = Gettext\Translations::fromPoFile($popath); $t->loadTranslations($translations); } $t->register(); }