From ebd0e986ed11f2a34fb58cdd33efbfab192083ad Mon Sep 17 00:00:00 2001 From: Till Brehm <tbrehm@ispconfig.org> Date: Fri, 22 Apr 2016 05:26:17 -0400 Subject: [PATCH] Added PHP 7 check in installer and updater. --- install/lib/update.lib.php | 19 +++++++++++++------ 1 files changed, 13 insertions(+), 6 deletions(-) diff --git a/install/lib/update.lib.php b/install/lib/update.lib.php index bc0453f..52d4a3c 100644 --- a/install/lib/update.lib.php +++ b/install/lib/update.lib.php @@ -29,10 +29,10 @@ //* Installer patch stub class class installer_patch_update { - protected function onBeforeSQL() { + public function onBeforeSQL() { } - protected function onAfterSQL() { + public function onAfterSQL() { } } @@ -153,8 +153,8 @@ $conf['nginx']['installed'] = false; } - //* Do incremental DB updates only on installed ISPConfig versions > 3.0.3 - if(compare_ispconfig_version('3.0.3', ISPC_APP_VERSION) >= 0) { + //* Do incremental DB updates only on installed ISPConfig versions >= 3.0.3 + if(version_compare('3.0.3', ISPC_APP_VERSION, '<=')) { swriteln($inst->lng('Starting incremental database update.')); @@ -164,6 +164,9 @@ $next_db_version = intval($current_db_version + 1); $sql_patch_filename = realpath(dirname(__FILE__).'/../').'/sql/incremental/upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT).'.sql'; $php_patch_filename = realpath(dirname(__FILE__).'/../').'/patches/upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT).'.php'; + + // comma separated list of version numbers were a update has to be done silently + $silent_update_versions = '75'; if(is_file($sql_patch_filename)) { @@ -186,10 +189,14 @@ //* Load patch file into database if( !empty($conf["mysql"]["admin_password"]) ) { - system("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename); + $cmd = "mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename; } else { - system("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename); + $cmd = "mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename; } + + if(in_array($next_db_version,explode(',',$silent_update_versions))) $cmd .= ' > /dev/null 2> /dev/null'; + system($cmd); + swriteln($inst->lng('Loading SQL patch file').': '.$sql_patch_filename); //* Exec onAfterSQL function -- Gitblit v1.9.1