Skip to content

Commit f92de22

Browse files
committed
Implemented: FS#983 - Make webmail and phpmyadmin link configurable
1 parent 05b8eaa commit f92de22

File tree

7 files changed

+120
-71
lines changed

7 files changed

+120
-71
lines changed

install/tpl/system.ini.master

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
[mail]
1010
mailboxlist_webmail_link=y
11+
webmail_url=
1112

1213
[monitor]
1314

@@ -17,5 +18,6 @@ dbuser_prefix=c[CLIENTID]
1718
ftpuser_prefix=[CLIENTNAME]
1819
shelluser_prefix=[CLIENTNAME]
1920
dblist_phpmyadmin_link=y
21+
phpmyadmin_url=
2022

2123
[tools]

interface/web/admin/form/system_config.tform.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,18 @@
112112
'default' => 'n',
113113
'value' => array(0 => 'n',1 => 'y')
114114
),
115+
'phpmyadmin_url' => array (
116+
'datatype' => 'VARCHAR',
117+
'formtype' => 'TEXT',
118+
'validators' => array ( 0 => array ( 'type' => 'REGEX',
119+
'regex' => '/^[0-9a-zA-Z\:\/\-]{0,255}$/',
120+
'errmsg'=> 'phpmyadmin_url_error_regex'),
121+
),
122+
'default' => '',
123+
'value' => '',
124+
'width' => '30',
125+
'maxlength' => '255'
126+
),
115127
##################################
116128
# ENDE Datatable fields
117129
##################################
@@ -132,6 +144,18 @@
132144
'default' => 'n',
133145
'value' => array(0 => 'n',1 => 'y')
134146
),
147+
'webmail_url' => array (
148+
'datatype' => 'VARCHAR',
149+
'formtype' => 'TEXT',
150+
'validators' => array ( 0 => array ( 'type' => 'REGEX',
151+
'regex' => '/^[0-9a-zA-Z\:\/\-]{0,255}$/',
152+
'errmsg'=> 'webmail_url_error_regex'),
153+
),
154+
'default' => '',
155+
'value' => '',
156+
'width' => '30',
157+
'maxlength' => '255'
158+
),
135159
##################################
136160
# ENDE Datatable fields
137161
##################################

interface/web/admin/lib/lang/en_system_config.lng

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,7 @@ $wb['ftpuser_prefix_error_regex'] = 'Char not allowed in ftp user prefix.';
1111
$wb['shelluser_prefix_error_regex'] = 'Char not allowed in shell user prefix.';
1212
$wb['dblist_phpmyadmin_link_txt'] = 'Link to phpmyadmin in DB list';
1313
$wb['mailboxlist_webmail_link_txt'] = 'Link to webmail in Mailbox list';
14+
$wb['webmail_url_txt'] = 'Webmail URL';
15+
$wb['phpmyadmin_url_txt'] = 'PHPMyAdmin URL';
1416

1517
?>
Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
1-
<h2><tmpl_var name="list_head_txt"></h2>
2-
<p><tmpl_var name="list_desc_txt"></p>
3-
4-
<div class="panel panel_system_config">
5-
6-
<div class="pnl_formsarea">
7-
<fieldset class="inlineLabels">
8-
<div class="ctrlHolder">
9-
<p class="label">{tmpl_var name='mailboxlist_webmail_link_txt'}</p>
10-
<div class="multiField">
11-
{tmpl_var name='mailboxlist_webmail_link'}
12-
</div>
13-
</div>
14-
</fieldset>
15-
16-
<input type="hidden" name="id" value="{tmpl_var name='id'}">
17-
18-
<div class="buttonHolder buttons">
19-
<button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/system_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
20-
<button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
21-
</div>
22-
</div>
23-
24-
</div>
1+
<h2><tmpl_var name="list_head_txt"></h2>
2+
<p><tmpl_var name="list_desc_txt"></p>
3+
4+
<div class="panel panel_system_config">
5+
6+
<div class="pnl_formsarea">
7+
<fieldset class="inlineLabels">
8+
<div class="ctrlHolder">
9+
<p class="label">{tmpl_var name='mailboxlist_webmail_link_txt'}</p>
10+
<div class="multiField">
11+
{tmpl_var name='mailboxlist_webmail_link'}
12+
</div>
13+
</div>
14+
<div class="ctrlHolder">
15+
<label for="webmail_url">{tmpl_var name='webmail_url_txt'}</label>
16+
<input name="webmail_url" id="webmail_url" value="{tmpl_var name='webmail_url'}" size="30" maxlength="255" type="text" class="textInput" />
17+
</div>
18+
</fieldset>
19+
20+
<input type="hidden" name="id" value="{tmpl_var name='id'}">
21+
22+
<div class="buttonHolder buttons">
23+
<button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/system_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
24+
<button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
25+
</div>
26+
</div>
27+
28+
</div>
Lines changed: 44 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,44 @@
1-
<h2><tmpl_var name="list_head_txt"></h2>
2-
<p><tmpl_var name="list_desc_txt"></p>
3-
4-
<div class="panel panel_system_config">
5-
6-
<div class="pnl_formsarea">
7-
<fieldset class="inlineLabels">
8-
<div class="ctrlHolder">
9-
<label for="dbname_prefix">{tmpl_var name='dbname_prefix_txt'}</label>
10-
<input name="dbname_prefix" id="dbname_prefix" value="{tmpl_var name='dbname_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
11-
</div>
12-
<div class="ctrlHolder">
13-
<label for="dbuser_prefix">{tmpl_var name='dbuser_prefix_txt'}</label>
14-
<input name="dbuser_prefix" id="dbuser_prefix" value="{tmpl_var name='dbuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
15-
</div>
16-
<div class="ctrlHolder">
17-
<label for="ftpuser_prefix">{tmpl_var name='ftpuser_prefix_txt'}</label>
18-
<input name="ftpuser_prefix" id="ftpuser_prefix" value="{tmpl_var name='ftpuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
19-
</div>
20-
<div class="ctrlHolder">
21-
<label for="shelluser_prefix">{tmpl_var name='shelluser_prefix_txt'}</label>
22-
<input name="shelluser_prefix" id="shelluser_prefix" value="{tmpl_var name='shelluser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
23-
</div>
24-
<div class="ctrlHolder">
25-
<p class="label">{tmpl_var name='dblist_phpmyadmin_link_txt'}</p>
26-
<div class="multiField">
27-
{tmpl_var name='dblist_phpmyadmin_link'}
28-
</div>
29-
</div>
30-
</fieldset>
31-
32-
<input type="hidden" name="id" value="{tmpl_var name='id'}">
33-
34-
<div class="buttonHolder buttons">
35-
<button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/system_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
36-
<button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
37-
</div>
38-
</div>
39-
40-
</div>
1+
<h2><tmpl_var name="list_head_txt"></h2>
2+
<p><tmpl_var name="list_desc_txt"></p>
3+
4+
<div class="panel panel_system_config">
5+
6+
<div class="pnl_formsarea">
7+
<fieldset class="inlineLabels">
8+
<div class="ctrlHolder">
9+
<label for="dbname_prefix">{tmpl_var name='dbname_prefix_txt'}</label>
10+
<input name="dbname_prefix" id="dbname_prefix" value="{tmpl_var name='dbname_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
11+
</div>
12+
<div class="ctrlHolder">
13+
<label for="dbuser_prefix">{tmpl_var name='dbuser_prefix_txt'}</label>
14+
<input name="dbuser_prefix" id="dbuser_prefix" value="{tmpl_var name='dbuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
15+
</div>
16+
<div class="ctrlHolder">
17+
<label for="ftpuser_prefix">{tmpl_var name='ftpuser_prefix_txt'}</label>
18+
<input name="ftpuser_prefix" id="ftpuser_prefix" value="{tmpl_var name='ftpuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
19+
</div>
20+
<div class="ctrlHolder">
21+
<label for="shelluser_prefix">{tmpl_var name='shelluser_prefix_txt'}</label>
22+
<input name="shelluser_prefix" id="shelluser_prefix" value="{tmpl_var name='shelluser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
23+
</div>
24+
<div class="ctrlHolder">
25+
<p class="label">{tmpl_var name='dblist_phpmyadmin_link_txt'}</p>
26+
<div class="multiField">
27+
{tmpl_var name='dblist_phpmyadmin_link'}
28+
</div>
29+
</div>
30+
<div class="ctrlHolder">
31+
<label for="phpmyadmin_url">{tmpl_var name='phpmyadmin_url_txt'}</label>
32+
<input name="phpmyadmin_url" id="phpmyadmin_url" value="{tmpl_var name='phpmyadmin_url'}" size="30" maxlength="255" type="text" class="textInput" />
33+
</div>
34+
</fieldset>
35+
36+
<input type="hidden" name="id" value="{tmpl_var name='id'}">
37+
38+
<div class="buttonHolder buttons">
39+
<button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/system_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
40+
<button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/users_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
41+
</div>
42+
</div>
43+
44+
</div>

interface/web/mail/webmailer.php

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,20 @@
4949
die ("No E-Mail - Server found!");
5050
}
5151

52-
$serverData = $app->db->queryOneRecord(
53-
"SELECT server_name FROM server WHERE server_id = " .
54-
$serverId);
52+
$serverData = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ".$serverId);
53+
54+
$app->uses('getconf');
55+
$global_config = $app->getconf->get_global_config('mail');
56+
57+
if($global_config['webmail_url'] != '') {
58+
header('Location:' . $global_config['webmail_url']);
59+
} else {
5560

5661
/*
5762
* We only redirect to the login-form, so there is no need, to check any rights
5863
*/
59-
isset($_SERVER['HTTPS'])? $http = 'https' : $http = 'http';
60-
header('location:' . $http . '://' . $serverData['server_name'] . '/webmail');
64+
isset($_SERVER['HTTPS'])? $http = 'https' : $http = 'http';
65+
header('Location:' . $http . '://' . $serverData['server_name'] . '/webmail');
66+
}
6167
exit;
6268
?>

interface/web/sites/database_phpmyadmin.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,18 @@
5353
$serverData = $app->db->queryOneRecord(
5454
"SELECT server_name FROM server WHERE server_id = " .
5555
$serverId);
56+
57+
$app->uses('getconf');
58+
$global_config = $app->getconf->get_global_config('sites');
5659

5760
/*
5861
* We only redirect to the login-form, so there is no need, to check any rights
5962
*/
60-
isset($_SERVER['HTTPS'])? $http = 'https' : $http = 'http';
61-
header('location:' . $http . '://' . $serverData['server_name'] . '/phpmyadmin');
63+
if($global_config['phpmyadmin_url'] != '') {
64+
header('Location:'.$global_config['phpmyadmin_url']);
65+
} else {
66+
isset($_SERVER['HTTPS'])? $http = 'https' : $http = 'http';
67+
header('location:' . $http . '://' . $serverData['server_name'] . '/phpmyadmin');
68+
}
6269
exit;
6370
?>

0 commit comments

Comments
 (0)