/**
  * Detect if the response has media field in her content,
  * and add css, js and templates for mustaches.
  *
  * @param FilterResponseEvent $event
  *
  * @return FilterResponseEvent
  */
 public function addContent(FilterResponseEvent $event)
 {
     if (HttpKernel::MASTER_REQUEST != $event->getRequestType()) {
         return;
     }
     $response = $event->getResponse();
     $content = $response->getContent();
     if (strpos($content, 'data-apoutchika-media="') !== false) {
         $js = array();
         // Include libs
         $libs = array('jquery', 'jqueryui', 'underscore', 'backbone', 'backbonejjrelational', 'mustache', 'dropzone', 'jcrop');
         foreach ($libs as $lib) {
             if ($this->include[$lib] === true) {
                 $js[] = 'bundles/apoutchikamedia/js/libs/' . $lib . '.js';
             }
         }
         // Include apps
         $apps = array('init', 'models', 'collections', 'viewAdd', 'viewEditor', 'viewField', 'viewList', 'router', 'app');
         foreach ($apps as $app) {
             $js[] = 'bundles/apoutchikamedia/js/' . $app . '.js';
         }
         $content_js = '';
         foreach ($js as $n) {
             $content_js .= '<script src="';
             $content_js .= $this->assetsHelper->getUrl($n);
             $content_js .= '" type="text/javascript"></script>';
         }
         $css = array();
         $css[] = $this->css !== null ? $this->css : 'bundles/apoutchikamedia/css/main.css';
         if ($this->include['jcrop'] === true) {
             $css[] = 'bundles/apoutchikamedia/css/jcrop.css';
         }
         $content_css = '';
         foreach ($css as $n) {
             $content_css .= '<link rel="stylesheet" type="text/css"  href="';
             $content_css .= $this->assetsHelper->getUrl($n);
             $content_css .= '" />';
         }
         $html = $this->templating->render('ApoutchikaMediaBundle:Media:media.html.twig');
         $content = preg_replace('#</head>#', $content_css . '</head>', $content);
         $content = preg_replace('#</body>#', $html . $content_js . '</body>', $content);
         $response->setContent($content);
         $event->setResponse($response);
     }
 }
 /**
  * Sets a helper.
  *
  * @param HelperInterface $value The helper instance
  * @param string          $alias An alias
  */
 public function set(HelperInterface $helper, $alias = null)
 {
     $this->helpers[$helper->getName()] = $helper;
     if (null !== $alias) {
         $this->helpers[$alias] = $helper;
     }
     $helper->setCharset($this->charset);
 }