From e14de6f9798cc26c47ee17238a8622cb441cb2a8 Mon Sep 17 00:00:00 2001 From: nicolasconnault Date: Fri, 4 Sep 2009 07:09:45 +0000 Subject: [PATCH] MDL-19676 Replaced magpie with simplepie --- blog/external.php | 16 +++++++++------- blog/external_form.php | 14 +++++++------- blog/lib.php | 24 +++++++++++------------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/blog/external.php b/blog/external.php index 2fa1a3f481..e5cc9e7ae1 100644 --- a/blog/external.php +++ b/blog/external.php @@ -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(); diff --git a/blog/external_form.php b/blog/external_form.php index c9c69108b7..9aee49981c 100644 --- a/blog/external_form.php +++ b/blog/external_form.php @@ -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()); } } diff --git a/blog/lib.php b/blog/lib.php index afbb3abfa7..0ff3436a83 100755 --- a/blog/lib.php +++ b/blog/lib.php @@ -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); -- 2.39.5