Kod:
<?php
define('MAX_ITEMS', 25);
require_once('rss_fetch.inc');
$urls = array(
'nyheter' => 'http://www.mortfiles.se/kundcenter/announcements.xml',
'blog' => 'http://www.mortfiles.se/blog/feed',
'forum' => 'http://www.mortfiles.se/diskussion/index.php?act=rssout&id=5',
'lankar' => 'http://www.mortfiles.se/lankar/rss.php?c=3&s=P&p=1',
'itnyheter' => 'http://www.mortfiles.se/nyheter/rss'
);
$items = array();
// loop thru all urls & merge feeds into master array
foreach ( $urls as $class => $url ) {
$rss = fetch_rss($url);
if (!$rss) continue;
$items = array_merge($items, array($class => $rss->items));
}
// sort all items in array by date
usort($items, 'date_cmp');
// generate ouput array
$out = array();
foreach ($items as $class => $item) {
$href = $item['link'];
$title = $item['title'];
$out[] = '<li><a href="'.$href.'" title="'.$title.'" class="'.$class.'">'.$title.'</a></li>';
}
if (count($out) > MAX_ITEMS)
$out = array_slice($out,0,MAX_ITEMS);
echo ($out)
? "<ul>\n".join("\n",$out)."\n</ul>"
: '';
// sorts feed array based on published date (used with usort)
// -------------------------------------------------------------
function date_cmp($a, $b)
{
$atime = (empty($a['date_timestamp']))
? strtotime($a['dc']['date'])
: $a['date_timestamp'];
$btime = (empty($b['date_timestamp']))
? strtotime($b['dc']['date'])
: $b['date_timestamp'];
if ($atime == $btime)
return 0;
return ($atime > $btime) ? -1 : 1;
}
?>