Now scheduled bakup checks for required XML functions to work.
[moodle.git] / rss / rsslib.php
index 03d06c3..e9d82c5 100644 (file)
@@ -40,6 +40,12 @@ function cron_rss_feeds () {
    
     echo "    Generating rssfeeds...\n";
 
+    //Check for required functions...
+    if(!function_exists('utf8_encode')) {
+        echo "        ERROR: You need to add XML support to your PHP installation!\n";
+        return true;
+    }
+
     if ($allmods = get_records("modules") ) {
         foreach ($allmods as $mod) {
             echo '        '.$mod->name.': ';
@@ -110,7 +116,7 @@ function rss_save_file ($modname,$mod,$result) {
 //This function return all the common headers for every rss feed in the site
 function rss_standard_header($title = NULL, $link = NULL, $description = NULL) {
 
-    global $CFG, $USER;
+    global $CFG, $THEME, $USER;
 
     static $pixpath = '';
 
@@ -181,7 +187,7 @@ function rss_standard_header($title = NULL, $link = NULL, $description = NULL) {
 
 //This function returns the rss XML code for every item passed in the array
 //item->title: The title of the item
-//item->author: The author of the item
+//item->author: The author of the item. Optional !!
 //item->pubdate: The pubdate of the item
 //item->link: The link url of the item
 //item->description: The content of the item
@@ -197,6 +203,10 @@ function rss_add_items($items) {
             $result .= rss_full_tag("title",3,false,$item->title);
             $result .= rss_full_tag("link",3,false,$item->link);
             $result .= rss_full_tag("pubDate",3,false,date("r",$item->pubdate));
+            //Include the author if exists 
+            if (isset($item->author)) {
+                $item->description = get_string("byname","",$item->author)."<p>".$item->description;
+            }
             $result .= rss_full_tag("description",3,false,$item->description);
             $result .= rss_end_tag("item",2,true);