/** * {@inheritdoc} */ public function register(Application $app) { $app->register(new SilexTwigServiceProvider(), ['twig.path' => $app->templatesPath(), 'twig.options' => ['debug' => !$app->isProduction(), 'cache' => $app->config('cache.enabled') ? $app->cacheTwigPath() : false]]); /* @var Twig_Environment $twig */ $twig = $app['twig']; $twig->addGlobal('current_page', function () use($app) { return $app['request']->getRequestUri(); }); $twig->addGlobal('cfp_open', strtotime('now') < strtotime($app->config('application.enddate') . ' 11:59 PM')); if (!$app->isProduction()) { $twig->addExtension(new Twig_Extension_Debug()); } $twig->addFunction(new Twig_SimpleFunction('uploads', function ($path) { return '/uploads/' . $path; })); $twig->addFunction(new Twig_SimpleFunction('assets', function ($path) { return '/assets/' . $path; })); $twig->addGlobal('site', $app->config('application')); // Twig Markdown Extension $markdown = new Ciconia(); $markdown->addExtension(new InlineStyleExtension()); $markdown->addExtension(new WhiteSpaceExtension()); $engine = new CiconiaEngine($markdown); $twig->addExtension(new MarkdownExtension($engine)); $twig->addGlobal('talkHelper', new TalkHelper($app->config('talk.categories'), $app->config('talk.levels'), $app->config('talk.types'))); }
/** * {@inheritdoc} */ public function register(Application $app) { $app->register(new SilexTwigServiceProvider(), ['twig.path' => $app->templatesPath(), 'twig.options' => ['debug' => !$app->isProduction(), 'cache' => $app->config('cache.enabled') ? $app->cacheTwigPath() : false]]); if (!$app->isProduction()) { $app['twig']->addExtension(new Twig_Extension_Debug()); } $app['twig']->addFunction(new Twig_SimpleFunction('uploads', function ($path) { return '/uploads/' . $path; })); $app['twig']->addFunction(new Twig_SimpleFunction('assets', function ($path) { return '/assets/' . $path; })); $app['twig']->addGlobal('site', $app->config('application')); // Twig Markdown Extension $markdown = new Ciconia(); $markdown->addExtension(new InlineStyleExtension()); $markdown->addExtension(new WhiteSpaceExtension()); $engine = new CiconiaEngine($markdown); $app['twig']->addExtension(new MarkdownExtension($engine)); }
/** * {@inheritdoc} */ public function register(Application $app) { $app->register(new SilexTwigServiceProvider(), ['twig.path' => $app->templatesPath(), 'twig.options' => ['debug' => !$app->isProduction(), 'cache' => $app->config('cache.enabled') ? $app->cacheTwigPath() : false]]); if ($app->isProduction()) { $app->error(function (\Exception $e, $code) use($app) { switch ($code) { case 401: $message = $app['twig']->render('error/401.twig'); break; case 403: $message = $app['twig']->render('error/403.twig'); break; case 404: $message = $app['twig']->render('error/404.twig'); break; default: $message = $app['twig']->render('error/500.twig'); } return new Response($message, $code); }); } else { $app['twig']->addExtension(new Twig_Extension_Debug()); } $app['twig']->addFunction(new Twig_SimpleFunction('uploads', function ($path) { return '/uploads/' . $path; })); $app['twig']->addFunction(new Twig_SimpleFunction('assets', function ($path) { return '/assets/' . $path; })); $app['twig']->addGlobal('site', $app->config('application')); // Twig Markdown Extension $markdown = new Ciconia(); $markdown->addExtension(new InlineStyleExtension()); $markdown->addExtension(new WhiteSpaceExtension()); $engine = new CiconiaEngine($markdown); $app['twig']->addExtension(new MarkdownExtension($engine)); }