forked from extern/egroupware
fixed not working redirect to index url of app, if etemplate session is lost (tested with mail app)
This commit is contained in:
parent
99ce5b41f9
commit
56ea1da5aa
@ -174,12 +174,24 @@ class etemplate_request
|
|||||||
}
|
}
|
||||||
if (!$request) // eT2 request/session expired
|
if (!$request) // eT2 request/session expired
|
||||||
{
|
{
|
||||||
/* redirect to index-url of app does not work, opens eTemplate tab in Stylite/Pixelegg template :-(
|
|
||||||
list($app) = explode('.', $_GET['menuaction']);
|
list($app) = explode('.', $_GET['menuaction']);
|
||||||
$index_url = isset($GLOBALS['egw_info']['apps'][$app]['index']) ?
|
$index_url = isset($GLOBALS['egw_info']['apps'][$app]['index']) ?
|
||||||
'/index.php?menuaction='.$GLOBALS['egw_info']['apps'][$app]['index'] : '/'.$app.'/index.php';
|
'/index.php?menuaction='.$GLOBALS['egw_info']['apps'][$app]['index'] : '/'.$app.'/index.php';
|
||||||
egw_framework::redirect_link($index_url); */
|
error_log(__METHOD__."('$id', ...) eT2 request not found / expired --> redirecting app $app to $index_url (_GET[menuaction]=$_GET[menuaction], isJSONRequest()=".array2string(egw_json_request::isJSONRequest()).')');
|
||||||
error_log(__METHOD__."('$id', ...) eT2 request not found / expired!");
|
if (egw_json_request::isJSONRequest())
|
||||||
|
{
|
||||||
|
// we must not redirect ajax_destroy_session calls, as they might originate from our own redirect!
|
||||||
|
if (strpos($_GET['menuaction'], '.ajax_destroy_session.etemplate') === false)
|
||||||
|
{
|
||||||
|
$response = egw_json_response::get();
|
||||||
|
$response->redirect($index_url, false, $app);
|
||||||
|
common::egw_exit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
egw_framework::redirect_link($index_url);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $request;
|
return $request;
|
||||||
}
|
}
|
||||||
|
@ -136,7 +136,7 @@ class etemplate_request_cache extends etemplate_request
|
|||||||
// if half of expiration time is over, save it anyway, to restart expiration time
|
// if half of expiration time is over, save it anyway, to restart expiration time
|
||||||
isset($this->data['last_saved']) && (time()-$this->data['last_saved']) > self::EXPIRATION/2))
|
isset($this->data['last_saved']) && (time()-$this->data['last_saved']) > self::EXPIRATION/2))
|
||||||
{
|
{
|
||||||
//error_log(__METHOD__."() saving $this->id");
|
//error_log(__METHOD__."() saving $this->id".($this->data_modified?'':' data NOT modified, just keeping session alife'));
|
||||||
$this->data['last_saved'] = time();
|
$this->data['last_saved'] = time();
|
||||||
if (!egw_cache::setTree($GLOBALS['egw_info']['server']['install_id'].'_etemplate', $this->id, $this->data, self::EXPIRATION))
|
if (!egw_cache::setTree($GLOBALS['egw_info']['server']['install_id'].'_etemplate', $this->id, $this->data, self::EXPIRATION))
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user