Hoffentlich diesesmal ...
<?php
/**
* Redirect on logout / optionally lock login page
*
* @version 1.0 - 31.12.2009
* @author Roland 'rosali' Liebl
* @website http://myroundcube.googlecode.com
* @licence GNU GPL
*
**/
/** USAGE
*
* #1- Copy "logout_redirect/config/config.inc.php.dist" to "config.inc.php"
* #2- Configure "logout_redirect/config/config.inc.php".
* #3- Register plugin ("./config/main.inc.php ::: $rcmail_config['plugins']").
*
**/
class logout_redirect extends rcube_plugin
{
private $msg = 'sessionerror';
function init()
{
if(file_exists("./plugins/logout_redirect/config/config.inc.php"))
$this->load_config('config/config.inc.php');
else
$this->load_config('config/config.inc.php.dist');
$this->add_hook('render_page', array($this, 'login_page'));
$this->add_hook('login_after', array($this,'login_after'));
$this->add_hook('kill_session', array($this,'kill_session'));
}
function login_after($args)
{
if(!empty($_POST['ajax']))
setcookie ('ajax_login',1,time()+60*60*24*365);
else
setcookie ('ajax_login','',time()-3600);
return $args;
}
function kill_session($args)
{
if($_COOKIE['ajax_login'] == 1){
setcookie ('ajax_login','',time()-3600);
$this->msg = 'loggedout';
$rcmail = rcmail::get_instance();
header("Location: " . $rcmail->config->get('logout_redirect_url') . "msg=" . urlencode(rcube_label($this->msg)));
exit;
}
return $args;
}
function login_page($p)
{
if($p['template'] == 'login' && $_COOKIE['ajax_login'] == 1){
setcookie ('ajax_login','',time()-3600);
$rcmail = rcmail::get_instance();
header("Location: " . $rcmail->config->get('logout_redirect_url') . "msg=" . urlencode(rcube_label($this->msg)));
exit;
}
return $p;
}
}
?>