// // SSI: // // // Feel free to modify the code and e-mail me fixes as you see // them fit... // */ // Customize as you like it $cache_file = "/tmp/freshmeat.net.cache"; $max_items = 10; $link_prefix = "  o "; $link_postfix = "
\n"; $cache_time = 3600; $target = "_top"; // The code display($cache_file); $error_reporting = error_reporting(0); renew($cache_file, $max_items, $link_prefix, $link_postfix, $cache_time, $target); error_reporting($error_reporting); function display($cache_file) { include($cache_file); } function renew($cache_file, $max_items, $link_prefix, $link_postfix, $cache_time, $target) { // The Backend file $backend = "http://freshmeat.net/backend/fm.rdf"; // Setup cache variables $time = split(" ", microtime()); srand((double)microtime()*1000000); $cache_time_rnd = 300 - rand(0, 600); $items = 0; if ( (!(file_exists($cache_file))) || ((filectime($cache_file) + $cache_time - $time[1]) + $cache_time_rnd < 0) || (!(filesize($cache_file))) ) { $fpread = fopen($backend, 'r'); $fpwrite = fopen($cache_file, 'w'); while((!feof($fpread)) && ($items < $max_items)) { $buffer = ltrim(Chop(fgets($fpread, 256))); if ($buffer == "") { list($title, $url) = parsebuffer($fpread); fputs($fpwrite, "$link_prefix$title$link_postfix"); $items++; } } fclose($fpread); fclose($fpwrite); } } function parsebuffer($fpread) { $title = ltrim(Chop(fgets($fpread, 256))); $url = ltrim(Chop(fgets($fpread, 256))); $title = ereg_replace( "", "", $title ); $title = ereg_replace( "", "", $title ); $url = ereg_replace( "", "", $url ); $url = ereg_replace( "", "", $url ); return array ($title, $url); }