+
+
+ }
+ /**
+ * turn on off session - wrap long database queries or
+ * data processing with this to prevent locking
+ * @see
+ * @param int $state new session state - 0 = off, 1 = on
+ */
+
+ function sessionState($state)
+ {
+ static $ses_status = false;
+ static $ini = false;
+
+ if (!empty($_SERVER['PHP_AUTH_USER']) || php_sapi_name() == "cli") {
+ // do not do sessions if we are using http auth.
+ return;
+ }
+
+ // session status is only php5.4 and up..
+ if (!defined('PHP_SESSION_ACTIVE')) {
+ define('PHP_SESSION_ACTIVE' , 1);
+ }
+ if(!function_exists('session_status')){
+ $ses_status = 1;
+ } else {
+ $ses_status = ($ses_status === false) ? session_status() : $ses_status;
+ }
+ if (PHP_SESSION_ACTIVE != $ses_status) {
+ return;
+ }
+
+ switch ($state) {
+ case 0:
+ session_write_close();
+ return;
+ case 1:
+ if ($ini) {
+ ini_set('session.use_only_cookies', false);
+ ini_set('session.use_cookies', false);
+ ini_set('session.use_trans_sid', false);
+ ini_set('session.cache_limiter', null);
+ }
+ $ini = true;
+ // sometimes raises a notice - ps_files_cleanup_dir.
+ @session_start();
+ $this->dedupeSessionCookies();
+ return;
+ }
+ }