diff --git a/mod/hotpot/restorelib.php b/mod/hotpot/restorelib.php index 992e570bfa1..44a5bddf5ef 100644 --- a/mod/hotpot/restorelib.php +++ b/mod/hotpot/restorelib.php @@ -108,38 +108,9 @@ function hotpot_restore_mods($mod, $restore) { } // if necessary, adjust HotPot date/time fields and write to restorelog - if (!empty($restore->course_startdateoffset)) { - - // check course backup data directory exists - $course_dir = $CFG->dataroot."/".$restore->course_id."/backupdata"; - check_dir_exists($course_dir, true); - - // open $restorelog and start output for this HotPot - $restorelog = fopen("$course_dir/restorelog.html", "a"); - fwrite ($restorelog, "
Hotpot - ".$xml['NAME'][0]['#']."
"); - - // loop through time fields - $TAGS = array('TIMEOPEN', 'TIMECLOSE', 'TIMECREATED', 'TIMEMODIFIED'); - foreach ($TAGS as $TAG) { - - // check $TAG has a sensible value - if (!empty($xml[$TAG][0]['#']) && is_string($xml[$TAG][0]['#'])) { - - // write old date to $restorelog - $value = $xml[$TAG][0]['#']; - $date = usergetdate($value); - fwrite ($restorelog, "$TAG was ". $date['weekday'].", ".$date['mday']." ".$date['month']." ".$date['year']); - - // write new date to $restorelog - $value += $restore->course_startdateoffset; - $date = usergetdate($value); - fwrite ($restorelog, "   $TAG is now ". $date['weekday'].", ".$date['mday']." ".$date['month']." ".$date['year']."
"); - - // update $value in $xml tree - $xml[$TAG][0]['#'] = $value; - } - } - } + hotpot_restore_dates( + 'Hotpot', $restore, $xml, array('TIMEOPEN', 'TIMECLOSE', 'TIMECREATED', 'TIMEMODIFIED') + ); $status = hotpot_restore_records( $restore, $status, $xml, $table, $foreign_keys, $more_restore @@ -508,4 +479,39 @@ function hotpot_restore_logs($restore, $log) { } // end switch return $status ? $log : false; } +function hotpot_restore_dates($recordtype, &$restore, &$xml, $TAGS, $NAMETAG='NAME') { + if (!empty($restore->course_startdateoffset)) { + + // check course backup data directory exists + $course_dir = $CFG->dataroot."/".$restore->course_id."/backupdata"; + check_dir_exists($course_dir, true); + + // open $restorelog and start output for this HotPot + $restorelog = fopen("$course_dir/restorelog.html", "a"); + fwrite ($restorelog, "
Hotpot - ".$xml['NAME'][0]['#']."
"); + + // loop through time fields + $TAGS = array('TIMEOPEN', 'TIMECLOSE', 'TIMECREATED', 'TIMEMODIFIED'); + foreach ($TAGS as $TAG) { + + // check $TAG has a sensible value + if (!empty($xml[$TAG][0]['#']) && is_string($xml[$TAG][0]['#'])) { + + // write old date to $restorelog + $value = $xml[$TAG][0]['#']; + $date = usergetdate($value); + fwrite ($restorelog, "$TAG was ". $date['weekday'].", ".$date['mday']." ".$date['month']." ".$date['year']); + + // write new date to $restorelog + $value += $restore->course_startdateoffset; + $date = usergetdate($value); + fwrite ($restorelog, "   $TAG is now ". $date['weekday'].", ".$date['mday']." ".$date['month']." ".$date['year']."
"); + + // update $value in $xml tree (as a string) + $xml[$TAG][0]['#'] = "$value"; + } + } + } + } +} ?>