diff --git a/install/tpl/system.ini.master b/install/tpl/system.ini.master index 9d6a01614c176e17670ba7c07858319449ab4b65..f59a0b82b09e4afa3710bbf0bcf39d61d4227a03 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 @@ dbuser_prefix=c[CLIENTID] 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 fede652fb69aee4a8ad10707a7b94f3b19a837a0..9aabc27507e4dedd3be28470b6d5a2c5c8a9d87e 100644 --- a/interface/web/admin/form/system_config.tform.php +++ b/interface/web/admin/form/system_config.tform.php @@ -112,6 +112,18 @@ $form["tabs"]['sites'] = array ( '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 @@ $form["tabs"]['mail'] = array ( '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 331747663b1dec95cfcf350276f6d2ac8fcbb463..450222722ab2777bf6ff0854f2327f213c03ba06 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['ftpuser_prefix_error_regex'] = 'Char not allowed in ftp user prefix.'; $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 1dffbc9e15fe743b122915bcc488ff0f98fdc2cd..776c513b15074895af9b2f58b8b7ac1af32bd54e 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 209efaad3cc7f1a2b16049a9edf14f3a41c27fb1..996a941db308db90ed9401ae81e2747c47daad51 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 5eb70ea0f53486b92bb9f07323c2a6303ba6af2e..eb4207db3d09bd691a950e96a9185706dea5b80e 100644 --- a/interface/web/mail/webmailer.php +++ b/interface/web/mail/webmailer.php @@ -49,14 +49,20 @@ if ($serverId == 0){ 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 baf547d31404841b103b8b7a6731e9a1ea87e99e..1df863b45aee6b1e948bf5b7a2e0f21a1475ecd8 100644 --- a/interface/web/sites/database_phpmyadmin.php +++ b/interface/web/sites/database_phpmyadmin.php @@ -53,11 +53,18 @@ if ($serverId == 0){ $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