コード例 #1
0
ファイル: fn.cms.php プロジェクト: diedsmiling/busenika
function fn_get_rss_feed($data)
{
    if (!empty($data['feed_url'])) {
        $data_key = 'rss_data_cache_' . (isset($data['block_data']['block_id']) ? $data['block_data']['block_id'] : 0);
        Registry::register_cache($data_key, SECONDS_IN_HOUR, CACHE_LEVEL_TIME);
        if (Registry::is_exist($data_key) == false) {
            $limit = !empty($data['max_item']) ? $data['max_item'] : 3;
            static $included;
            if (empty($included)) {
                require DIR_CORE . 'class.rss_reader.php';
                $included = true;
            }
            $rss = new RssReader();
            $rss->loadData($data['feed_url']);
            $rss_items = $rss->getItems();
            if (!empty($rss_items)) {
                $rss_items = array_slice($rss_items, 0, $limit);
                $rss_chanel = $rss->getChannel();
                $rss_data = array(array($rss_items, $rss_chanel['link'], $data['feed_url']));
                Registry::set($data_key, $rss_data);
                return $rss_data;
            }
        } else {
            return Registry::get($data_key);
        }
    }
    return array();
}