MDL-21432 backup - proper fallback of user if missing orig one
authorEloy Lafuente <stronk7@moodle.org>
Sun, 5 Sep 2010 15:42:11 +0000 (15:42 +0000)
committerEloy Lafuente <stronk7@moodle.org>
Sun, 5 Sep 2010 15:42:11 +0000 (15:42 +0000)
backup/moodle2/restore_stepslib.php
backup/util/dbops/restore_dbops.class.php

index 38f3bd6..b049f03 100644 (file)
@@ -514,7 +514,7 @@ class restore_create_included_users extends restore_execution_step {
 
     protected function define_execution() {
 
-        restore_dbops::create_included_users($this->get_basepath(), $this->get_restoreid(), $this->get_setting_value('user_files'));
+        restore_dbops::create_included_users($this->get_basepath(), $this->get_restoreid(), $this->get_setting_value('user_files'), $this->task->get_userid());
     }
 }
 
index c068b8f..c087fde 100644 (file)
@@ -246,7 +246,7 @@ abstract class restore_dbops {
             throw new restore_dbops_exception('unknown_context_mapping', $oldcontextid);
         }
 
-        // Important: remember how files have been loaded to backup_ids_temp
+        // Important: remember how files have been loaded to backup_files_temp
         //   - info: contains the whole original object (times, names...)
         //   (all them being original ids as loaded from xml)
 
@@ -329,7 +329,7 @@ abstract class restore_dbops {
      * ready to be created. Also, annotate their newids
      * once created for later reference
      */
-    public static function create_included_users($basepath, $restoreid, $userfiles) {
+    public static function create_included_users($basepath, $restoreid, $userfiles, $userid) {
         global $CFG, $DB;
 
         $authcache = array(); // Cache to get some bits from authentication plugins
@@ -465,10 +465,10 @@ abstract class restore_dbops {
             }
 
             // Create user files in pool (profile, icon, private) by context
-            restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'icon', $recuser->parentitemid);
-            restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'profile', $recuser->parentitemid);
+            restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'icon', $recuser->parentitemid, $userid);
+            restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'profile', $recuser->parentitemid, $userid);
             if ($userfiles) { // private files only if enabled in settings
-                restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'private', $recuser->parentitemid);
+                restore_dbops::send_files_to_pool($basepath, $restoreid, 'user', 'private', $recuser->parentitemid, $userid);
             }
 
         }