Merge branch 'wip-mdl-30466' of git://github.com/rajeshtaneja/moodle
This commit is contained in:
@@ -2425,8 +2425,6 @@ class restore_module_structure_step extends restore_structure_step {
|
||||
* - Activity includes completion info (file_exists)
|
||||
*/
|
||||
class restore_userscompletion_structure_step extends restore_structure_step {
|
||||
private $done = array();
|
||||
|
||||
/**
|
||||
* To conditionally decide if this step must be executed
|
||||
* Note the "settings" conditions are evaluated in the
|
||||
@@ -2470,15 +2468,14 @@ class restore_userscompletion_structure_step extends restore_structure_step {
|
||||
$data->userid = $this->get_mappingid('user', $data->userid);
|
||||
$data->timemodified = $this->apply_date_offset($data->timemodified);
|
||||
|
||||
// Find the existing record
|
||||
$existing = $DB->get_record('course_modules_completion', array(
|
||||
'coursemoduleid' => $data->coursemoduleid,
|
||||
'userid' => $data->userid), 'id, timemodified');
|
||||
// Check we didn't already insert one for this cmid and userid
|
||||
// (there aren't supposed to be duplicates in that field, but
|
||||
// it was possible until MDL-28021 was fixed).
|
||||
$key = $data->coursemoduleid . ',' . $data->userid;
|
||||
if (array_key_exists($key, $this->done)) {
|
||||
// Find the existing record
|
||||
$existing = $DB->get_record('course_modules_completion', array(
|
||||
'coursemoduleid' => $data->coursemoduleid,
|
||||
'userid' => $data->userid), 'id, timemodified');
|
||||
if ($existing) {
|
||||
// Update it to these new values, but only if the time is newer
|
||||
if ($existing->timemodified < $data->timemodified) {
|
||||
$data->id = $existing->id;
|
||||
@@ -2487,8 +2484,6 @@ class restore_userscompletion_structure_step extends restore_structure_step {
|
||||
} else {
|
||||
// Normal entry where it doesn't exist already
|
||||
$DB->insert_record('course_modules_completion', $data);
|
||||
// Remember this entry
|
||||
$this->done[$key] = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2496,7 +2491,6 @@ class restore_userscompletion_structure_step extends restore_structure_step {
|
||||
// This gets called once per activity (according to my testing).
|
||||
// Clearing the array isn't strictly required, but avoids using
|
||||
// unnecessary memory.
|
||||
$this->done = array();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user