mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-22 14:41:29 +01:00
"extra param to session::create() to not create a session, eg. for GroupDAV clients know to not support cookies, eg. Apple's iCal"
This commit is contained in:
parent
6d274a7aca
commit
496f8b9c1a
@ -559,9 +559,10 @@
|
|||||||
* @param string $login user login
|
* @param string $login user login
|
||||||
* @param string $passwd user password
|
* @param string $passwd user password
|
||||||
* @param string $passwd_type type of password being used, ie plaintext, md5, sha1
|
* @param string $passwd_type type of password being used, ie plaintext, md5, sha1
|
||||||
|
* @param boolean $no_session_needed=false dont create a real session, eg. for GroupDAV clients using only basic auth, no cookie support
|
||||||
* @return string session id
|
* @return string session id
|
||||||
*/
|
*/
|
||||||
function create($login,$passwd = '',$passwd_type = '')
|
function create($login,$passwd = '',$passwd_type = '',$no_session=false)
|
||||||
{
|
{
|
||||||
if (is_array($login))
|
if (is_array($login))
|
||||||
{
|
{
|
||||||
@ -638,16 +639,16 @@
|
|||||||
|
|
||||||
$GLOBALS['egw_info']['user']['account_id'] = $this->account_id;
|
$GLOBALS['egw_info']['user']['account_id'] = $this->account_id;
|
||||||
$GLOBALS['egw']->accounts->accounts($this->account_id);
|
$GLOBALS['egw']->accounts->accounts($this->account_id);
|
||||||
$this->sessionid = $this->new_session_id();
|
$this->sessionid = $no_session ? 'no-session' : $this->new_session_id();
|
||||||
$this->kp3 = md5($GLOBALS['egw']->common->randomstring(15));
|
$this->kp3 = md5($GLOBALS['egw']->common->randomstring(15));
|
||||||
|
|
||||||
if ($GLOBALS['egw_info']['server']['usecookies'])
|
if ($GLOBALS['egw_info']['server']['usecookies'] && !$no_session)
|
||||||
{
|
{
|
||||||
$this->egw_setcookie('sessionid',$this->sessionid);
|
$this->egw_setcookie('sessionid',$this->sessionid);
|
||||||
$this->egw_setcookie('kp3',$this->kp3);
|
$this->egw_setcookie('kp3',$this->kp3);
|
||||||
$this->egw_setcookie('domain',$this->account_domain);
|
$this->egw_setcookie('domain',$this->account_domain);
|
||||||
}
|
}
|
||||||
if ($GLOBALS['egw_info']['server']['usecookies'] || isset($_COOKIE['last_loginid']))
|
if ($GLOBALS['egw_info']['server']['usecookies'] && !$no_session || isset($_COOKIE['last_loginid']))
|
||||||
{
|
{
|
||||||
$this->egw_setcookie('last_loginid', $this->account_lid ,$now+1209600); /* For 2 weeks */
|
$this->egw_setcookie('last_loginid', $this->account_lid ,$now+1209600); /* For 2 weeks */
|
||||||
$this->egw_setcookie('last_domain',$this->account_domain,$now+1209600);
|
$this->egw_setcookie('last_domain',$this->account_domain,$now+1209600);
|
||||||
|
Loading…
Reference in New Issue
Block a user