Ejemplo n.º 1
0
 public function addElement(XMLElement $element)
 {
     $name = $element->name();
     $value = $element->value();
     switch ($name) {
         case 'LINK':
             if (!$value) {
                 if ($link = $element->getAttrib('HREF')) {
                     $element->shouldStripTags(true);
                     $element->setValue($link);
                 }
             }
             parent::addElement($element);
             break;
         case 'enclosure':
             $this->enclosure = $element;
             $this->enclosures[] = $element;
             break;
         case 'image':
             $this->images[] = $element;
             break;
         case 'CATEGORY':
             $name = strtolower($name);
             array_push($this->{$name}, $value);
             break;
         case 'PUBDATE':
         case 'DC:DATE':
         case 'PUBLISHED':
         case 'UPDATED':
             if ($value = $element->value()) {
                 try {
                     if ($date = new DateTime($value)) {
                         $this->pubDate = $date;
                     }
                 } catch (Exception $e) {
                 }
             }
             break;
         case 'AUTHOR':
             if ($name = $element->getProperty('name')) {
                 $this->author = $name;
             } else {
                 parent::addElement($element);
             }
             break;
         default:
             parent::addElement($element);
             break;
     }
 }