libdir.'/adminlib.php'); require_once($CFG->dirroot.'/backup/lib.php'); $courseid = optional_param('courseid', 0, PARAM_INT); admin_externalpage_setup('reportbackups'); echo $OUTPUT->header(); /// Automated backups aren't active by the site admin $backup_config = backup_get_config(); if (empty($backup_config->backup_auto_active)) { echo $OUTPUT->notification(get_string('automatedbackupsinactive', 'backup')); } /// Get needed strings $backuploglaststatus = get_string("backuploglaststatus"); $backuplogdetailed = get_string("backuplogdetailed"); $stradmin = get_string("administration"); $strconfiguration = get_string("configuration"); $strbackup = get_string("backup"); $strbackupdetails = get_string("backupdetails"); $strlogs = get_string("logs"); $strftimedatetime = get_string("strftimerecent"); $strftimetime = get_string("strftimetime").":%S"; $strerror = get_string("error"); $strok = get_string("ok"); $strunfinished = get_string("unfinished"); $strskipped = get_string("skipped"); $strcourse = get_string("course"); $strtimetaken = get_string("timetaken","quiz"); $strstatus = get_string("status"); $strnext = get_string("backupnext"); /// Decide when to show last execution logs or detailed logs /// Lastlog view if (!$courseid) { echo $OUTPUT->heading($backuploglaststatus); echo $OUTPUT->box_start(); /// Now, get every record from backup_courses $courses = $DB->get_records("backup_courses"); if (!$courses) { echo $OUTPUT->notification(get_string('nologsfound')); } else { echo ""; //Print table header echo ""; echo ""; echo ""; echo ""; echo ""; foreach ($courses as $course) { /// Get the course shortname $coursename = $DB->get_field ("course", "fullname", array("id"=>$course->courseid)); if ($coursename) { echo ""; echo ""; echo ""; echo ""; echo ""; if ($course->laststatus == 1) { echo ""; } else if ($course->laststatus == 2) { echo ""; } else if ($course->laststatus == 3) { echo ""; } else { echo ""; } echo ""; echo ""; } } echo "
$strcourse$strtimetaken$strstatus$strnext
courseid\">".$coursename."".userdate($course->laststarttime,$strftimedatetime)." - ".userdate($course->lastendtime,$strftimedatetime)."".$strok."".$strunfinished."".$strskipped."".$strerror."".userdate($course->nextstarttime,$strftimedatetime)."
"; } echo $OUTPUT->box_end(); /// Detailed View !! } else { echo $OUTPUT->heading($backuplogdetailed); $coursename = $DB->get_field("course", "fullname", array("id"=>"$courseid")); echo $OUTPUT->heading("$strcourse: $coursename"); echo $OUTPUT->box_start(); /// First, me get all the distinct backups for that course in backup_log $executions = $DB->get_records_sql("SELECT DISTINCT laststarttime FROM {backup_log} WHERE courseid = ? AND backuptype = ? ORDER BY laststarttime DESC", array($courseid,'scheduledbackup')); /// Iterate over backup executions if (!$executions) { echo $OUTPUT->notification(get_string('nologsfound')); } else { echo ""; foreach($executions as $execution) { echo ""; echo ""; echo ""; $logs = $DB->get_records_sql("SELECT * FROM {backup_log} WHERE courseid = ? AND laststarttime = ? AND backuptype = ? ORDER BY id", array($courseid, $execution->laststarttime,'scheduledbackup')); if ($logs) { foreach ($logs as $log) { echo ""; echo ""; $log->info = str_replace("- ERROR!!","- ERROR!!",$log->info); $log->info = str_replace("- OK","- OK",$log->info); echo ""; echo ""; } } } echo "
"; echo $OUTPUT->box(userdate($execution->laststarttime)); echo "
".userdate($log->time,$strftimetime)."".str_replace(" ","    ",$log->info)."
"; } echo $OUTPUT->box_end(); } echo $OUTPUT->footer();