From 591e205fb6eebfc032f22af2707e9807addafe4b Mon Sep 17 00:00:00 2001 From: skodak Date: Sat, 16 Aug 2008 18:13:38 +0000 Subject: [PATCH] MDL-15904 oops - fixed assignment upgrade migration --- mod/assignment/db/upgrade.php | 22 ++++++++++--------- .../type/uploadsingle/assignment.class.php | 2 ++ 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/mod/assignment/db/upgrade.php b/mod/assignment/db/upgrade.php index 5e2ce54c18..ebfa5aee4b 100644 --- a/mod/assignment/db/upgrade.php +++ b/mod/assignment/db/upgrade.php @@ -43,17 +43,18 @@ function xmldb_assignment_upgrade($oldversion) { $fs = get_file_storage(); - $sql = "SELECT s.id, s.userid, s.teacher, s.assignment, a.course - FROM {assignment_submissions} s - JOIN {assignment} a ON a.id = s.assignment - ORDER BY a.course, s.assignment"; + $sqlfrom = "FROM {assignment_submissions} s + JOIN {assignment} a ON a.id = s.assignment + JOIN {modules} m ON m.name = 'assignment' + JOIN {course_modules} cm ON (cm.module = m.id AND cm.instance = a.id) + ORDER BY a.course, s.assignment"; - $count = $DB->count_records_sql($sql); + $count = $DB->count_records_sql("SELECT 'x' $sqlfrom"); $lastcourse = 0; $lastassignment = 0; - if ($rs = $DB->get_recordset_sql($sql)) { + if ($rs = $DB->get_recordset_sql("SELECT s.id, s.userid, s.teacher, s.assignment, a.course, cm.id AS cmid $sqlfrom")) { $pbar = new progress_bar('migrateassignmentfiles', 500, true); @@ -63,12 +64,14 @@ function xmldb_assignment_upgrade($oldversion) { foreach ($rs as $submission) { $i++; upgrade_set_timeout(180); // set up timeout, may also abort execution + $pbar->update($i, $count, "Migrating assignment submissions - $i/$count."); + $basepath = "$CFG->dataroot/$submission->course/$CFG->moddata/assignment/$submission->assignment/$submission->userid/"; if (!file_exists($basepath)) { //no files continue; } - $context = get_context_instance(CONTEXT_MODULE, $submission->assignment); + $context = get_context_instance(CONTEXT_MODULE, $submission->cmid); // migrate submitted files first $path = $basepath; @@ -120,10 +123,10 @@ function xmldb_assignment_upgrade($oldversion) { } } unset($items); //release file handles - @rmdir("$CFG->dataroot/$submission->course/$CFG->moddata/assignment/$submission->assignment/$submission->userid/responses/"); + @rmdir("$CFG->dataroot/$submission->course/$CFG->moddata/assignment/$submission->assignment/$submission->userid/responses"); } - @rmdir("$CFG->dataroot/$submission->course/$CFG->moddata/assignment/$submission->assignment/$submission->userid/"); + @rmdir("$CFG->dataroot/$submission->course/$CFG->moddata/assignment/$submission->assignment/$submission->userid"); if ($lastassignment and $lastassignment != $submission->assignment) { @rmdir("$CFG->dataroot/$lastcourse/$CFG->moddata/assignment/$lastassignment"); @@ -137,7 +140,6 @@ function xmldb_assignment_upgrade($oldversion) { $lastsubmission = $submission->assignment; $lastcourse = $submission->course; - $pbar->update($i, $count, "Migrated assignment submissions - $i/$count."); } $DB->set_debug($olddebug); // reset debug level $rs->close(); diff --git a/mod/assignment/type/uploadsingle/assignment.class.php b/mod/assignment/type/uploadsingle/assignment.class.php index a9b85151d9..6fc81ef3a1 100644 --- a/mod/assignment/type/uploadsingle/assignment.class.php +++ b/mod/assignment/type/uploadsingle/assignment.class.php @@ -13,6 +13,8 @@ class assignment_uploadsingle extends assignment_base { $fs = get_file_storage(); $browser = get_file_browser(); + $output = ''; + if ($files = $fs->get_area_files($this->context->id, 'assignment_submission', $userid, "timemodified", false)) { foreach ($files as $file) { -- 2.39.5