From 51e1dde2aa5c31b01f77479fe3fc86dffd2c8f29 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Fri, 12 Feb 2016 11:06:02 -0500
Subject: [PATCH] Merge branch 'master' into 'stable-3.1'

---
 interface/web/mail/webmailer.php |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/interface/web/mail/webmailer.php b/interface/web/mail/webmailer.php
index eb4207d..d6f73cc 100644
--- a/interface/web/mail/webmailer.php
+++ b/interface/web/mail/webmailer.php
@@ -28,41 +28,48 @@
 */
 
 
-require_once('../../lib/config.inc.php');
-require_once('../../lib/app.inc.php');
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
-$app->auth->check_module_permissions('sites');
+$app->auth->check_module_permissions('mail');
 
 /* get the id of the mail (must be int!) */
 if (!isset($_GET['id'])){
-    die ("No E-Mail selected!");
+	die ("No E-Mail selected!");
 }
-$emailId = intval($_GET['id']);
+$emailId = $app->functions->intval($_GET['id']);
 
 /*
  * Get the data to connect to the database
  */
-$dbData = $app->db->queryOneRecord("SELECT server_id FROM mail_user WHERE mailuser_id = " . $emailId);
-$serverId = intval($dbData['server_id']);
+$dbData = $app->db->queryOneRecord("SELECT server_id FROM mail_user WHERE mailuser_id = ?", $emailId);
+$serverId = $app->functions->intval($dbData['server_id']);
 if ($serverId == 0){
-    die ("No E-Mail - Server found!");
+	die ("No E-Mail - Server found!");
 }
 
-$serverData = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ".$serverId);
+$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:' . $global_config['webmail_url']);
+	$webmail_url = $global_config['webmail_url'];
+	$webmail_url = str_replace('[SERVERNAME]', $serverData['server_name'], $webmail_url);
+	header('Location:' . $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');
+	if($web_config['server_type'] == 'nginx') {
+		header('Location: http://' . $serverData['server_name'] . ':8081/webmail');
+	} else {
+		header('Location: ' . $http . '://' . $serverData['server_name'] . '/webmail');
+	}
+	isset($_SERVER['HTTPS'])? $http = 'https' : $http = 'http';
 }
 exit;
-?>
\ No newline at end of file
+?>

--
Gitblit v1.9.1