]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-19676 Replaced magpie with simplepie
authornicolasconnault <nicolasconnault>
Fri, 4 Sep 2009 07:09:45 +0000 (07:09 +0000)
committernicolasconnault <nicolasconnault>
Fri, 4 Sep 2009 07:09:45 +0000 (07:09 +0000)
blog/external.php
blog/external_form.php
blog/lib.php

index 2fa1a3f481ce0ea7517768c4c0bdf3cfa606c2ea..e5cc9e7ae111c2c135c9e5c02b3b3a316b6fa2a2 100644 (file)
@@ -28,7 +28,7 @@
 require_once('../config.php');
 require_once('lib.php');
 require_once('external_form.php');
-require_once($CFG->libdir . '/magpie/rss_fetch.inc');
+require_once($CFG->libdir . '/simplepie/moodle_simplepie.php');
 require_once($CFG->dirroot.'/tag/lib.php');
 
 require_login();
@@ -63,10 +63,11 @@ if ($externalblogform->is_cancelled()){
     //save stuff in db
     switch ($action) {
         case 'add':
-            $rss = fetch_rss($data->url);
+            $rss = new moodle_simplepie($data->url);
+
             $new_external = new stdClass();
-            $new_external->name = (empty($data->name)) ? $rss->channel['title'] : $data->name;
-            $new_external->description = (empty($data->description)) ? $rss->channel['description'] : $data->description;
+            $new_external->name = (empty($data->name)) ? $rss->get_title() : $data->name;
+            $new_external->description = (empty($data->description)) ? $rss->get_description() : $data->description;
             $new_external->userid = $user->id;
             $new_external->url = $data->url;
             $new_external->timemodified = mktime();
@@ -83,10 +84,11 @@ if ($externalblogform->is_cancelled()){
         case 'edit':
             if ($data->id && $DB->record_exists('blog_external', array('id' => $data->id))) {
 
-                $rss = fetch_rss($data->url);
+                $rss = new moodle_simplepie($data->url);
+
                 $external->id = $data->id;
-                $external->name = (empty($data->name)) ? $rss->channel['title'] : $data->name;
-                $external->description = (empty($data->description)) ? $rss->channel['description'] : $data->description;
+                $external->name = (empty($data->name)) ? $rss->get_title() : $data->name;
+                $external->description = (empty($data->description)) ? $rss->get_description() : $data->description;
                 $external->userid = $user->id;
                 $external->url = $data->url;
                 $external->timemodified = mktime();
index c9c69108b77535c8ea213d93da78bae06de2a1ae..9aee49981c30f262f2ec1727cb4576234df29c82 100644 (file)
@@ -70,8 +70,8 @@ class blog_edit_external_form extends moodleform {
         if (!blog_is_valid_url($data['url'])) {
             $errors['url'] = get_string('invalidurl', 'blog');
         } else {
-            $rss = fetch_rss($data['url']);
-            if (empty($rss->channel)) {
+            $rss = new moodle_simplepie($data['url']);
+            if (!$rss->init()) {
                 $errors['url'] = get_string('emptyrssfeed', 'blog');
             }
         }
@@ -89,14 +89,14 @@ class blog_edit_external_form extends moodleform {
         $url = $mform->getElementValue('url');
 
         if (empty($name) || empty($description)) {
-            $rss = fetch_rss($url);
+            $rss = new moodle_simplepie($url);
 
-            if (empty($name) && !empty($rss->channel['title'])) {
-                $mform->setDefault('name', $rss->channel['title']);
+            if (empty($name) && $rss->get_title()) {
+                $mform->setDefault('name', $rss->get_title());
             }
 
-            if (empty($description) && !empty($rss->channel['description'])) {
-                $mform->setDefault('description', $rss->channel['description']);
+            if (empty($description) && $rss->get_description()) {
+                $mform->setDefault('description', $rss->get_description());
             }
         }
 
index afbb3abfa7ee3a123d4000c310e76706f0915bbe..0ff3436a8329ea3bfbb4ca0c217f78b88f12440b 100755 (executable)
@@ -403,32 +403,30 @@ function blog_print_entry($blogEntry, $viewtype='full', $filtertype='', $filters
  */
 function blog_fetch_external_entries($external_blog) {
     global $CFG, $DB;
-    require_once($CFG->libdir . '/magpie/rss_fetch.inc');
+    require_once($CFG->libdir . '/simplepie/moodle_simplepie.php');
 
     if (!blog_is_valid_url($external_blog->url)) {
         return null;
     }
 
-    if (!$rss = fetch_rss($external_blog->url)) {
-        return null;
-    }
+    $rss = new moodle_simplepie($external_blog->url);
 
-    if (empty($rss->channel) || empty($rss->items)) {
+    if (empty($rss->data)) {
         return null;
     }
 
-    foreach ($rss->items as $entry) {
+    foreach ($rss->get_items() as $entry) {
         $params = array('userid' => $external_blog->userid,
                         'module' => 'blog',
-                        'uniquehash' => $entry['link'],
+                        'uniquehash' => $entry->get_permalink(),
                         'publishstate' => 'site',
                         'format' => FORMAT_HTML);
 
         if (!$DB->record_exists('post', $params)) {
-            $params['subject']      = $entry['title'];
-            $params['summary']      = $entry['description'];
-            $params['created']      = $entry['date_timestamp'];
-            $params['lastmodified'] = $entry['date_timestamp'];
+            $params['subject']      = $entry->get_title();
+            $params['summary']      = $entry->get_description();
+            $params['created']      = $entry->get_date('U');
+            $params['lastmodified'] = $entry->get_date('U');
 
             $id = $DB->insert_record('post', $params);
 
@@ -571,7 +569,7 @@ function blog_get_headers() {
         } else {
             $courseid = $site->id;
         }
-        
+
         $PAGE->navbar->add($strparticipants, "$CFG->wwwroot/user/index.php?id=$courseid");
         $PAGE->navbar->add(fullname($user), "$CFG->wwwroot/user/view.php?id=$user->id");
         $PAGE->navbar->add($strblogentries, $blog_url->out());
@@ -647,7 +645,7 @@ function blog_get_headers() {
     // Heading: Blog entries by [group name] about [course fullname]
     if (!empty($groupid) && empty($modid)) {
         $blog_url->param('courseid', $course->id);
-        
+
         $PAGE->navbar->add($strblogentries, $blog_url->out());
         $blog_url->remove_params(array('courseid'));
         $blog_url->param('groupid', $groupid);