protected function _updateTemplate()
 {
     $vars = array('nadpis', 'obsah', 'ma_obsah', 'nema_obsah', 'neni_aktivni');
     foreach ($vars as $varname) {
         ${$varname} = $this->_index->{$varname};
     }
     foreach ($nadpis as $elem) {
         $elem->text = $this->title;
     }
     $neni_aktivni_val = !$this->mactive;
     $ma_obsah_val = $this->mactive && $this->content !== '';
     // direct content is always considered non-empty
     $nema_obsah_val = $this->mactive && $this->content === '';
     foreach ($ma_obsah as $elem) {
         $elem->active = $ma_obsah_val;
     }
     foreach ($nema_obsah as $elem) {
         $elem->active = $nema_obsah_val;
     }
     foreach ($neni_aktivni as $elem) {
         $elem->active = $neni_aktivni_val;
     }
     if (!empty($obsah)) {
         if ($this->content instanceof HTML_Element) {
             Images_JS_Support::updateHTML($this->images, $this->content);
             foreach ($obsah as $elem) {
                 $elem->add($this->content, false);
             }
         } else {
             /*
              * NOTE:
              * This could be realized using HTML_Builder library, but only if html contents of individual modules is precompiled
              * in Administrative application during the save operation. (compilation just in time would not be efficient, althought
              * even that is possible with change detection just in time to avoid repetitive compilations)
              *
              * NOTE:
              * However such solution could lead to exceptions caused by non-valid xhtml content in these modules, and that would
              * have to be resolved somehow. Probably by an alternative way of filtering these modules, such as current way using
              * regexp replacement.
              */
             $content_elem = new HTML_Text(Images_JS_Support::updateHTMLRaw($this->images, $this->content));
             $content_elem->raw = true;
             foreach ($obsah as $elem) {
                 $elem->add($content_elem);
             }
         }
     }
 }
Exemplo n.º 2
0
 protected function updateNewsDetailTemplate()
 {
     $vars = array('je_novinka', 'neni_novinka', 'nadpis', 'obsah', 'datum', 'autor', 'autor_jako_link');
     foreach ($vars as $varname) {
         ${$varname} = $this->_index->{$varname};
     }
     foreach ($je_novinka as $elem) {
         $elem->active = !empty($this->_items);
     }
     foreach ($neni_novinka as $elem) {
         $elem->active = empty($this->_items);
     }
     if (!empty($this->_items)) {
         $item =& $this->_items[0];
         foreach ($nadpis as $elem) {
             $elem->text = $item->Name;
         }
         if (!empty($obsah)) {
             $content = $item->Content !== '' ? $item->Content : $item->Sample;
             $content_elem = new HTML_Text(Images_JS_Support::updateHTMLRaw($this->images, $content));
             $content_elem->raw = true;
             foreach ($obsah as $elem) {
                 $elem->add($content_elem);
             }
         }
         foreach ($datum as $elem) {
             try {
                 $elem->vo->timestamp = $item->When;
             } catch (HTML_No_Such_Element_Attribute_Exception $e) {
                 $datum_spec = null;
                 try {
                     $datum_spec = $elem->specification;
                 } catch (HTML_No_Such_Element_Attribute_Exception $e) {
                 }
                 $datetime = new Date_Time($item->When);
                 $elem->add(new HTML_Text($datetime->format($datum_spec === null ? 'j.n. Y' : $datum_spec)));
             }
         }
         foreach ($autor as $elem) {
             $elem->text = $item->Author;
         }
         if (!empty($autor_jako_link)) {
             $autor_jako_link->clear();
             $a = new HTML_A();
             $a->href = 'http://' . $item->Author;
             $a->add(new HTML_Text($item->Author));
             foreach ($autor_jako_link as $elem) {
                 $elem->add($a);
             }
         }
     }
 }