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); } } } }
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); } } } }