示例#1
0
 function generate_rss_feed($feed_data)
 {
     $feed_file = $feed_data['path'];
     $feed_pages = $feed_data['pages'];
     $rss_feed = $this->rss_prefix($feed_file, $feed_data);
     if (isset($feed_data['count'])) {
         $feed_pages = array_slice($feed_pages, 0, $feed_data['count']);
     }
     foreach ($feed_pages as $qbk_page) {
         $item_xml = null;
         // TODO: Need a better way to telll when to update an RSS item.
         //       Maybe by tracking qbk_hash?
         if ($qbk_page->description_xml) {
             $item = $this->generate_rss_item($qbk_page->qbk_file, $qbk_page);
             $item['item'] = BoostSiteTools::trim_lines($item['item']);
             $this->rss_items[$qbk_page->qbk_file] = $item;
             BoostState::save($this->rss_items, $this->rss_state_path);
             $rss_feed .= $item['item'];
         } else {
             if (isset($this->rss_items[$qbk_page->qbk_file])) {
                 $rss_feed .= $this->rss_items[$qbk_page->qbk_file]['item'];
             } else {
                 echo "Missing entry for {$qbk_page->qbk_file}\n";
             }
         }
     }
     $rss_feed .= $this->rss_postfix($feed_file, $feed_data);
     $output_file = fopen("{$this->root}/{$feed_file}", 'wb');
     fwrite($output_file, $rss_feed);
     fclose($output_file);
 }
示例#2
0
 function load_boostbook_data($values, $refresh = false)
 {
     $this->title_xml = BoostSiteTools::trim_lines($values['title_xhtml']);
     $this->purpose_xml = BoostSiteTools::trim_lines($values['purpose_xhtml']);
     $this->notice_xml = BoostSiteTools::trim_lines($values['notice_xhtml']);
     $this->notice_url = $values['notice_url'];
     $this->pub_date = $values['pub_date'];
     $this->id = $values['id'];
     if (!$this->id) {
         $this->id = strtolower(preg_replace('@[\\W]@', '_', $this->title_xml));
     }
 }