return;
}
- require_once dirname(__FILE__) . '/feed/reader.php';
- $this->_feed = Horde_Block_Horde_feed_reader::read(
- $this->_params['uri'],
- $this->_params['interval']
- );
+ $key = md5($this->_params['uri']);
+ $cache = $GLOBALS['injector']->getInstance('Horde_Cache');
+ $feed = $cache->get($key, $this->_params['interval']);
+ if (!empty($feed)) {
+ $this->_feed = unserialize($feed);
+ }
+
+ try {
+ $client = $GLOBALS['injector']
+ ->getInstance('Horde_Http_Client')
+ ->getClient();
+ $feed = Horde_Feed::readUri($this->_params['uri'], $client);
+ $cache->set($key, serialize($feed));
+ $this->_feed = $feed;
+ } catch (Exception $e) {
+ $this->_feed = $e->getMessage();
+ }
}
}
+++ /dev/null
-<?php
-/**
- * PHP 5 specific code for Horde_Block_Horde_feed segregated in a file
- * that isn't included by default to avoid fatal errors on PHP 4.
- *
- * @package Horde_Block
- */
-class Horde_Block_Horde_feed_reader {
-
- public static function read($uri, $interval)
- {
- require_once 'Horde/Autoloader.php';
-
- $key = md5($uri);
-
- $GLOBALS['cache'] = $GLOBALS['injector']->getInstance('Horde_Cache');
-
- $feed = $GLOBALS['cache']->get($key, $interval);
- if (!empty($feed)) {
- return unserialize($feed);
- }
-
- try {
- $client = $GLOBALS['injector']
- ->getInstance('Horde_Http_Client')
- ->getClient();
- $feed = Horde_Feed::readUri($uri, $client);
- $GLOBALS['cache']->set($key, serialize($feed));
- return $feed;
- } catch (Exception $e) {
- return $e->getMessage();
- }
- }
-
-}