Exemplo n.º 1
0
 private function display_tal(midgardmvc_core_request $request, $content, array $data)
 {
     $tal = new PHPTAL($request->get_template_identifier());
     $tal->setPhpCodeDestination($this->midgardmvc->cache->template->get_cache_directory());
     $tal->uimessages = false;
     if ($this->midgardmvc->configuration->enable_uimessages) {
         if ($this->midgardmvc->uimessages->has_messages() && $this->midgardmvc->uimessages->can_view()) {
             $tal->uimessages = $this->midgardmvc->uimessages->render();
         }
     }
     $tal->midgardmvc = $this->midgardmvc;
     $tal->request = $request;
     // FIXME: Remove this once Qaiku has upgraded
     $tal->MIDCOM = $this->midgardmvc;
     foreach ($data as $key => $value) {
         $tal->{$key} = $value;
     }
     $tal->setSource($content);
     $translator =& $this->midgardmvc->i18n->set_translation_domain($request->get_component()->name);
     $tal->setTranslator($translator);
     try {
         $content = $tal->execute();
     } catch (PHPTAL_TemplateException $e) {
         throw new midgardmvc_exception("PHPTAL: {$e->srcFile} line {$e->srcLine}: " . $e->getMessage());
     }
     return $content;
 }