/**
  * {@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')));
 }
Example #2
0
 /**
  * {@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));
 }