Use mtrace function for debugging
[moodle.git] / rss / rsslib.php
index 6e9d56d..b73948f 100644 (file)
@@ -38,11 +38,17 @@ function cron_rss_feeds () {
 
     $status = true;
    
-    echo "    Generating rssfeeds...\n";
+    mtrace("    Generating rssfeeds...");
+
+    //Check for required functions...
+    if(!function_exists('utf8_encode')) {
+        mtrace("        ERROR: You need to add XML support to your PHP installation!");
+        return true;
+    }
 
     if ($allmods = get_records("modules") ) {
         foreach ($allmods as $mod) {
-            echo '        '.$mod->name.': ';
+            mtrace('        '.$mod->name.': ', '');
             $modname = $mod->name;
             $modfile = "$CFG->dirroot/mod/$modname/rsslib.php";
             //If file exists and we have selected to restore that type of module
@@ -51,29 +57,29 @@ function cron_rss_feeds () {
                 $generaterssfeeds = $modname.'_rss_feeds';
                 if (function_exists($generaterssfeeds)) {
                     if ($status) {
-                        echo 'generating ';
+                        mtrace('generating ', '');;
                         $status = $generaterssfeeds();
                         if (!empty($status)) {
-                            echo "...OK\n";
+                            mtrace("...OK");
                         } else {
-                            echo "...FAILED\n";
+                            mtrace("...FAILED");
                         }
                     } else {
-                        echo "...SKIPPED (failed above)\n";
+                        mtrace("...SKIPPED (failed above)");
                     }
                 } else {
-                    echo "...NOT SUPPORTED (function)\n";
+                    mtrace("...NOT SUPPORTED (function)");
                 }
             } else {
-                echo "...NOT SUPPORTED (file)\n";
+                mtrace("...NOT SUPPORTED (file)");
             }
         }
     }
-    echo "    Ending  rssfeeds...";
+    mtrace("    Ending  rssfeeds...", '');
     if (!empty($status)) {
-        echo "...OK\n";
+        mtrace("...OK");
     } else {
-        echo "...FAILED\n";
+        mtrace("...FAILED");
     }
 
     return $status;
@@ -86,15 +92,10 @@ function rss_save_file ($modname,$mod,$result) {
     
     $status = true;
 
-    $basedir = $CFG->dataroot."/rss";
-
-    //Check dataroot/rss exists
-    $status = check_dir_exists($basedir,true);
-
-    $basedir .= "/".$modname;
-
-    //Check dataroot/rrs/$modname exists
-    $status = check_dir_exists($basedir,true);
+    if (! $basedir = make_upload_directory ("rss/".$modname)) {
+        //Cannot be created, so error
+        $status = false;
+    }
 
     if ($status) {
         $file = $basedir .= "/".$mod->id.".xml";
@@ -102,6 +103,8 @@ function rss_save_file ($modname,$mod,$result) {
         if ($rss_file) {
             $status = fwrite ($rss_file,$result);
             fclose($rss_file);
+        } else {
+            $status = false;
         }
     }
     return $status;