diff options
Diffstat (limited to 'boot.php')
-rwxr-xr-x | boot.php | 90 |
1 files changed, 3 insertions, 87 deletions
@@ -1394,11 +1394,7 @@ function is_ajax() { // base url for use in cmdline programs which don't have // $_SERVER variables, and synchronising the state of installed plugins. -function check_config(&$a) { - - $build = get_config('system','db_version'); - if(! intval($build)) - $build = set_config('system','db_version',DB_UPDATE_VERSION); +function check_config() { $saved = get_config('system','urlverify'); if(! $saved) @@ -1436,88 +1432,8 @@ function check_config(&$a) { if (! $syschan_exists) create_sys_channel(); - if($build != DB_UPDATE_VERSION) { - $stored = intval($build); - if(! $stored) { - logger('Critical: check_config unable to determine database schema version'); - return; - } - $current = intval(DB_UPDATE_VERSION); - if(($stored < $current) && file_exists('install/update.php')) { - - load_config('database'); - - // We're reporting a different version than what is currently installed. - // Run any existing update scripts to bring the database up to current. - require_once('install/update.php'); - - // make sure that boot.php and update.php are the same release, we might be - // updating right this very second and the correct version of the update.php - // file may not be here yet. This can happen on a very busy site. - - if(DB_UPDATE_VERSION == UPDATE_VERSION) { - for($x = $stored; $x < $current; $x ++) { - if(function_exists('update_r' . $x)) { - // There could be a lot of processes running or about to run. - // We want exactly one process to run the update command. - // So store the fact that we're taking responsibility - // after first checking to see if somebody else already has. - - // If the update fails or times-out completely you may need to - // delete the config entry to try again. - - if(get_config('database','update_r' . $x)) - break; - set_config('database','update_r' . $x, '1'); - // call the specific update - - $func = 'update_r' . $x; - $retval = $func(); - if($retval) { - - // Prevent sending hundreds of thousands of emails by creating - // a lockfile. - - $lockfile = 'store/[data]/mailsent'; - - if ((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 86400))) - return; - @unlink($lockfile); - //send the administrator an e-mail - file_put_contents($lockfile, $x); - - $r = q("select account_language from account where account_email = '%s' limit 1", - dbesc(App::$config['system']['admin_email']) - ); - push_lang(($r) ? $r[0]['account_language'] : 'en'); - - - $email_tpl = get_intltext_template("update_fail_eml.tpl"); - $email_msg = replace_macros($email_tpl, array( - '$sitename' => App::$config['system']['sitename'], - '$siteurl' => z_root(), - '$update' => $x, - '$error' => sprintf( t('Update %s failed. See error logs.'), $x) - )); - - $subject = email_header_encode(sprintf(t('Update Error at %s'), z_root())); - - mail(App::$config['system']['admin_email'], $subject, $email_msg, - 'From: Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n" - . 'Content-type: text/plain; charset=UTF-8' . "\n" - . 'Content-transfer-encoding: 8bit' ); - //try the logger - logger('CRITICAL: Update Failed: ' . $x); - pop_lang(); - } - else - set_config('database','update_r' . $x, 'success'); - } - } - set_config('system','db_version', DB_UPDATE_VERSION); - } - } - } + $x = new \Zotlabs\Lib\DB_Upgrade(DB_UPDATE_VERSION); + /** * |