X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fsession.inc;h=ee6d2ff81e71234fa0f4cae51047fc66dc11db35;hb=4235547f197afc92d317f3137419421d8660c168;hp=ea1c12a54367e978845e0c99f4370ab7a2a571b0;hpb=5c416dc0a557ac15903667947934d9a908ae9540;p=fa-stable.git diff --git a/includes/session.inc b/includes/session.inc index ea1c12a5..ee6d2ff8 100644 --- a/includes/session.inc +++ b/includes/session.inc @@ -159,14 +159,14 @@ ini_set('session.gc_maxlifetime', 36000); // 10hrs session_name('FrontAccounting'); session_start(); + // this is to fix the "back-do-you-want-to-refresh" issue - thanx PHPFreaks header("Cache-control: private"); - get_text_init(); // Page Initialisation -if (!isset($_SESSION['language'])) +if (!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'], @@ -176,8 +176,9 @@ if (!isset($_SESSION['language'])) $_SESSION['language']->set_language($_SESSION['language']->code); // include $Hooks object if locale file exists -if(@include_once($path_to_root . "/lang/".$_SESSION['language']->code."/locale.inc")) +if (file_exists($path_to_root . "/lang/".$_SESSION['language']->code."/locale.inc")) { + include_once($path_to_root . "/lang/".$_SESSION['language']->code."/locale.inc"); $Hooks = new Hooks(); } @@ -186,7 +187,7 @@ include_once($path_to_root . "/config.php"); include_once($path_to_root . "/includes/main.inc"); // Ajax communication object -$Ajax =& new Ajax(); +$Ajax = new Ajax(); // js/php validation rules container $Validate = array(); @@ -220,16 +221,14 @@ if (strstr($_SERVER['PHP_SELF'], 'logout.php') == false){ // Show login screen if (!isset($_POST["user_name_entry_field"]) or $_POST["user_name_entry_field"] == "") { - $_SESSION['timeout'] = array( 'uri'=> $_SERVER['REQUEST_URI'], + // strip ajax marker from uri, to force synchronous page reload + $_SESSION['timeout'] = array( 'uri'=>preg_replace('/JsHttpRequest=(?:(\d+)-)?([^&]+)/s', + '', @$_SERVER['REQUEST_URI']), 'post' => $_POST); - if (!in_ajax()) { - include($path_to_root . "/access/login.php"); - } else { - // ajax update of current page elements - open login window in popup - // to not interfere with ajaxified page. - $Ajax->popup($path_to_root . "/access/timeout.php"); - } + include($path_to_root . "/access/login.php"); + if (in_ajax()) + $Ajax->activate('_page_body'); exit; } else { $succeed = $_SESSION["wa_current_user"]->login($_POST["company_login_name"], @@ -256,7 +255,6 @@ if (strstr($_SERVER['PHP_SELF'], 'logout.php') == false){ } } - // POST vars cleanup needed for direct reuse. // We quote all values later with db_escape() before db update. $_POST = strip_quotes($_POST);