lastrss.php

Go to the documentation of this file.
00001 <?PHP
00008 $modules_names[] = "RSS Reader";
00009 $mopules_versions[] = "0.3";
00010 $modules_descriptions[] = "Reads properly formatted RSS files (no setup required)";
00011 
00012 $modules_setup[] = "modulesetup_lastrss";
00013 
00014 $modules[] = "parse_lastrss";
00015 
00016 $page_help["&#92;readrss(txt1)"] = "This will show the items in the rss feed defined by txt1";
00017 
00018 // Usergroup defaults {
00019 $usergroups_global_default["modules_lastrss_view"] = true;
00020 // Usergroup defaults }
00021 
00022 require_once "$module_folder/lastrss/lastRSS.php";
00023 
00024 function parse_lastrss($page_data) {
00025         // Create lastRSS object
00026         $rss = new lastRSS;
00027 
00028         // Set cache dir and cache time limit (1200 seconds)
00029         // (don't forget to chmod cahce dir to 777 to allow writing)
00030         $rss->cache_dir = './lastrss/temp';
00031         $rss->cache_time = 1200;
00032 
00033         while (true) {
00034                 $begpos = strpos($page_data, "\\readrss("); //where does the first feed begin
00035                 if ($begpos === false) break; //all feeds have been parsed, no need to check more
00036                 $endpos = strpos($page_data, ")", $begpos + 8); //feed end
00037 
00038                 $url = substr( $page_data, $begpos + 9, ($endpos - $begpos) - 9);
00039                 $rssfeed = "";
00040 
00041                 // Try to load and parse RSS file
00042                 if ($rs = $rss->get($url)) {
00043                         // Show website logo (if presented)
00044                         if ($rs[image_url] != '') {
00045                                 $rssfeed .= "<a href=\"$rs[image_link]\"><img src=\"$rs[image_url]\" alt=\"$rs[image_title]\" border=\"0\" /></a><br />\n";
00046                         }
00047                         
00048                         // Show clickable website title
00049                         // $rssfeed .= "<big><b><a href=\"$rs[link]\">$rs[title]</a></b></big><br />\n";
00050                         // Show website description
00051                         // $rssfeed .= "$rs[description]<br />\n";
00052                         
00053                         // Show last published articles (title, link, description)
00054                         $rssfeed .= "<ul class=\"wikilist\">\n";
00055                         if (is_array($rs['items'])) {
00056                                 foreach($rs['items'] as $item) {
00057                                         $rssfeed .= "\t<li class=\"wikilist\"><a href=\"$item[link]\">".$item['title']."</a><br />".$item['description']."</li>\n";
00058                                 }
00059                         } else {
00060                                 $rssfeed .= "\t<li class=\"wikilist\"><p class=\"comment\">No news items...</p></li>\n";
00061                         }
00062                         $rssfeed .= "</ul>\n";
00063                 } else {
00064                         $rssfeed .= "Error: It's not possible to reach RSS file...\n";
00065                 }
00066                 $rssfeed .= "<div class=\"comment\" style=\"font-size: 9px; text-align: right;\">RSS Reader by<br /><a class=\"comment\" href=\"http://lastrss.oslab.net/\" target=\"_blank\">lastRSS</a></div>\n";
00067                 $page_data = str_replace("\\readrss($url)", $rssfeed, $page_data);
00068         }
00069         return $page_data;
00070 }
00071 
00072 function modulesetup_lastrss() {
00073         return "<div>The RSS Reader module does not need setting up. To use, type the following into your page, replacing url with the url to your RSS feed:</div><hr /><div>\\readrss(url)</div>";
00074 }
00075 
00076 ?>

Generated on Sun Oct 26 20:33:13 2008 for The Travelsized Content Management System by  doxygen 1.5.5