From f92de226be118b700f391264ea73fd4a7a090da1 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Thu, 19 Nov 2009 10:52:39 -0500 Subject: [PATCH] Implemented: FS#983 - Make webmail and phpmyadmin link configurable --- interface/web/admin/lib/lang/en_system_config.lng | 2 interface/web/mail/webmailer.php | 16 ++- install/tpl/system.ini.master | 2 interface/web/admin/templates/system_config_mail_edit.htm | 52 +++++++------ interface/web/admin/templates/system_config_sites_edit.htm | 84 +++++++++++---------- interface/web/sites/database_phpmyadmin.php | 11 ++ interface/web/admin/form/system_config.tform.php | 24 ++++++ 7 files changed, 120 insertions(+), 71 deletions(-) diff --git a/install/tpl/system.ini.master b/install/tpl/system.ini.master index 9d6a016..f59a0b8 100644 --- a/install/tpl/system.ini.master +++ b/install/tpl/system.ini.master @@ -8,6 +8,7 @@ [mail] mailboxlist_webmail_link=y +webmail_url= [monitor] @@ -17,5 +18,6 @@ ftpuser_prefix=[CLIENTNAME] shelluser_prefix=[CLIENTNAME] dblist_phpmyadmin_link=y +phpmyadmin_url= [tools] \ No newline at end of file diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php index fede652..9aabc27 100644 --- a/interface/web/admin/form/system_config.tform.php +++ b/interface/web/admin/form/system_config.tform.php @@ -112,6 +112,18 @@ 'default' => 'n', 'value' => array(0 => 'n',1 => 'y') ), + 'phpmyadmin_url' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'validators' => array ( 0 => array ( 'type' => 'REGEX', + 'regex' => '/^[0-9a-zA-Z\:\/\-]{0,255}$/', + 'errmsg'=> 'phpmyadmin_url_error_regex'), + ), + 'default' => '', + 'value' => '', + 'width' => '30', + 'maxlength' => '255' + ), ################################## # ENDE Datatable fields ################################## @@ -132,6 +144,18 @@ 'default' => 'n', 'value' => array(0 => 'n',1 => 'y') ), + 'webmail_url' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'validators' => array ( 0 => array ( 'type' => 'REGEX', + 'regex' => '/^[0-9a-zA-Z\:\/\-]{0,255}$/', + 'errmsg'=> 'webmail_url_error_regex'), + ), + 'default' => '', + 'value' => '', + 'width' => '30', + 'maxlength' => '255' + ), ################################## # ENDE Datatable fields ################################## diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng index 3317476..4502227 100644 --- a/interface/web/admin/lib/lang/en_system_config.lng +++ b/interface/web/admin/lib/lang/en_system_config.lng @@ -11,5 +11,7 @@ $wb['shelluser_prefix_error_regex'] = 'Char not allowed in shell user prefix.'; $wb['dblist_phpmyadmin_link_txt'] = 'Link to phpmyadmin in DB list'; $wb['mailboxlist_webmail_link_txt'] = 'Link to webmail in Mailbox list'; +$wb['webmail_url_txt'] = 'Webmail URL'; +$wb['phpmyadmin_url_txt'] = 'PHPMyAdmin URL'; ?> \ No newline at end of file diff --git a/interface/web/admin/templates/system_config_mail_edit.htm b/interface/web/admin/templates/system_config_mail_edit.htm index 1dffbc9..776c513 100644 --- a/interface/web/admin/templates/system_config_mail_edit.htm +++ b/interface/web/admin/templates/system_config_mail_edit.htm @@ -1,24 +1,28 @@ -<h2><tmpl_var name="list_head_txt"></h2> -<p><tmpl_var name="list_desc_txt"></p> - -<div class="panel panel_system_config"> - - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='mailboxlist_webmail_link_txt'}</p> - <div class="multiField"> - {tmpl_var name='mailboxlist_webmail_link'} - </div> - </div> - </fieldset> - - <input type="hidden" name="id" value="{tmpl_var name='id'}"> - - <div class="buttonHolder buttons"> - <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> - <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> - </div> - </div> - -</div> +<h2><tmpl_var name="list_head_txt"></h2> +<p><tmpl_var name="list_desc_txt"></p> + +<div class="panel panel_system_config"> + + <div class="pnl_formsarea"> + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='mailboxlist_webmail_link_txt'}</p> + <div class="multiField"> + {tmpl_var name='mailboxlist_webmail_link'} + </div> + </div> + <div class="ctrlHolder"> + <label for="webmail_url">{tmpl_var name='webmail_url_txt'}</label> + <input name="webmail_url" id="webmail_url" value="{tmpl_var name='webmail_url'}" size="30" maxlength="255" type="text" class="textInput" /> + </div> + </fieldset> + + <input type="hidden" name="id" value="{tmpl_var name='id'}"> + + <div class="buttonHolder buttons"> + <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> + <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> + </div> + </div> + +</div> diff --git a/interface/web/admin/templates/system_config_sites_edit.htm b/interface/web/admin/templates/system_config_sites_edit.htm index 209efaa..996a941 100644 --- a/interface/web/admin/templates/system_config_sites_edit.htm +++ b/interface/web/admin/templates/system_config_sites_edit.htm @@ -1,40 +1,44 @@ -<h2><tmpl_var name="list_head_txt"></h2> -<p><tmpl_var name="list_desc_txt"></p> - -<div class="panel panel_system_config"> - - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"> - <div class="ctrlHolder"> - <label for="dbname_prefix">{tmpl_var name='dbname_prefix_txt'}</label> - <input name="dbname_prefix" id="dbname_prefix" value="{tmpl_var name='dbname_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" /> - </div> - <div class="ctrlHolder"> - <label for="dbuser_prefix">{tmpl_var name='dbuser_prefix_txt'}</label> - <input name="dbuser_prefix" id="dbuser_prefix" value="{tmpl_var name='dbuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" /> - </div> - <div class="ctrlHolder"> - <label for="ftpuser_prefix">{tmpl_var name='ftpuser_prefix_txt'}</label> - <input name="ftpuser_prefix" id="ftpuser_prefix" value="{tmpl_var name='ftpuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" /> - </div> - <div class="ctrlHolder"> - <label for="shelluser_prefix">{tmpl_var name='shelluser_prefix_txt'}</label> - <input name="shelluser_prefix" id="shelluser_prefix" value="{tmpl_var name='shelluser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" /> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='dblist_phpmyadmin_link_txt'}</p> - <div class="multiField"> - {tmpl_var name='dblist_phpmyadmin_link'} - </div> - </div> - </fieldset> - - <input type="hidden" name="id" value="{tmpl_var name='id'}"> - - <div class="buttonHolder buttons"> - <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> - <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> - </div> - </div> - -</div> +<h2><tmpl_var name="list_head_txt"></h2> +<p><tmpl_var name="list_desc_txt"></p> + +<div class="panel panel_system_config"> + + <div class="pnl_formsarea"> + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <label for="dbname_prefix">{tmpl_var name='dbname_prefix_txt'}</label> + <input name="dbname_prefix" id="dbname_prefix" value="{tmpl_var name='dbname_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" /> + </div> + <div class="ctrlHolder"> + <label for="dbuser_prefix">{tmpl_var name='dbuser_prefix_txt'}</label> + <input name="dbuser_prefix" id="dbuser_prefix" value="{tmpl_var name='dbuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" /> + </div> + <div class="ctrlHolder"> + <label for="ftpuser_prefix">{tmpl_var name='ftpuser_prefix_txt'}</label> + <input name="ftpuser_prefix" id="ftpuser_prefix" value="{tmpl_var name='ftpuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" /> + </div> + <div class="ctrlHolder"> + <label for="shelluser_prefix">{tmpl_var name='shelluser_prefix_txt'}</label> + <input name="shelluser_prefix" id="shelluser_prefix" value="{tmpl_var name='shelluser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" /> + </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='dblist_phpmyadmin_link_txt'}</p> + <div class="multiField"> + {tmpl_var name='dblist_phpmyadmin_link'} + </div> + </div> + <div class="ctrlHolder"> + <label for="phpmyadmin_url">{tmpl_var name='phpmyadmin_url_txt'}</label> + <input name="phpmyadmin_url" id="phpmyadmin_url" value="{tmpl_var name='phpmyadmin_url'}" size="30" maxlength="255" type="text" class="textInput" /> + </div> + </fieldset> + + <input type="hidden" name="id" value="{tmpl_var name='id'}"> + + <div class="buttonHolder buttons"> + <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> + <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> + </div> + </div> + +</div> diff --git a/interface/web/mail/webmailer.php b/interface/web/mail/webmailer.php index 5eb70ea..eb4207d 100644 --- a/interface/web/mail/webmailer.php +++ b/interface/web/mail/webmailer.php @@ -49,14 +49,20 @@ 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']); +} 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'); + isset($_SERVER['HTTPS'])? $http = 'https' : $http = 'http'; + header('Location:' . $http . '://' . $serverData['server_name'] . '/webmail'); +} exit; ?> \ No newline at end of file diff --git a/interface/web/sites/database_phpmyadmin.php b/interface/web/sites/database_phpmyadmin.php index baf547d..1df863b 100644 --- a/interface/web/sites/database_phpmyadmin.php +++ b/interface/web/sites/database_phpmyadmin.php @@ -53,11 +53,18 @@ $serverData = $app->db->queryOneRecord( "SELECT server_name FROM server WHERE server_id = " . $serverId); + +$app->uses('getconf'); +$global_config = $app->getconf->get_global_config('sites'); /* * 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'] . '/phpmyadmin'); +if($global_config['phpmyadmin_url'] != '') { + header('Location:'.$global_config['phpmyadmin_url']); +} else { + isset($_SERVER['HTTPS'])? $http = 'https' : $http = 'http'; + header('location:' . $http . '://' . $serverData['server_name'] . '/phpmyadmin'); +} exit; ?> \ No newline at end of file -- Gitblit v1.9.1