Changeset 15015

Show
Ignore:
Timestamp:
07/02/08 00:48:18 (5 years ago)
Author:
ha1t
Message:

BM_Feedに対応

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • websites/planet.php.gr.jp/trunk/app/action_cli/Crawler.php

    r15014 r15015  
    8282    function crawlRSS() 
    8383    { 
    84         require_once 'XML/Feed/Parser.php'; 
     84        require_once 'BM_Feed.php'; 
    8585 
    8686        $DB = $this->backend->getDB(); 
     
    9393 
    9494            try { 
    95                 $feed = new XML_Feed_Parser(file_get_contents($rss['rss_url'])); 
    96             } catch(XML_Feed_Parser_Exception $e) { 
     95                $bmf = new BM_Feed($rss['rss_url']); 
     96                $bmf->parse(); 
     97            } catch(Exception $e) { 
    9798                print('Feed invalid: ' . $e->getMessage()); 
    9899            } 
    99100 
    100             foreach($feed as $entry){ 
     101            foreach($bmf->getItems() as $entry){ 
    101102 
    102                 if (is_string($allow_category) && ($entry->category !== false) && (strtoupper($entry->category) != $allow_category)) { 
    103                     print("Parge:{$entry->category}\n"); 
     103                if (is_string($allow_category) && isset($entry['category']) && (strtoupper($entry['category']) != $allow_category)) { 
     104                    print("Parge:{$entry['category']}\n"); 
    104105                    continue; 
    105106                } 
    106107 
    107                 $item['title'] = $entry->title; 
    108                 if ($entry->date !== false) { 
    109                     $item['date'] = date('Y-m-d H:i:s', $entry->date); 
    110                 } else { 
    111                     $item['date'] = date('Y-m-d H:i:s', $entry->pubdate); 
    112                 } 
    113                 $item['link'] = $entry->link; 
    114                 if ($entry->description !== false) { 
    115                     $item['description'] = $entry->description; 
    116                 } else { 
    117                     $item['description'] = $entry->content; 
    118                 } 
     108                $item['title'] = $entry['title']; 
     109                $item['date'] = date('Y-m-d H:i:s', $entry['pubdate']); 
     110                $item['link'] = $entry['url']; 
     111                $item['description'] = $entry['description']; 
    119112 
    120                 if ( !$DB->existsEntryFromLink($item['link']) ) { 
     113                if (!$DB->existsEntryFromLink($item['link'])) { 
    121114                    $DB->setEntry($rss['id'], $item); 
    122115                } else {