<?PHP
/*
RSSLIB 3.0
Bob Zoller (bob@kludgebox.com)
*/

function getrdf($rdf$cachefile$agelimit 30$timeout 10) {

  
// convert agelimit to seconds
  
$agelimit *= 60;
  
$timestamp = @filectime($cachefile);
  
$age time() - $timestamp;
  if(
$age $agelimit) {
    
$url parse_url($rdf);
    
$fp fsockopen($url['host'], "80", &$errno, &$errstr$timeout);
    if (!
$fp) return;  //just quit on error
    
else {
      
$local = @fopen($cachefile"w");
      if (!
$local) return; //just quit on error
      
fputs($fp"GET " $url['path'] . " HTTP/1.1\r\nHost: " $url['host'] . "\r\n\r\n");
      while(!
feof($fp))
        
fwrite($localfgets($fp128));
      
fclose($local);
    }
  }
}
    
function 
makebullet($item) {
    
$font_face "Verdana";
    
$font_color "#000000";
    
$link_color "";
    
$font_size 2;

  
$link ereg_replace(".*<link>","",$item);
  
$link ereg_replace("</link>.*","",$link);
  
$title ereg_replace(".*<title>","",$item);
  
$title ereg_replace("</title>.*","",$title);
  if (
$title)
    echo 
"<font face=\"$font_face\" color=\"$font_color\" size=\"$font_size\"><li></font><a href=\"$link\"><font face=\"$font_face\" color=\"$link_color\" size=\"$font_size\">$title</font></a>\n";
}
 
function 
listrdf($cachefile$maxlinks = -1) {

  
$fp = @fopen($cachefile"r");
  if (!
$fp) return; //just quit on error
  
$pagetext fread($fpfilesize($cachefile));
  
fclose($fp);

  
// kill the crud at the top and bottom
  
$pagetext ereg_replace("<?xml.*/image>","",$pagetext);
  
$pagetext ereg_replace("</rdf.*","",$pagetext);
  
$pagetext chop($pagetext);
 
  
// make an array and walk it, printing out the item
  
$items explode("</item>",$pagetext);

  if ((
$maxlinks == -1) || ($maxlinks sizeof($items)))
    
$maxlinks sizeof($items);
  for (
$i 0$i $maxlinks$i++)
    
makebullet($items[$i]);
}                                                                       


?>