Merge branch 'em_MDL-25944_20_forummail' of git://github.com/skodak/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Fri, 18 Feb 2011 17:42:45 +0000 (18:42 +0100)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Fri, 18 Feb 2011 17:42:45 +0000 (18:42 +0100)
blog/lib.php
lib/modinfolib.php
mod/scorm/db/upgrade.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 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);