MDL-26010 External blog synchronization removes non-relevant post records
authorAndrew Davis <andrew@moodle.com>
Wed, 2 Feb 2011 07:02:48 +0000 (15:02 +0800)
committerDavid Mudrak <david@moodle.com>
Fri, 18 Feb 2011 16:19:41 +0000 (17:19 +0100)
blog/lib.php

index a8bd8f7..0b28249 100644 (file)
@@ -264,7 +264,9 @@ function blog_sync_external_entries($externalblog) {
     //Look at the posts we have in the database to check if any of them have been deleted from the feed.
     //Only checking posts within the time frame returned by the rss feed. Older items may have been deleted or
     //may just not be returned anymore. We cant tell the difference so we leave older posts alone.
-    $dbposts = $DB->get_records_select('post', 'created > :ts', array('ts' => $oldesttimestamp), '', 'id, uniquehash');
+    $sql = "SELECT id, uniquehash FROM {post} WHERE ".$DB->sql_compare_text('content')." = :blogid AND module = 'blog_external' AND created > :ts";
+    $dbposts = $DB->get_records_sql($sql, array('blogid' => $externalblog->id, 'ts' => $oldesttimestamp));
+
     $todelete = array();
     foreach($dbposts as $dbpost) {
         if ( !in_array($dbpost->uniquehash, $uniquehashes) ) {