From: Janusz Dobrowolski Date: Thu, 6 Oct 2011 19:38:42 +0000 (+0200) Subject: Fixed hangouts on php installations with zlib extension installed, fixed warnings... X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=d66d12e5f932cef0db353c927619e9571d05876e;p=textcart.git Fixed hangouts on php installations with zlib extension installed, fixed warnings logged during install. --- diff --git a/admin/db/maintenance_db.inc b/admin/db/maintenance_db.inc index 056a620..cd4afda 100644 --- a/admin/db/maintenance_db.inc +++ b/admin/db/maintenance_db.inc @@ -178,7 +178,7 @@ function update_extensions($extensions) { } // update per company files - $cnt = count($db_connections); + $cnt = max(1, count($db_connections)); for($i = 0; $i < $cnt; $i++) { $newexts = $extensions; diff --git a/includes/errors.inc b/includes/errors.inc index 459b306..9b2ac36 100644 --- a/includes/errors.inc +++ b/includes/errors.inc @@ -154,8 +154,12 @@ function end_flush() { if (isset($Ajax)) $Ajax->run(); + + // zlib extension adds 1 additional level of buffering + $min_level = defined('FORCE_GZIP') ? 1 : 0; + // flush all output buffers (works also with exit inside any div levels) - while(ob_get_level()) ob_end_flush(); + while(ob_get_level() > $min_level) ob_end_flush(); // if any transaction was aborted unexpectedly rollback changes cancel_transaction(); diff --git a/install/index.php b/install/index.php index 52adfbe..fc27f03 100644 --- a/install/index.php +++ b/install/index.php @@ -23,7 +23,8 @@ include($path_to_root . "/includes/ui.inc"); include($path_to_root . "/includes/system_tests.inc"); include($path_to_root . "/admin/db/maintenance_db.inc"); include($path_to_root . "/includes/packages.inc"); -@include($path_to_root . "/installed_extensions.php"); +if (file_exists($path_to_root . "/installed_extensions.php")) + include($path_to_root . "/installed_extensions.php"); //------------------------------------------------------------------------------------------------- function subpage_title($txt) @@ -173,11 +174,10 @@ function do_install() { return false; } // update default language - include_once($path_to_root . "/lang/installed_languages.inc"); + if (file_exists($path_to_root . "/lang/installed_languages.inc")) + include_once($path_to_root . "/lang/installed_languages.inc"); $dflt_lang = $_POST['lang']; write_lang(); - if (!isset($installed_extensions)) - update_extensions(array()); return true; } return false; @@ -262,11 +262,11 @@ elseif(get_post('install_coas')) $ret &= install_extension($package); } if ($ret) { - @include($path_to_root.'/installed_extensions.php'); + if (file_exists($path_to_root . '/installed_extensions.php')) + include($path_to_root.'/installed_extensions.php'); $_POST['Page'] = 5; } -} -elseif (isset($_POST['set_admin'])) { +} elseif (isset($_POST['set_admin'])) { // check company settings if (get_post('name')=='') { display_error(_('Company name cannot be empty.')); @@ -371,6 +371,11 @@ start_form(); $_POST[$name] = $val; set_focus('name'); } + if (!isset($installed_extensions)) { + $installed_extensions = array(); + update_extensions($installed_extensions); + } + subpage_title(_('Company Settings')); start_table(TABLESTYLE); text_row_ex(_("Company Name:"), 'name', 30); diff --git a/install/isession.inc b/install/isession.inc index 77540a7..0f7cae8 100644 --- a/install/isession.inc +++ b/install/isession.inc @@ -93,7 +93,7 @@ $Ajax = new Ajax(); get_text_init(); $i_lang = isset($_POST['inst_lang']) ? $_POST['inst_lang'] : - (isset($_SESSION['inst_set']['inst_lang']) ? $_SESSION['inst_set']['inst_lang'] : 'C'); + (isset($_SESSION['inst_set']['inst_lang']) ? $_SESSION['inst_set']['inst_lang'] : array('C')); // Page Initialisation if (!isset($_SESSION['language']) || !method_exists($_SESSION['language'], 'set_language') @@ -103,6 +103,8 @@ if (!isset($_SESSION['language']) || !method_exists($_SESSION['language'], 'set_ $_SESSION['language'] = new language($l['name'], $l['code'], $l['encoding'], isset($l['rtl']) ? 'rtl' : 'ltr'); } +if (!isset($installed_languages)) + $installed_languages = array(); $_SESSION['language']->set_language($_SESSION['language']->code); $_SESSION['get_text']->add_domain( $_SESSION['language']->code, $path_to_root."/install/lang");