From 887e71e57e14b0597aefba72401ac7f6e0b0a743 Mon Sep 17 00:00:00 2001
From: Ralf Becker microtime()=".microtime().", sec=$sec, msec=$msec, id=$id store_in_cache('$this->name','$this->template','$this->lang','$this->version') delete_in_cache('$this->name','$this->template','$this->lang','$this->version')
read_from_cache(,,,version='$version'): "; if ($cname = $this->in_cache($name,$template,$lang,$group)) { - $this->init($GLOBALS['phpgw_info']['etemplate']['cache'][$cname]); + $this->init($GLOBALS['egw_info']['etemplate']['cache'][$cname]); return True; } diff --git a/phpgwapi/inc/class.sessions_php4.inc.php b/phpgwapi/inc/class.sessions_php4.inc.php index 4710e57c77..ba2e53b86a 100644 --- a/phpgwapi/inc/class.sessions_php4.inc.php +++ b/phpgwapi/inc/class.sessions_php4.inc.php @@ -24,13 +24,22 @@ /* $Id$ */ + define('EGW_SESSION_VAR','egw_session'); // where to store our session-data $_SESSION[EGW_SESSION_VAR] + + /** + * Session Management via php4 sessions + * + * @package api + * @subpackage sessions + */ class sessions extends sessions_ { + function sessions($domain_names=null) { $this->sessions_($domain_names); //controls the time out for php4 sessions - skwashd 18-May-2003 - ini_set('session.gc_maxlifetime', $GLOBALS['phpgw_info']['server']['sessions_timeout']); + ini_set('session.gc_maxlifetime', $GLOBALS['egw_info']['server']['sessions_timeout']); session_name('sessionid'); } @@ -42,7 +51,7 @@ } session_id($this->sessionid); session_start(); - return $_SESSION['egw']; + return $_SESSION[EGW_SESSION_VAR]; } function set_cookie_params($domain) @@ -60,15 +69,15 @@ function register_session($login,$user_ip,$now,$session_flags) { // session_start() is now called in new_session_id() !!! - $_SESSION['egw']['session_id'] = $this->sessionid; - $_SESSION['egw']['session_lid'] = $login; - $_SESSION['egw']['session_ip'] = $user_ip; - $_SESSION['egw']['session_logintime'] = $now; - $_SESSION['egw']['session_dla'] = $now; - $_SESSION['egw']['session_action'] = $_SERVER['PHP_SELF']; - $_SESSION['egw']['session_flags'] = $session_flags; + $_SESSION[EGW_SESSION_VAR]['session_id'] = $this->sessionid; + $_SESSION[EGW_SESSION_VAR]['session_lid'] = $login; + $_SESSION[EGW_SESSION_VAR]['session_ip'] = $user_ip; + $_SESSION[EGW_SESSION_VAR]['session_logintime'] = $now; + $_SESSION[EGW_SESSION_VAR]['session_dla'] = $now; + $_SESSION[EGW_SESSION_VAR]['session_action'] = $_SERVER['PHP_SELF']; + $_SESSION[EGW_SESSION_VAR]['session_flags'] = $session_flags; // we need the install-id to differ between serveral installs shareing one tmp-dir - $_SESSION['egw']['session_install_id'] = $GLOBALS['phpgw_info']['server']['install_id']; + $_SESSION[EGW_SESSION_VAR]['session_install_id'] = $GLOBALS['egw_info']['server']['install_id']; } // This will update the DateLastActive column, so the login does not expire @@ -90,8 +99,8 @@ $action = $this->xmlrpc_method_called; } - $_SESSION['egw']['session_dla'] = time(); - $_SESSION['egw']['session_action'] = $action; + $_SESSION[EGW_SESSION_VAR]['session_dla'] = time(); + $_SESSION[EGW_SESSION_VAR]['session_action'] = $action; return True; } @@ -106,12 +115,12 @@ $this->log_access($this->sessionid); // log logout-time // Only do the following, if where working with the current user - if ($sessionid == $GLOBALS['phpgw_info']['user']['sessionid']) + if ($sessionid == $GLOBALS['egw_info']['user']['sessionid']) { session_unset(); //echo "
sessions_php4::destroy: session_destroy() returned ".(session_destroy() ? 'True' : 'False')."
\n"; @session_destroy(); - if ($GLOBALS['phpgw_info']['server']['usecookies']) + if ($GLOBALS['egw_info']['server']['usecookies']) { $this->phpgw_setcookie(session_name()); } @@ -137,38 +146,38 @@ { $account_id = get_account_id($accountid,$this->account_id); - $_SESSION['egw']['app_sessions']['phpgwapi']['phpgw_info_cache'] = ''; + $_SESSION[EGW_SESSION_VAR]['app_sessions']['phpgwapi']['phpgw_info_cache'] = ''; } function appsession($location = 'default', $appname = '', $data = '##NOTHING##') { if (! $appname) { - $appname = $GLOBALS['phpgw_info']['flags']['currentapp']; + $appname = $GLOBALS['egw_info']['flags']['currentapp']; } /* This allows the user to put '' as the value. */ if ($data == '##NOTHING##') { /* do not decrypt and return if no data (decrypt returning garbage) */ - if($_SESSION['egw']['app_sessions'][$appname][$location]) + if($_SESSION[EGW_SESSION_VAR]['app_sessions'][$appname][$location]) { - return $GLOBALS['phpgw']->crypto->decrypt($_SESSION['egw']['app_sessions'][$appname][$location]); + return $GLOBALS['egw']->crypto->decrypt($_SESSION[EGW_SESSION_VAR]['app_sessions'][$appname][$location]); } return false; } - $_SESSION['egw']['app_sessions'][$appname][$location] = $GLOBALS['phpgw']->crypto->encrypt($data); + $_SESSION[EGW_SESSION_VAR]['app_sessions'][$appname][$location] = $GLOBALS['egw']->crypto->encrypt($data); return $data; } function session_sort($a,$b) { - $sign = strcasecmp($GLOBALS['phpgw']->session->sort_order,'ASC') ? 1 : -1; + $sign = strcasecmp($GLOBALS['egw']->session->sort_order,'ASC') ? 1 : -1; return strcasecmp( - $a[$GLOBALS['phpgw']->session->sort_by], - $b[$GLOBALS['phpgw']->session->sort_by] + $a[$GLOBALS['egw']->session->sort_by], + $b[$GLOBALS['egw']->session->sort_by] ) * $sign; } @@ -181,10 +190,10 @@ function list_sessions($start,$order,$sort,$all_no_sort = False) { //echo "session_php4::list_sessions($start,'$order','$sort',$all)
\n"; - $session_cache = $this->appsession('php4_session_cache','phpgwapi'); + //$session_cache = $this->appsession('php4_session_cache','phpgwapi'); $values = array(); - $maxmatchs = $GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs']; + $maxmatchs = $GLOBALS['egw_info']['user']['preferences']['common']['maxmatchs']; $dir = @opendir($path = ini_get('session.save_path')); if (!$dir) // eg. openbasedir restrictions { @@ -217,17 +226,17 @@ $session = ($size = filesize ($path . '/' . $file)) ? fread ($fd, $size) : 0; fclose ($fd); } - if (substr($session,0,4) != 'egw|') + if (substr($session,0,1+strlen(EGW_SESSION_VAR)) != EGW_SESSION_VAR.'|') { $session_cache[$file] = false; // dont try reading it again continue; } - $session = unserialize(substr($session,4)); + $session = unserialize(substr($session,1+strlen(EGW_SESSION_VAR))); unset($session['app_sessions']); // not needed, saves memory $session_cache[$file] = $session; } if($session['session_flags'] == 'A' || !$session['session_id'] || - $session['session_install_id'] != $GLOBALS['phpgw_info']['server']['install_id']) + $session['session_install_id'] != $GLOBALS['egw_info']['server']['install_id']) { $session_cache[$file] = false; // dont try reading it again continue; // no anonymous sessions or other domains or installations @@ -241,8 +250,8 @@ if(!$all_no_sort) { - $GLOBALS['phpgw']->session->sort_by = $sort; - $GLOBALS['phpgw']->session->sort_order = $order; + $GLOBALS['egw']->session->sort_by = $sort; + $GLOBALS['egw']->session->sort_order = $order; uasort($values,array('sessions','session_sort'));