### Eclipse Workspace Patch 1.0 #P CVS Index: backup/version.php =================================================================== RCS file: /cvsroot/moodle/moodle/backup/version.php,v retrieving revision 1.116 diff -u -r1.116 version.php --- backup/version.php 3 Mar 2008 11:58:26 -0000 1.116 +++ backup/version.php 14 May 2008 01:19:41 -0000 @@ -6,7 +6,7 @@ /// database (backup_version) to determine whether upgrades should /// be performed (see db/backup_*.php) - $backup_version = 2008030300; // The current version is a date (YYYYMMDDXX) + $backup_version = 2008051400; // The current version is a date (YYYYMMDDXX) $backup_release = '2.0 dev'; // User-friendly version number ?> Index: backup/lib.php =================================================================== RCS file: /cvsroot/moodle/moodle/backup/lib.php,v retrieving revision 1.100 diff -u -r1.100 lib.php --- backup/lib.php 1 May 2008 19:59:29 -0000 1.100 +++ backup/lib.php 14 May 2008 01:19:41 -0000 @@ -861,5 +861,18 @@ return $preferences; } +function add_to_backup_log($starttime,$courseid,$message, $backuptype) { + if (!$starttime && $backuptype='scheduledbackup') { + //for some reason when the startime=0 we didn't store anything here for scheduledbackups - not sure why! + } else { + $log->courseid = $courseid; + $log->time = time(); + $log->laststarttime = $starttime; + $log->info = addslashes($message); + $log->backuptype = $backuptype; + insert_record ("backup_log",$log); + } + +} ?> Index: backup/backup_scheduled.php =================================================================== RCS file: /cvsroot/moodle/moodle/backup/backup_scheduled.php,v retrieving revision 1.41 diff -u -r1.41 backup_scheduled.php --- backup/backup_scheduled.php 13 Apr 2008 01:35:13 -0000 1.41 +++ backup/backup_scheduled.php 14 May 2008 01:19:41 -0000 @@ -33,7 +33,7 @@ //for info in backup_logs to unlock status as necessary $timetosee = 1800; //Half an hour looking for activity $timeafter = time() - $timetosee; - $numofrec = count_records_select ("backup_log","time > $timeafter"); + $numofrec = count_records_select ("backup_log","time > $timeafter AND type='scheduledbackup'"); if (!$numofrec) { $timetoseemin = $timetosee/60; mtrace(" No activity in last ".$timetoseemin." minutes. Unlocking status"); @@ -214,49 +214,34 @@ $status = false; mtrace(" Executing backup"); - schedule_backup_log($starttime,$course->id,"Start backup course $course->fullname"); - schedule_backup_log($starttime,$course->id," Phase 1: Checking and counting:"); + add_to_backup_log($starttime,$course->id,"Start backup course $course->fullname", 'scheduledbackup'); + add_to_backup_log($starttime,$course->id," Phase 1: Checking and counting:", 'scheduledbackup'); $preferences = schedule_backup_course_configure($course,$starttime); if ($preferences) { - schedule_backup_log($starttime,$course->id," Phase 2: Executing and copying:"); + add_to_backup_log($starttime,$course->id," Phase 2: Executing and copying:",'scheduledbackup'); $status = schedule_backup_course_execute($preferences,$starttime); } if ($status && $preferences) { //Only if the backup_sche_keep is set if ($preferences->backup_keep) { - schedule_backup_log($starttime,$course->id," Phase 3: Deleting old backup files:"); + add_to_backup_log($starttime,$course->id," Phase 3: Deleting old backup files:",'scheduledbackup'); $status = schedule_backup_course_delete_old_files($preferences,$starttime); } } if ($status && $preferences) { mtrace(" End backup OK"); - schedule_backup_log($starttime,$course->id,"End backup course $course->fullname - OK"); + add_to_backup_log($starttime,$course->id,"End backup course $course->fullname - OK",'scheduledbackup'); } else { mtrace(" End backup with ERROR"); - schedule_backup_log($starttime,$course->id,"End backup course $course->fullname - ERROR!!"); + add_to_backup_log($starttime,$course->id,"End backup course $course->fullname - ERROR!!",'scheduledbackup'); } return $status && $preferences; } -//This function saves to backup_log all the needed process info -//to use it later. NOTE: If $starttime = 0 no info in saved -function schedule_backup_log($starttime,$courseid,$message) { - - if ($starttime) { - $log->courseid = $courseid; - $log->time = time(); - $log->laststarttime = $starttime; - $log->info = addslashes($message); - - insert_record ("backup_log",$log); - } - -} - //This function returns the next future GMT time to execute the course based in the //configuration of the scheduled backups function schedule_backup_next_execution ($backup_course,$backup_config,$now,$timezone) { @@ -302,7 +287,7 @@ $status = true; - schedule_backup_log($starttime,$course->id," checking parameters"); + add_to_backup_log($starttime,$course->id," checking parameters",'scheduledbackup'); //Check the required variable if (empty($course->id)) { @@ -448,7 +433,7 @@ //Calculate various backup preferences if ($status) { - schedule_backup_log($starttime,$course->id," calculating backup name"); + add_to_backup_log($starttime,$course->id," calculating backup name",'scheduledbackup'); //Calculate the backup file name $backup_name = backup_get_zipfile_name($course); @@ -479,7 +464,7 @@ //Calculate necesary info to backup modules if ($status) { - schedule_backup_log($starttime,$course->id," calculating modules data"); + add_to_backup_log($starttime,$course->id," calculating modules data",'scheduledbackup'); if ($allmods = get_records("modules") ) { foreach ($allmods as $mod) { $modname = $mod->name; @@ -494,7 +479,7 @@ $var = "backup_user_info_".$modname; //Call the check function to show more info $modcheckbackup = $modname."_check_backup_mods"; - schedule_backup_log($starttime,$course->id," $modname"); + add_to_backup_log($starttime,$course->id," $modname",'scheduledbackup'); $modcheckbackup($course->id,$$var,$backup_unique_code); } } @@ -504,7 +489,7 @@ //Now calculate the users if ($status) { - schedule_backup_log($starttime,$course->id," calculating users"); + add_to_backup_log($starttime,$course->id," calculating users",'scheduledbackup'); //Decide about include users with messages, based on SITEID if ($preferences->backup_messages && $preferences->backup_course == SITEID) { $include_message_users = true; @@ -523,7 +508,7 @@ //Now calculate the logs if ($status) { if ($preferences->backup_logs) { - schedule_backup_log($starttime,$course->id," calculating logs"); + add_to_backup_log($starttime,$course->id," calculating logs"); log_check_backup($course->id); } } @@ -531,7 +516,7 @@ //Now calculate the userfiles if ($status) { if ($preferences->backup_user_files) { - schedule_backup_log($starttime,$course->id," calculating user files"); + add_to_backup_log($starttime,$course->id," calculating user files",'scheduledbackup'); user_files_check_backup($course->id,$preferences->backup_unique_code); } } @@ -539,7 +524,7 @@ //Now calculate the coursefiles if ($status) { if ($preferences->backup_course_files) { - schedule_backup_log($starttime,$course->id," calculating course files"); + add_to_backup_log($starttime,$course->id," calculating course files",'scheduledbackup'); course_files_check_backup($course->id,$preferences->backup_unique_code); } } @@ -547,7 +532,7 @@ //Now calculate the sitefiles if ($status) { if ($preferences->backup_site_files) { - schedule_backup_log($starttime,$course->id," calculating site files"); + add_to_backup_log($starttime,$course->id," calculating site files",'scheduledbackup'); site_files_check_backup($course->id,$preferences->backup_unique_code); } } @@ -579,22 +564,22 @@ //Check for temp and backup and backup_unique_code directory //Create them as needed - schedule_backup_log($starttime,$preferences->backup_course," checking temp structures"); + add_to_backup_log($starttime,$preferences->backup_course," checking temp structures",'scheduledbackup'); $status = check_and_create_backup_dir($preferences->backup_unique_code); //Empty backup dir if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," cleaning current dir"); + add_to_backup_log($starttime,$preferences->backup_course," cleaning current dir",'scheduledbackup'); $status = clear_backup_dir($preferences->backup_unique_code); } //Create the moodle.xml file if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," creating backup file"); + add_to_backup_log($starttime,$preferences->backup_course," creating backup file",'scheduledbackup'); //Obtain the xml file (create and open) and print prolog information $backup_file = backup_open_xml($preferences->backup_unique_code); //Prints general info about backup to file if ($backup_file) { - schedule_backup_log($starttime,$preferences->backup_course," general info"); + add_to_backup_log($starttime,$preferences->backup_course," general info",'scheduledbackup'); $status = backup_general_info($backup_file,$preferences); } else { $status = false; @@ -607,90 +592,90 @@ //Metacourse information if ($status && $preferences->backup_metacourse) { - schedule_backup_log($starttime,$preferences->backup_course," metacourse info"); + add_to_backup_log($starttime,$preferences->backup_course," metacourse info",'scheduledbackup'); $status = backup_course_metacourse($backup_file,$preferences); } //Block info if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," blocks info"); + add_to_backup_log($starttime,$preferences->backup_course," blocks info",'scheduledbackup'); $status = backup_course_blocks($backup_file,$preferences); } //Section info if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," sections info"); + add_to_backup_log($starttime,$preferences->backup_course," sections info",'scheduledbackup'); $status = backup_course_sections($backup_file,$preferences); } //User info if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," user info"); + add_to_backup_log($starttime,$preferences->backup_course," user info",'scheduledbackup'); $status = backup_user_info($backup_file,$preferences); } //If we have selected to backup messages and we are //doing a SITE backup, let's do it if ($status && $preferences->backup_messages && $preferences->backup_course == SITEID) { - schedule_backup_log($starttime,$preferences->backup_course," messages"); + add_to_backup_log($starttime,$preferences->backup_course," messages",'scheduledbackup'); $status = backup_messages($backup_file,$preferences); } //If we have selected to backup blogs and we are //doing a SITE backup, let's do it if ($status && $preferences->backup_blogs && $preferences->backup_course == SITEID) { - schedule_backup_log($starttime,$preferences->backup_course," blogs"); + add_to_backup_log($starttime,$preferences->backup_course," blogs",'scheduledbackup'); $status = backup_blogs($backup_file,$preferences); } //If we have selected to backup quizzes, backup categories and //questions structure (step 1). See notes on mod/quiz/backuplib.php if ($status and $preferences->mods['quiz']->backup) { - schedule_backup_log($starttime,$preferences->backup_course," categories & questions"); + add_to_backup_log($starttime,$preferences->backup_course," categories & questions",'scheduledbackup'); $status = backup_question_categories($backup_file,$preferences); } //Print logs if selected if ($status) { if ($preferences->backup_logs) { - schedule_backup_log($starttime,$preferences->backup_course," logs"); + add_to_backup_log($starttime,$preferences->backup_course," logs",'scheduledbackup'); $status = backup_log_info($backup_file,$preferences); } } //Print scales info if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," scales"); + add_to_backup_log($starttime,$preferences->backup_course," scales",'scheduledbackup'); $status = backup_scales_info($backup_file,$preferences); } //Print groups info if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," groups"); + add_to_backup_log($starttime,$preferences->backup_course," groups",'scheduledbackup'); $status = backup_groups_info($backup_file,$preferences); } //Print groupings info if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," groupings"); + add_to_backup_log($starttime,$preferences->backup_course," groupings",'scheduledbackup'); $status = backup_groupings_info($backup_file,$preferences); } //Print groupings_groups info if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," groupings_groups"); + add_to_backup_log($starttime,$preferences->backup_course," groupings_groups",'scheduledbackup'); $status = backup_groupings_groups_info($backup_file,$preferences); } //Print events info if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," events"); + add_to_backup_log($starttime,$preferences->backup_course," events",'scheduledbackup'); $status = backup_events_info($backup_file,$preferences); } //Print gradebook info if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," gradebook"); + add_to_backup_log($starttime,$preferences->backup_course," gradebook",'scheduledbackup'); $status = backup_gradebook_info($backup_file,$preferences); } @@ -706,13 +691,13 @@ } //If we have to backup some module if ($mods_to_backup) { - schedule_backup_log($starttime,$preferences->backup_course," modules"); + add_to_backup_log($starttime,$preferences->backup_course," modules",'scheduledbackup'); //Start modules tag $status = backup_modules_start ($backup_file,$preferences); //Iterate over modules and call backup foreach ($preferences->mods as $module) { if ($module->backup and $status) { - schedule_backup_log($starttime,$preferences->backup_course," $module->name"); + add_to_backup_log($starttime,$preferences->backup_course," $module->name",'scheduledbackup'); $status = backup_module($backup_file,$preferences,$module->name); } } @@ -723,7 +708,7 @@ //Backup course format data, if any. if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," course format data"); + add_to_backup_log($starttime,$preferences->backup_course," course format data",'scheduledbackup'); $status = backup_format_data($backup_file,$preferences); } @@ -741,7 +726,7 @@ //Now, if selected, copy user files if ($status) { if ($preferences->backup_user_files) { - schedule_backup_log($starttime,$preferences->backup_course," copying user files"); + add_to_backup_log($starttime,$preferences->backup_course," copying user files",'scheduledbackup'); $status = backup_copy_user_files ($preferences); } } @@ -749,7 +734,7 @@ //Now, if selected, copy course files if ($status) { if ($preferences->backup_course_files) { - schedule_backup_log($starttime,$preferences->backup_course," copying course files"); + add_to_backup_log($starttime,$preferences->backup_course," copying course files",'scheduledbackup'); $status = backup_copy_course_files ($preferences); } } @@ -757,26 +742,26 @@ //Now, if selected, copy site files if ($status) { if ($preferences->backup_site_files) { - schedule_backup_log($starttime,$preferences->backup_course," copying site files"); + add_to_backup_log($starttime,$preferences->backup_course," copying site files",'scheduledbackup'); $status = backup_copy_site_files ($preferences); } } //Now, zip all the backup directory contents if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," zipping files"); + add_to_backup_log($starttime,$preferences->backup_course," zipping files",'scheduledbackup'); $status = backup_zip ($preferences); } //Now, copy the zip file to course directory if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," copying backup"); + add_to_backup_log($starttime,$preferences->backup_course," copying backup",'scheduledbackup'); $status = copy_zip_to_course_dir ($preferences); } //Now, clean temporary data (db and filesystem) if ($status) { - schedule_backup_log($starttime,$preferences->backup_course," cleaning temp data"); + add_to_backup_log($starttime,$preferences->backup_course," cleaning temp data",'scheduledbackup'); $status = clean_temp_data ($preferences); } @@ -803,7 +788,7 @@ } else { $dirtocheck = $CFG->dataroot."/".$preferences->backup_course."/backupdata"; } - schedule_backup_log($starttime,$preferences->backup_course," checking $dirtocheck"); + add_to_backup_log($starttime,$preferences->backup_course," checking $dirtocheck",'scheduledbackup'); if ($CFG->debug > 7) { mtrace(" Keeping backup files in $dirtocheck"); } @@ -824,16 +809,16 @@ //Count matching files $countmatching = count($matchingfiles); - schedule_backup_log($starttime,$preferences->backup_course," found $countmatching backup files"); + add_to_backup_log($starttime,$preferences->backup_course," found $countmatching backup files",'scheduledbackup'); mtrace(" found $countmatching backup files"); if ($preferences->backup_keep < $countmatching) { - schedule_backup_log($starttime,$preferences->backup_course," keep limit ($preferences->backup_keep) reached. Deleting old files"); + add_to_backup_log($starttime,$preferences->backup_course," keep limit ($preferences->backup_keep) reached. Deleting old files",'scheduledbackup'); mtrace(" keep limit ($preferences->backup_keep) reached. Deleting old files"); $filestodelete = $countmatching - $preferences->backup_keep; $filesdeleted = 0; foreach ($matchingfiles as $matchfile) { if ($filesdeleted < $filestodelete) { - schedule_backup_log($starttime,$preferences->backup_course," $matchfile deleted"); + add_to_backup_log($starttime,$preferences->backup_course," $matchfile deleted",'scheduledbackup'); mtrace(" $matchfile deleted"); $filetodelete = $dirtocheck."/".$matchfile; unlink($filetodelete); Index: backup/db/upgrade.php =================================================================== RCS file: /cvsroot/moodle/moodle/backup/db/upgrade.php,v retrieving revision 1.1 diff -u -r1.1 upgrade.php --- backup/db/upgrade.php 26 Oct 2006 15:38:18 -0000 1.1 +++ backup/db/upgrade.php 14 May 2008 01:19:41 -0000 @@ -31,7 +31,14 @@ /// if ($result && $oldversion < YYYYMMDD00) { //New version in version.php /// $result = result of "/lib/ddllib.php" function calls /// } - + if ($result && $oldversion < 2008051400) { // MDL-12037 + /// Define field backuptype to be added to backup_log + $table = new XMLDBTable('backup_log'); + $field = new XMLDBField('backuptype'); + $field->setAttributes(XMLDB_TYPE_CHAR, '50', null, XMLDB_NOTNULL, null, null, null, null, 'info'); + /// Launch add field name + $result = $result && add_field($table, $field); + } return $result; } Index: backup/db/install.xml =================================================================== RCS file: /cvsroot/moodle/moodle/backup/db/install.xml,v retrieving revision 1.4 diff -u -r1.4 install.xml --- backup/db/install.xml 24 Sep 2007 22:10:13 -0000 1.4 +++ backup/db/install.xml 14 May 2008 01:19:41 -0000 @@ -62,7 +62,8 @@ - + +