Hi,
I decided to do that the right way, so the webmailer.php would be like that:
PHP Code:
<?php
require_once('../../lib/config.inc.php');
require_once('../../lib/app.inc.php');
//* Check permissions for module
$app->auth->check_module_permissions('mail');
/* get the id of the mail (must be int!) */
if (!isset($_GET['id'])){
die ("No E-Mail selected!");
}
$emailId = intval($_GET['id']);
/*
* Get the data to connect to the database
*/
$dbData = $app->db->queryOneRecord("SELECT server_id,login FROM mail_user WHERE mailuser_id = " . $emailId);
$serverId = intval($dbData['server_id']);
if ($serverId == 0){
die ("No E-Mail - Server found!");
}
$serverData = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ".$serverId);
$app->uses('getconf');
$global_config = $app->getconf->get_global_config('mail');
if($global_config['webmail_url'] != '') {
header('Location:' . preg_replace(array('/%u/','/%h/'), array($dbData['login'], $serverData['server_name']), $global_config['webmail_url']));
} else {
/*
* We only redirect to the login-form, so there is no need, to check any rights
*/
isset($_SERVER['HTTPS'])? $http = 'https' : $http = 'http';
header('Location:' . $http . '://' . $serverData['server_name'] . '/webmail');
}
exit;
?>
This will work for any webmail, because now you go to
System->Interface Config->Mail and set the
Webmail URL to something like that (example for Roundcube):
PHP Code:
http://webmail.your_domain.com?_user=%u&_host=%h
But ISPConfig regex will not allow you to insert anything but alpha numeric characters in this config field.
So for now you can edit the
sys_ini table on ispconfig DB and update this config by hand.
Hope it comes in the next version of ISPConfig.
Hey Devs, here is my little contribution.
Recent comments
1 day 20 hours ago
2 days 5 hours ago
2 days 8 hours ago
2 days 9 hours ago
2 days 10 hours ago
2 days 12 hours ago
2 days 13 hours ago
2 days 15 hours ago
3 days 7 hours ago
3 days 7 hours ago