MDL-17427 - removed old file based logging from ugprade - going to add new upgrade logging later

This commit is contained in:
skodak
2009-01-11 10:18:53 +00:00
parent 4d6d912a77
commit 3e46c66a5d
5 changed files with 9 additions and 98 deletions
+7 -84
View File
@@ -14,11 +14,6 @@ require_once($CFG->libdir.'/ddllib.php');
require_once($CFG->libdir.'/xmlize.php');
require_once($CFG->libdir.'/messagelib.php'); // Messagelib functions
global $upgradeloghandle, $upgradelogbuffer;
$upgradeloghandle = false;
$upgradelogbuffer = '';
define('INSECURE_DATAROOT_WARNING', 1);
define('INSECURE_DATAROOT_ERROR', 2);
@@ -116,7 +111,6 @@ function upgrade_db($version, $release) {
/// return to original debugging level
$CFG->debug = $origdebug;
error_reporting($CFG->debug);
upgrade_log_start();
$DB->set_debug(true);
if (!$DB->setup_is_unicodedb()) {
@@ -127,6 +121,7 @@ function upgrade_db($version, $release) {
}
$DB->get_manager()->install_from_xmldb_file("$CFG->libdir/db/install.xml");
upgrade_log_start(); // move here because we want the flag to be stored in config table ;-)
/// set all core default records and default settings
require_once("$CFG->libdir/db/install.php");
@@ -310,12 +305,9 @@ function upgrade_db($version, $release) {
print_footer('none');
die;
}
upgrade_log_finish();
}
} else if ($version < $CFG->version) {
upgrade_log_start();
notify("WARNING!!! The code you are using is OLDER than the version that made these databases!");
upgrade_log_finish();
}
/// Updated human-readable release version if necessary
@@ -837,13 +829,10 @@ function upgrade_plugins($type, $dir) {
echo '<hr />';
}
} else {
upgrade_log_start();
print_error('cannotdowngrade', 'debug', '', (object)array('oldversion'=>$installedversion, 'newversion'=>$plugin->version));
}
}
upgrade_log_finish();
return $updated_plugins;
}
@@ -972,7 +961,6 @@ function upgrade_activity_modules() {
$updated_modules = true;
} else {
upgrade_log_start();
print_error('cannotdowngrade', 'debug', '', (object)array('oldversion'=>$currmodule->version, 'newversion'=>$module->version));
}
@@ -1065,8 +1053,6 @@ function upgrade_activity_modules() {
}
}
upgrade_log_finish(); // finish logging if started
return $updated_modules;
}
@@ -1246,7 +1232,7 @@ function create_admin_user($user_input=NULL) {
* Marks start of upgrade, blocks any other access to site.
* The upgrade is finished at the end of script or after timeout.
*/
function start_upgrade() {
function upgrade_log_start() {
global $CFG, $DB;
static $started = false;
@@ -1257,89 +1243,26 @@ function start_upgrade() {
} else {
ignore_user_abort(true);
register_shutdown_function('upgrade_finished_handler');
if ($CFG->version === '' || !$DB->get_manager()->table_exists(new xmldb_table('config'))) {
// db not installed yet
$CFG->upgraderunning = time()+300;
} else {
set_config('upgraderunning', time()+300);
}
set_config('upgraderunning', time()+300);
$started = true;
}
}
/**
* Internal function - executed at the very end of each upgrade.
* Internal function - executed if upgrade interruped.
*/
function upgrade_finished_handler() {
upgrade_log_finish();
unset_config('upgraderunning');
ignore_user_abort(false);
}
/**
* Start logging of output into file (if not disabled) and
* prevent aborting and concurrent execution of upgrade script.
*
* Please note that you can not write into session variables after calling this function!
*
* This function may be called repeatedly.
*/
function upgrade_log_start() {
global $upgradeloghandle;
start_upgrade(); // make sure the upgrade is started
if ($upgradeloghandle and ($upgradeloghandle !== 'error')) {
return;
}
make_upload_directory('upgradelogs');
ob_start('upgrade_log_callback', 2); // function for logging to disk; flush each line of text ASAP
}
/**
* Terminate logging of output, flush all data.
*
* Please make sure that each upgrade_log_start() is properly terminated by
* this function or print_error().
* Indicates upgrade is finished.
*
* This function may be called repeatedly.
*/
function upgrade_log_finish() {
global $CFG, $upgradeloghandle, $upgradelogbuffer;
@ob_end_flush();
if ($upgradelogbuffer !== '') {
@fwrite($upgradeloghandle, $upgradelogbuffer);
$upgradelogbuffer = '';
}
if ($upgradeloghandle and ($upgradeloghandle !== 'error')) {
@fclose($upgradeloghandle);
$upgradeloghandle = false;
}
}
/**
* Callback function for logging into files. Not more than one file is created per minute,
* upgrade session (terminated by upgrade_log_finish()) is always stored in one file.
*
* This function must not output any characters or throw warnigns and errors!
*/
function upgrade_log_callback($string) {
global $CFG, $upgradeloghandle, $upgradelogbuffer;
if (empty($CFG->disableupgradelogging) and ($string != '') and ($upgradeloghandle !== 'error')) {
if ($upgradeloghandle or ($upgradeloghandle = @fopen($CFG->dataroot.'/upgradelogs/upg_'.date('Ymd-Hi').'.html', 'a'))) {
$upgradelogbuffer .= $string;
if (strlen($upgradelogbuffer) > 2048) { // 2kB write buffer
@fwrite($upgradeloghandle, $upgradelogbuffer);
$upgradelogbuffer = '';
}
} else {
$upgradeloghandle = 'error';
}
}
return $string;
unset_config('upgraderunning');
ignore_user_abort(false);
}
/**