Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-18469

Restores to an existing course can wipe out the course



    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 1.9.4
    • Fix Version/s: 1.9.6
    • Component/s: Backup
    • Labels:
    • Environment:
      PHP 5.2.8, RedHat, Apache 2, MSSQL database running on IIS
    • Database:
      Microsoft SQL
    • Difficulty:
    • Affected Branches:
    • Fixed Branches:


      Sometimes, when I try to restore a course, and select "Existing course, adding data to it", the restore fails, throwing an error when it tries to restore users. This doesn't happen all the time, but more often than not.

      The more serious issue is that when I try to back to a course after the restore has failed, it is completely wiped out. All the content and blocks were gone – it was just a blank course.

      I tracked down where the problem was, and the restore_execute() in backup/restorelib.php apparently wasn't able to find the XML file in the temp directory that is created from the zip file. For some reason, sometimes (but not always) Moodle loses the session data that stores the name of this directory.

      What I did is to add a check closer to the top of the restore process, so that it can check to see if it can find the XML file before proceeding any further. A diff file is attached with the changes. This doesn't fix the problem, however, of Moodle "forgetting" where it stored the contents of the zip file. It also means that users may have to repeatedly attempt to restore a course for it to actually work.

      I was unable to track down why Moodle is losing some of the $SESSION->restore object's data.




            • Votes:
              4 Vote for this issue
              4 Start watching this issue


              • Created:
                Fix Release Date: