function test_get_incremental() { $crnt_course = get_records('incremental_instance', 'courseid', '1', 'timecreated'); //print_object($crnt_course); $newbkup = array_pop($crnt_course); //get latest course hash. while ($newbkup->hash == $newbkup->filename) { //make sure the record is valid - if both hash and filename are exact - this is related to a client update - not the server backup. $newbkup = array_pop($crnt_course); //get latest course hash. } $returnfile = new object(); $incremental = get_incremental($newbkup->hash); if ($incremental->name == 'uptodate') { $this->assertTrue(true); } else { $this->assertTrue(false); } }
<?php /* * This file is called by the offline Moodle SERVER and sends the existing * incremental or Full backup if no incremental is available to the client. * */ require '../config.php'; require_once "{$CFG->dirroot}/backup/backup_sch_incremental.php"; require_once "{$CFG->dirroot}/backup/incremental_backuplib.php"; require_once "{$CFG->dirroot}/backup/backuplib.php"; require_once "{$CFG->dirroot}/backup/lib.php"; require_once "{$CFG->dirroot}/lib/filelib.php"; $currenthash = required_param('hash'); // hash $action = required_param('action'); // what to do? $file = get_incremental($currenthash); if ($file) { if ($action == 'curldownload') { readfile_chunked($file->path . $file->name); } elseif ($action == 'download') { send_file($file->path, $file->name, 864, 0, true, true); } elseif ($action == 'check') { echo $file->name; } else { echo 'no action specified'; } } else { echo 'ERROR!!! No file returned'; }