X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fsession.inc;h=22644aec2fe2955352ab212c4e7c6f2a4b4aebb3;hb=f911dbdc3b4be63c51c25cdf98cc0b7c2e54dffb;hp=145f47fa6717460d8821aeb8912aea662029a701;hpb=d9be3a0b1a0dc51359cb94c30b19c11e0b52baef;p=fa-stable.git diff --git a/includes/session.inc b/includes/session.inc index 145f47fa..22644aec 100644 --- a/includes/session.inc +++ b/includes/session.inc @@ -21,7 +21,11 @@ class SessionManager $https = isset($secure) ? $secure : (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off'); // Set session cookie options - session_set_cookie_params($limit, $path, $domain, $https, true); + if (version_compare(PHP_VERSION, '5.2', '<')) // avoid failure on older php versions + session_set_cookie_params($limit, $path, $domain, $https); + else + session_set_cookie_params($limit, $path, $domain, $https, true); + session_start(); // Make sure the session hasn't expired, and destroy it if it has @@ -355,6 +359,8 @@ foreach ($installed_extensions as $ext) ini_set('session.gc_maxlifetime', 36000); // 10hrs +hook_session_start(@$_POST["company_login_name"]); + $Session_manager = new SessionManager(); $Session_manager->sessionStart('FA'.md5(dirname(__FILE__))); @@ -368,7 +374,8 @@ if ($login_delay > 0) @include_once($path_to_root . "/tmp/faillog.php"); // Page Initialisation -if (!isset($_SESSION['language']) || !method_exists($_SESSION['language'], 'set_language')) +if (!isset($_SESSION['wa_current_user']) || !$_SESSION['wa_current_user']->logged_in() + || !isset($_SESSION['language']) || !method_exists($_SESSION['language'], 'set_language')) { $l = array_search_value($dflt_lang, $installed_languages, 'code'); $_SESSION['language'] = new language($l['name'], $l['code'], $l['encoding'], @@ -381,6 +388,7 @@ $_SESSION['language']->set_language($_SESSION['language']->code); include_once($path_to_root . "/includes/access_levels.inc"); include_once($path_to_root . "/version.php"); include_once($path_to_root . "/includes/main.inc"); +include_once($path_to_root . "/includes/app_entries.inc"); // Ajax communication object $Ajax = new Ajax(); @@ -463,7 +471,10 @@ if (strstr($_SERVER['PHP_SELF'], 'logout.php') == false){ $lang->set_language($_SESSION['language']->code); } } else - set_global_connection(); + { set_global_connection(); + if (db_fixed()) + db_set_encoding($_SESSION['language']->encoding); + } if (!isset($_SESSION["App"])) { $_SESSION["App"] = new front_accounting(); @@ -476,5 +487,3 @@ $SysPrefs = &$_SESSION['SysPrefs']; // POST vars cleanup needed for direct reuse. // We quote all values later with db_escape() before db update. $_POST = strip_quotes($_POST); - -?> \ No newline at end of file