Esempio n. 1
0
 /**
  * Update feed
  * 
  * @param string $feed feed url to update
  */
 public function update($feed = null)
 {
     $this->_init();
     require_once 'Ifphp/models/Feeds.php';
     $feeds = new Feeds();
     if ($feed) {
         $feed = $feeds->getBySiteUrl($feed);
         if (!$feed) {
             return;
         } else {
             $this->updateFeed($feed);
         }
     } else {
         $tfeeds = $feeds->fetchAll($feeds->select());
         if ($this->_registry->getRequest()->isPretend()) {
             echo 'This would update ' . $tfeeds->count() . ' feeds';
             exit;
         }
         foreach ($tfeeds as $feed) {
             $this->updateFeed($feed);
         }
     }
 }
Esempio n. 2
0
    $log->info("Failed opening or creating index in {$indexpath}");
    $log->info($e->getMessage());
    echo "Unable to open or create index: {$e->getMessage()}";
    exit(1);
}
$log->info('Crawler loads db');
// load DB configuration
$config = new Zend_Config_Ini('../config/zportal.ini', 'database');
Zend_Registry::set('config', $config);
// create DB connection
$db = Zend_DB::factory($config->adapter, $config->params->toArray());
/* @var $db Zend_DB_Adapter_Abstract */
// Store database handler as default adapter
Zend_Db_Table_Abstract::setDefaultAdapter($db);
$table = new Feeds();
$list = $table->fetchAll();
$targets = 0;
foreach ($list as $item) {
    if ($item->type != 'feed') {
        continue;
    }
    $log->info("Fetched " . $item->url);
    $xml = file_get_contents($item->url);
    if (!$xml) {
        $log->info("Error fetching " . $item->url);
        continue;
    }
    // in case the update frequency is not specified, set a default of 5 minutes
    $date = new Zend_Date();
    $item->updated = $date->get(Zend_Date::W3C);
    // write to file
Esempio n. 3
0
 /**
  * @todo Remove when done
  */
 public function fixAction()
 {
     $posts = new Posts();
     $tposts = $posts->fetchAll($posts->select()->where('id > 0'));
     $defaultFilterChain = new Zend_Filter();
     $defaultFilterChain->addFilter(new Ifphp_Filter_XSSClean());
     $defaultFilterChain->addFilter(new Zend_Filter_StringTrim());
     $defaultFilterChain->addFilter(new Zend_Filter_StripTags());
     $defaultFilterChain->addFilter(new Zend_Filter_HtmlEntities(array('quotestyle' => ENT_QUOTES, 'charset' => 'UTF-8')));
     $defaultFilterChain->addFilter(new Ifphp_Filter_HtmlEntityNames());
     foreach ($tposts as $post) {
         $post->title = $defaultFilterChain->filter($post->title);
         $post->description = $defaultFilterChain->filter($post->description);
         $post->feedId = $defaultFilterChain->filter($post->feedId);
         $post->link = $defaultFilterChain->filter($post->link);
         $post->publishDate = $post->publishDate;
         //            Zend_Debug::dump($post->description);
         $post->save();
     }
     $feeds = new Feeds();
     $tfeeds = $feeds->fetchAll($feeds->select()->where('id > 0'));
     $inflector = new Zend_Filter_Inflector(':title');
     $inflector->setRules(array(':title' => array('Word_SeparatorToDash', 'StringToLower', 'HtmlEntities')));
     foreach ($tfeeds as $feed) {
         $feed->title = $defaultFilterChain->filter($feed->title);
         $feed->description = $defaultFilterChain->filter($feed->description);
         $feed->slug = $inflector->filter(array('title' => $feed->title));
         $feed->save();
     }
     die;
 }