Skip to content

Commit

Permalink
MDL-14679 towards /backup conversion
Browse files Browse the repository at this point in the history
  • Loading branch information
skodak committed Jun 1, 2008
1 parent 62d11d7 commit ad4375a
Show file tree
Hide file tree
Showing 9 changed files with 106 additions and 116 deletions.
2 changes: 1 addition & 1 deletion backup/backup.php
Expand Up @@ -95,7 +95,7 @@
}

//Get and check course
if (! $course = get_record("course", "id", $id)) {
if (! $course = $DB->get_record("course", array("id"=>$id))) {
print_error('unknowncourseidnumber','error');
}

Expand Down
4 changes: 2 additions & 2 deletions backup/backup_check.html
Expand Up @@ -70,7 +70,7 @@
//inform the user.
// TODO: Move this logic to one function to be shared by any (manual, scheduled) backup
if ($backupprefs->backup_users == 2) {
if ($allmods = get_records('modules') ) {
if ($allmods = $DB->get_records('modules') ) {
foreach ($allmods as $mod) {
/// Reset global user_info settings to "no" (0)
$modname = $mod->name;
Expand Down Expand Up @@ -129,7 +129,7 @@
//This is the alignment of every row in the table
$table->align = array ("left","right");

if ($allmods = get_records("modules") ) {
if ($allmods = $DB->get_records("modules") ) {
foreach ($allmods as $mod) {
$modname = $mod->name;
$modfile = $CFG->dirroot.'/mod/'.$modname.'/backuplib.php';
Expand Down
9 changes: 5 additions & 4 deletions backup/backup_form.html
@@ -1,5 +1,6 @@
<?php //$Id$
//This page prints the backup form to select everything
global $DB;

//Check login
require_login();
Expand Down Expand Up @@ -28,7 +29,7 @@
//Checks for the required files/functions to backup every mod
//And check if there is data about it
$count = 0;
if ($allmods = get_records('modules', 'visible', 1) ) {
if ($allmods = $DB_>get_records('modules', array('visible'=>1)) ) {
foreach ($allmods as $mod) {
$modname = $mod->name;
$modfile = "$CFG->dirroot/mod/$modname/backuplib.php";
Expand All @@ -42,7 +43,7 @@
$$var = true;
$count++;
// check that there are instances and we can back them up individually
if (count_records('course_modules','course',$course->id,'module',$mod->id) && function_exists($modbackupone)) {
if ($DB->count_records('course_modules',array('course'=>$course->id,'module'=>$mod->id)) && function_exists($modbackupone)) {
$var = 'exists_one_'.$modname;
$$var = true;
}
Expand Down Expand Up @@ -121,7 +122,7 @@
/// Acummulator for hidden options and proper XHTML output
$hidden_options = '';
//Now, check modules and info and show posibilities
if ($allmods = get_records('modules', 'visible', 1) ) {
if ($allmods = $DB->get_records('modules', array('visible'=>1)) ) {
//Print option to select/deselect everything with 1 click.
echo "<tr>";
echo "<td align=\"right\">";
Expand Down Expand Up @@ -331,7 +332,7 @@
echo "<td align=\"right\" valign=\"top\" colspan=\"2\"><b>";
echo get_string("backuproleassignments");
echo "</b></td><td colspan=\"2\">";
$roles = get_records('role', '', '', 'sortorder');
$roles = $DB->get_records('role', null, 'sortorder');
foreach ($roles as $role) {
print_checkbox('backupassignments_' . $role->shortname, 1, true, strip_tags(format_string($role->name, true)));
echo "<br />";
Expand Down
60 changes: 30 additions & 30 deletions backup/backup_scheduled.php
Expand Up @@ -4,8 +4,7 @@
//This function is executed via moodle cron
//It prepares all the info and execute backups as necessary
function schedule_backup_cron() {

global $CFG;
global $CFG, $DB;

$status = true;

Expand Down Expand Up @@ -33,7 +32,7 @@ function schedule_backup_cron() {
//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 = $DB->count_records_select ("backup_log","time > ?", array($timeafter));
if (!$numofrec) {
$timetoseemin = $timetosee/60;
mtrace(" No activity in last ".$timetoseemin." minutes. Unlocking status");
Expand Down Expand Up @@ -66,10 +65,10 @@ function schedule_backup_cron() {
//First of all, we delete everything from backup tables related to deleted courses
mtrace(" Skipping deleted courses");
$skipped = 0;
if ($bckcourses = get_records('backup_courses')) {
if ($bckcourses = $DB->get_records('backup_courses')) {
foreach($bckcourses as $bckcourse) {
//Search if it exists
if (!$exists = get_record('course', 'id', "$bckcourse->courseid")) {
if (!$exists = $DB->get_record('course', array('id'=>$bckcourse->courseid))) {
//Doesn't exist, so delete from backup tables
delete_records('backup_courses', 'courseid', "$bckcourse->courseid");
delete_records('backup_log', 'courseid', "$bckcourse->courseid");
Expand All @@ -79,20 +78,20 @@ function schedule_backup_cron() {
}
mtrace(" $skipped courses");
//Now process existing courses
$courses = get_records("course");
$courses = $DB->get_records("course");
//For each course, we check (insert, update) the backup_course table
//with needed data
foreach ($courses as $course) {
if ($status) {
mtrace(" $course->fullname");
//We check if the course exists in backup_course
$backup_course = get_record("backup_courses","courseid",$course->id);
$backup_course = $DB->get_record("backup_courses", array("courseid"=>$course->id));
//If it doesn't exist, create
if (!$backup_course) {
$temp_backup_course->courseid = $course->id;
$newid = insert_record("backup_courses",$temp_backup_course);
$newid = $DB->insert_record("backup_courses",$temp_backup_course);
//And get it from db
$backup_course = get_record("backup_courses","id",$newid);
$backup_course = $DB->get_record("backup_courses", array("id"=>$newid));
}
//If it doesn't exist now, error
if (!$backup_course) {
Expand All @@ -104,7 +103,7 @@ function schedule_backup_cron() {
$skipped = false;
if (!$course->visible && ($now - $course->timemodified) > 31*24*60*60) { //Hidden + unmodified last month
mtrace(" SKIPPING - hidden+unmodified");
set_field("backup_courses","laststatus","3","courseid",$backup_course->courseid);
$DB->set_field("backup_courses","laststatus","3", array("courseid"=>$backup_course->courseid));
$skipped = true;
}
//Now we backup every non skipped course with nextstarttime < now
Expand All @@ -115,26 +114,26 @@ function schedule_backup_cron() {
if ($backup_course->laststatus != 2) {
//Set laststarttime
$starttime = time();
set_field("backup_courses","laststarttime",$starttime,"courseid",$backup_course->courseid);
$DB->set_field("backup_courses","laststarttime",$starttime, array("courseid"=>$backup_course->courseid));
//Set course status to unfinished, the process will reset it
set_field("backup_courses","laststatus","2","courseid",$backup_course->courseid);
$DB->set_field("backup_courses","laststatus","2", array("courseid"=>$backup_course->courseid));
//Launch backup
$course_status = schedule_backup_launch_backup($course,$starttime);
//Set lastendtime
set_field("backup_courses","lastendtime",time(),"courseid",$backup_course->courseid);
$DB->set_field("backup_courses","lastendtime",time(), array("courseid"=>$backup_course->courseid));
//Set laststatus
if ($course_status) {
set_field("backup_courses","laststatus","1","courseid",$backup_course->courseid);
$DB->set_field("backup_courses","laststatus","1", array("courseid"=>$backup_course->courseid));
} else {
set_field("backup_courses","laststatus","0","courseid",$backup_course->courseid);
$DB->set_field("backup_courses","laststatus","0", array("courseid"=>$backup_course->courseid));
}
}
}

//Now, calculate next execution of the course
$nextstarttime = schedule_backup_next_execution ($backup_course,$backup_config,$now,$admin->timezone);
//Save it to db
set_field("backup_courses","nextstarttime",$nextstarttime,"courseid",$backup_course->courseid);
$DB->set_field("backup_courses","nextstarttime",$nextstarttime, array("courseid"=>$backup_course->courseid));
//Print it to screen as necessary
$showtime = "undefined";
if ($nextstarttime > 0) {
Expand All @@ -149,7 +148,7 @@ function schedule_backup_cron() {
if (!empty($CFG->loglifetime)) {
mtrace(" Deleting old logs");
$loglifetime = $now - ($CFG->loglifetime * 86400);
delete_records_select("backup_log", "laststarttime < '$loglifetime'");
$DB->delete_records_select("backup_log", "laststarttime < ?", array($loglifetime));
}

//Send email to admin if necessary
Expand All @@ -158,11 +157,11 @@ function schedule_backup_cron() {
$message = "";

//Get info about the status of courses
$count_all = count_records('backup_courses');
$count_ok = count_records('backup_courses','laststatus','1');
$count_error = count_records('backup_courses','laststatus','0');
$count_unfinished = count_records('backup_courses','laststatus','2');
$count_skipped = count_records('backup_courses','laststatus','3');
$count_all = $DB->count_records('backup_courses');
$count_ok = $DB->count_records('backup_courses', array('laststatus'=>'1'));
$count_error = $DB->count_records('backup_courses', array('laststatus'=>'0'));
$count_unfinished = $DB->count_records('backup_courses', array('laststatus'=>'2'));
$count_skipped = $DB->count_records('backup_courses', array('laststatus'=>'3'));

//Build the message text
//Summary
Expand All @@ -182,7 +181,7 @@ function schedule_backup_cron() {
//Set message priority
$admin->priority = 1;
//Reset unfinished to error
set_field('backup_courses','laststatus','0','laststatus','2');
$DB->set_field('backup_courses','laststatus','0', array('laststatus'=>'2'));
} else {
$message .= " ".get_string('backupfinished')."\n";
}
Expand Down Expand Up @@ -245,14 +244,16 @@ function schedule_backup_launch_backup($course,$starttime = 0) {
//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) {
global $DB;

if ($starttime) {
$log = new object();
$log->courseid = $courseid;
$log->time = time();
$log->laststarttime = $starttime;
$log->info = addslashes($message);
$log->info = $message;

insert_record ("backup_log",$log);
$DB->insert_record("backup_log", $log);
}

}
Expand Down Expand Up @@ -297,8 +298,7 @@ function schedule_backup_next_execution ($backup_course,$backup_config,$now,$tim
//This function implements all the needed code to prepare a course
//to be in backup (insert temp info into backup temp tables).
function schedule_backup_course_configure($course,$starttime = 0) {

global $CFG;
global $CFG, $DB;

$status = true;

Expand Down Expand Up @@ -367,7 +367,7 @@ function schedule_backup_course_configure($course,$starttime = 0) {
//Checks for the required files/functions to backup every mod
//And check if there is data about it
$count = 0;
if ($allmods = get_records("modules") ) {
if ($allmods = $DB->get_records("modules") ) {
foreach ($allmods as $mod) {
$modname = $mod->name;
$modfile = "$CFG->dirroot/mod/$modname/backuplib.php";
Expand Down Expand Up @@ -461,7 +461,7 @@ function schedule_backup_course_configure($course,$starttime = 0) {
$preferences->keep_name = $keep_name;

//Roleasignments
$roles = get_records('role', '', '', 'sortorder');
$roles = $DB->get_records('role', null, 'sortorder');
foreach ($roles as $role) {
$preferences->backuproleassignments[$role->id] = $role;
}
Expand All @@ -480,7 +480,7 @@ function schedule_backup_course_configure($course,$starttime = 0) {
//Calculate necesary info to backup modules
if ($status) {
schedule_backup_log($starttime,$course->id," calculating modules data");
if ($allmods = get_records("modules") ) {
if ($allmods = $DB->get_records("modules") ) {
foreach ($allmods as $mod) {
$modname = $mod->name;
$modbackup = $modname."_backup_mods";
Expand Down

0 comments on commit ad4375a

Please sign in to comment.