コード例 #1
0
 /**
  * Set the 'title' feed element
  *
  * @access  public
  * @see		http://essfeed.org/index.php/ESS_structure
  *
  * @param   String  value of 'title' feed tag.
  * 					Define the language-sensitive feed title.
  * 					Should not be longer then 128 characters
  *
  * @return  void
  */
 public function setTitle($el = NULL)
 {
     if ($el != NULL) {
         if ($this->controlRoot('title', $el) == FALSE) {
             throw new Exception("Error: '< title >' element is mandatory.");
             return;
         }
         $this->setRootElement('title', $this->REPLACE_ACCENT ? FeedValidator::noAccent($el, $this->CHARSET) : $el);
         // Set a tempory Feed ID from the title
         if (!isset($this->roots['id']) || FeedValidator::isNull($this->roots['id'])) {
             $this->setId($el);
         }
     }
 }
コード例 #2
0
 /**
  * Get feed's items XML content in String format
  *
  * @access   private
  * @return   String
  */
 private function getItems()
 {
     $out = "";
     foreach ($this->items as $item) {
         $thisRoots = $item->getRoots();
         $thisItems = $item->getElements();
         $out .= $this->startFeed();
         if (is_array($thisRoots)) {
             if (count($thisRoots) > 0) {
                 foreach ($thisRoots as $elm => $val) {
                     if ($elm != 'tags' && is_string($val)) {
                         if (strlen($elm) > 0 && strlen($val) > 0) {
                             $out .= $this->t(1) . $this->makeNode($elm, $val);
                         }
                     } else {
                         if (is_array($val)) {
                             if (count($val) > 0) {
                                 $out .= $this->t(3) . "<tags>" . self::LN;
                                 foreach ($val as $tag) {
                                     $out .= $this->t(2) . $this->makeNode('tag', self::REPLACE_ACCENT ? FeedValidator::noAccent($tag, self::CHARSET) : $tag);
                                 }
                                 $out .= $this->t(3) . "</tags>" . self::LN;
                             }
                         }
                     }
                 }
             }
         }
         if (is_array($thisItems)) {
             if (count($thisItems) > 0) {
                 foreach ($thisItems as $key => $val) {
                     if (count($thisItems[$key]) > 0 && strlen($key) > 0) {
                         $out .= $this->t(3) . "<{$key}>" . self::LN;
                         foreach ($val as $position => $feedItem) {
                             $out .= $this->t(4) . "<item type='" . strtolower($feedItem['type']) . "'" . (isset($feedItem['unit']) ? strlen($feedItem['unit']) > 0 ? " unit='" . strtolower($feedItem['unit']) . "'" : '' : '') . (isset($feedItem['mode']) ? strlen($feedItem['mode']) > 0 ? " mode='" . strtolower($feedItem['mode']) . "'" : '' : '') . (isset($feedItem['selected_day']) ? strlen($feedItem['selected_day']) > 0 ? " selected_day='" . strtolower($feedItem['selected_day']) . "'" : '' : '') . (isset($feedItem['selected_week']) ? strlen($feedItem['selected_week']) > 0 ? " selected_week='" . strtolower($feedItem['selected_week']) . "'" : '' : '') . (isset($feedItem['interval']) ? intval($feedItem['interval']) > 1 ? " interval='" . intval($feedItem['interval']) . "'" : '' : '') . (isset($feedItem['limit']) ? intval($feedItem['limit']) > 0 ? " limit='" . intval($feedItem['limit']) . "'" : '' : '') . (isset($feedItem['moving_position']) ? intval($feedItem['moving_position']) > 0 ? " moving_position='" . intval($feedItem['moving_position']) . "'" : '' : '') . (isset($feedItem['priority']) ? intval($feedItem['priority']) > 0 ? " priority='" . intval($feedItem['priority']) . "'" : " priority='" . ($position + 1) . "'" : '') . ">" . self::LN;
                             if ($key == 'prices' && ($feedItem['mode'] == 'free' || $feedItem['mode'] == 'invitation')) {
                                 $out .= $this->t(3) . $this->makeNode('name', $feedItem['content']['name']);
                                 $out .= $this->t(3) . $this->makeNode('value', 0);
                             } else {
                                 foreach ($feedItem['content'] as $elm => $feedElm) {
                                     $out .= $this->t(3) . $this->makeNode($elm, $feedElm);
                                 }
                             }
                             $out .= $this->t(4) . "</item>" . self::LN;
                         }
                         $out .= $this->t(3) . "</{$key}>" . self::LN;
                     }
                 }
             }
         }
         $out .= $this->endFeed();
     }
     return $out;
 }