Exemple #1
0
 public function getHtml()
 {
     CORELogger::Log('Getting html for ' . get_class($this));
     /*  
         if($this->notEmptyElement()) {
          foreach($this->__children as $child) {
            $child->getHtml();
          }
         }
     */
     /*
      * copiato da CORE_v0.1
      */
     // FIXME: sistemare il codice di getHtml() importato da CORE_v0.1
     $matches = array();
     $pattern = array();
     $attribute = array();
     $html_element = get_class($this);
     $template = CDOMElement::getElementTemplate($html_element);
     $search_attributes = '/%([a-z\\-]+)%/';
     preg_match_all($search_attributes, $template, $matches);
     foreach ($matches[1] as $match => $text) {
         // FIXME: avoid skipping newline
         $pattern[$match] = "/\\s*%{$text}%\\s*/";
         if ($text == 'children' && $this->notEmptyElement()) {
             foreach ($this->__children as $child) {
                 $attribute[$match] .= $child->getHtml();
             }
         } else {
             if ($this->{$text} === NULL) {
                 $attribute[$match] = "";
             } else {
                 // the whitespace at the beginning of the string is needed
                 $attribute[$match] = " {$text}=\"{$this->{$text}}\"";
             }
         }
     }
     $html = preg_replace($pattern, $attribute, $template);
     return $html;
 }