Hi All,
it's me again :-) !!!!!!!
I would use roundcube with autologin from another php script. I found the plugin "autologin" but it seems to work. This is my php script :
<!DOCTYPE html>
<html> <head> </head> <body> <? $_POST['password'] = 'password in clear and in plain text'; $_SESSION['userpassword'] = strrev(base64_encode('*yourkey*'.$_POST ['password'])); ?> <form name="roundcubelogin" action="http://192.168.254.201/roundcube/? _task=mail" method="post" target="roundcube"> <input type="hidden" name="_timezone" value="_default_" /> <input type="hidden" name="_task" value="mail" /> <input type="hidden" name="_autologin" value="1" /> <input type="hidden" name="_user" value="mark" /> <input type="hidden" name="_host" value="192.168.254.201:143" /> <input type="hidden" name="_pass" value="<?echo $_SESSION['userpassword']?>" /> <input type="submit" name="submit" value="SUBMIT" /> </form> </body> </html>
The plugin autologin.php :
<?php
/**
*/
class autologin extends rcube_plugin {
function init() { $this->add_hook('startup', array($this, 'startup')); $this->add_hook('authenticate', array($this, 'authenticate')); }
function startup($args) { $rcmail = rcmail::get_instance();
$autologin = get_input_value('_autologin', RCUBE_INPUT_POST);
// change action to login
if ($args['task'] == 'mail' && empty($args['action']) && empty($_SESSION
['user_id']) && !empty($autologin)) { $args['action'] = 'login';
// decode pass, revert and replace key
$_POST['_pass'] = str_replace('*yourkey*','',base64_decode(strrev
(get_input_value('_pass', RCUBE_INPUT_POST, true, 'ISO-8859-1'))));
// set initial cookie without this cookie login is not possible
$_COOKIE['roundcube_sessid'] = session_id();
}
return $args;
}
function authenticate($args) { $autologin = get_input_value('_autologin', RCUBE_INPUT_POST);
if (!empty($autologin)) {
$args['user'] = get_input_value('_user', RCUBE_INPUT_POST);
$args['pass'] = get_input_value('_pass', RCUBE_INPUT_POST);
$args['host'] = get_input_value('_host', RCUBE_INPUT_POST);
}
return $args;
} }