Merge branch 'MDL-26440_uid' of git://github.com/andyjdavis/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 22 Feb 2011 09:27:38 +0000 (10:27 +0100)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 22 Feb 2011 09:27:38 +0000 (10:27 +0100)
blog/lib.php
lib/modinfolib.php
mod/forum/lib.php
mod/scorm/db/upgrade.php
version.php

index a8bd8f7..1137e8e 100644 (file)
@@ -261,10 +261,16 @@ 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');
+    // 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 can't tell the difference so we leave older posts alone.
+    $sql = "SELECT id, uniquehash
+              FROM {post}
+             WHERE module = 'blog_external'
+                   AND " . $DB->sql_compare_text('content') . " = " . $DB->sql_compare_text(':blogid') . "
+                   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) ) {
index 8785e50..50888fb 100644 (file)
@@ -906,8 +906,8 @@ class cm_info extends stdClass  {
         } else if (!empty($CFG->enablegroupmembersonly) and !empty($this->groupmembersonly)
                 and !has_capability('moodle/site:accessallgroups', $modcontext, $userid)) {
             // If the activity has 'group members only' and you don't have accessallgroups...
-            $groups = $this->modinfo->get_groups();
-            if (empty($this->groups[$this->groupingid])) {
+            $groups = $this->modinfo->get_groups($this->groupingid);
+            if (empty($groups)) {
                 // ...and you don't belong to a group, then set it so you can't see/access it
                 $this->uservisible = false;
             }
index a32d74b..92220f7 100644 (file)
@@ -980,15 +980,15 @@ function forum_cron() {
 function forum_make_mail_text($course, $cm, $forum, $discussion, $post, $userfrom, $userto, $bare = false) {
     global $CFG, $USER;
 
+    $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
+
     if (!isset($userto->viewfullnames[$forum->id])) {
-        $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
         $viewfullnames = has_capability('moodle/site:viewfullnames', $modcontext, $userto->id);
     } else {
         $viewfullnames = $userto->viewfullnames[$forum->id];
     }
 
     if (!isset($userto->canpost[$discussion->id])) {
-        $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
         $canreply = forum_user_can_post($forum, $discussion, $userto, $cm, $course, $modcontext);
     } else {
         $canreply = $userto->canpost[$discussion->id];
@@ -1014,6 +1014,9 @@ function forum_make_mail_text($course, $cm, $forum, $discussion, $post, $userfro
         }
     }
 
+    // add absolute file links
+    $post->message = file_rewrite_pluginfile_urls($post->message, 'pluginfile.php', $modcontext->id, 'mod_forum', 'post', $post->id);
+
     $posttext .= "\n---------------------------------------------------------------------\n";
     $posttext .= format_string($post->subject,true);
     if ($bare) {
@@ -2979,16 +2982,17 @@ function forum_make_mail_post($course, $cm, $forum, $discussion, $post, $userfro
 
     global $CFG, $OUTPUT;
 
+    $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
+
     if (!isset($userto->viewfullnames[$forum->id])) {
-        if (!$cm = get_coursemodule_from_instance('forum', $forum->id, $course->id)) {
-            print_error('invalidcoursemodule');
-        }
-        $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
         $viewfullnames = has_capability('moodle/site:viewfullnames', $modcontext, $userto->id);
     } else {
         $viewfullnames = $userto->viewfullnames[$forum->id];
     }
 
+    // add absolute file links
+    $post->message = file_rewrite_pluginfile_urls($post->message, 'pluginfile.php', $modcontext->id, 'mod_forum', 'post', $post->id);
+
     // format the post body
     $options = new stdClass();
     $options->para = true;
@@ -3020,10 +3024,7 @@ function forum_make_mail_post($course, $cm, $forum, $discussion, $post, $userfro
     if (isset($userfrom->groups)) {
         $groups = $userfrom->groups[$forum->id];
     } else {
-        if (!$cm = get_coursemodule_from_instance('forum', $forum->id, $course->id)) {
-            print_error('invalidcoursemodule');
-        }
-        $group = groups_get_all_groups($course->id, $userfrom->id, $cm->groupingid);
+        $groups = groups_get_all_groups($course->id, $userfrom->id, $cm->groupingid);
     }
 
     if ($groups) {
index 445799f..421b910 100644 (file)
@@ -478,22 +478,24 @@ function xmldb_scorm_upgrade($oldversion) {
         /// scorm savepoint reached
         upgrade_mod_savepoint(true, 2010092400, 'scorm');
     }
-    
+
     if ($oldversion < 2011011400) {
         // Fix scorm in the post table after upgrade from 1.9
         $table = new xmldb_table('scorm');
         $columns = $DB->get_columns('scorm');
 
-        // forcecompleted should be bigint(1) NOT NULL DEFAULT '1'
-        // Fixed in earlier upgrade code
+        // forcecompleted should be int(1) not null default 1
+        // Changing to NOT NULL, let's fill the current nulls with default 1
+        $DB->set_field('scorm', 'forcecompleted', 1, array('forcecompleted' => null));
         $field = new xmldb_field('forcecompleted', XMLDB_TYPE_INTEGER, 1, null, XMLDB_NOTNULL, null, 1, 'maxattempt');
         if ($dbman->field_exists($table, $field)) {
             $dbman->change_field_precision($table, $field);
         }
 
         if (array_key_exists('forcenewattempt', $columns) && empty($columns['forcenewattempt']->not_null)) {
-            // forcenewattempt should be NOT NULL
-            // Fixed in earlier upgrade code
+            // forcenewattempt should be int(1) not null default 0
+            // Changing to NOT NULL, let's fill the current nulls with default 0
+            $DB->set_field('scorm', 'forcenewattempt', 0, array('forcenewattempt' => null));
             $field = new xmldb_field('forcenewattempt', XMLDB_TYPE_INTEGER, 1, null, XMLDB_NOTNULL, null, 0, 'forcecompleted');
             if ($dbman->field_exists($table, $field)) {
                 $dbman->change_field_notnull($table, $field);
@@ -501,8 +503,9 @@ function xmldb_scorm_upgrade($oldversion) {
         }
 
         if (array_key_exists('lastattemptlock', $columns) && empty($columns['lastattemptlock']->not_null)) {
-            // lastattemptlock should be NOT NULL
-            // Fixed in earlier upgrade code
+            // lastattemptlock should be int(1) not null default 0
+            // Changing to NOT NULL, let's fill the current nulls with default 0
+            $DB->set_field('scorm', 'lastattemptlock', 0, array('lastattemptlock' => null));
             $field = new xmldb_field('lastattemptlock', XMLDB_TYPE_INTEGER, 1, null, XMLDB_NOTNULL, null, 0, 'forcenewattempt');
             if ($dbman->field_exists($table, $field)) {
                 $dbman->change_field_notnull($table, $field);
@@ -510,8 +513,9 @@ function xmldb_scorm_upgrade($oldversion) {
         }
 
         if (array_key_exists('displayattemptstatus', $columns) && empty($columns['displayattemptstatus']->not_null)) {
-            // displayattemptstatus should be NOT NULL
-            // Fixed in earlier upgrade code
+            // displayattemptstatus should be int(1) not null default 1
+            // Changing to NOT NULL, let's fill the current nulls with default 1
+            $DB->set_field('scorm', 'displayattemptstatus', 1, array('displayattemptstatus' => null));
             $field = new xmldb_field('displayattemptstatus', XMLDB_TYPE_INTEGER, 1, null, XMLDB_NOTNULL, null, 1, 'lastattemptlock');
             if ($dbman->field_exists($table, $field)) {
                 $dbman->change_field_notnull($table, $field);
@@ -519,8 +523,9 @@ function xmldb_scorm_upgrade($oldversion) {
         }
 
         if (array_key_exists('displaycoursestructure', $columns) && empty($columns['displaycoursestructure']->not_null)) {
-            // displaycoursestructure should be NOT NULL
-            // Fixed in earlier upgrade code
+            // displaycoursestructure should be int(1) not null default 1
+            // Changing to NOT NULL, let's fill the current nulls with default 1
+            $DB->set_field('scorm', 'displaycoursestructure', 1, array('displaycoursestructure' => null));
             $field = new xmldb_field('displaycoursestructure', XMLDB_TYPE_INTEGER, 1, null, XMLDB_NOTNULL, null, 1, 'displayattemptstatus');
             if ($dbman->field_exists($table, $field)) {
                 $dbman->change_field_notnull($table, $field);
index 4e68474..db0c133 100644 (file)
@@ -29,7 +29,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$version = 2011021700.00;  // YYYYMMDD   = date of the last version bump
+$version = 2011022100.00;  // YYYYMMDD   = date of the last version bump
                         //         XX = daily increments
 
-$release = '2.0.1+ (Build: 20110217)';  // Human-friendly version name
+$release = '2.0.2 (Build: 20110221)';  // Human-friendly version name