diff --git a/install/install.php b/install/install.php index 0df226ee10d4cab3407d7341ea9d928130a20b53..7bc3836223514ae3685b1d49543818d725c3c6df 100644 --- a/install/install.php +++ b/install/install.php @@ -146,7 +146,6 @@ include_once 'dist/conf/'.$dist['confid'].'.conf.php'; //** Installer Interface //**************************************************************************************************** $inst = new installer(); -if (!$inst->get_php_version()) die('ISPConfig requires PHP '.$inst->min_php."\n"); $retval=shell_exec("which which"); if (empty($retval)) die ("ISPConfig requires which \n"); diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index a92b821d1d797fb766e0c60d42f9a964950c85a7..95c6cb87ef00dbe54f7cacae990e1b995ef13c3d 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -35,7 +35,6 @@ class installer_base { var $db; public $install_ispconfig_interface = true; public $is_update = false; // true if it is an update, false if it is a new install - public $min_php = '5.4'; // minimal php-version for update / install protected $mailman_group = 'list'; @@ -160,12 +159,6 @@ class installer_base { } } - //** Detect PHP-Version - public function get_php_version() { - if(version_compare(PHP_VERSION, $this->min_php, '<')) return false; - else return true; - } - public function crypt_password($cleartext_password, $charset = 'UTF-8') { if($charset != 'UTF-8') { $cleartext_password = mb_convert_encoding($cleartext_password, $charset, 'UTF-8'); diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index 175617605ac2ee7c673099ea7b24ad8edf1403b5..028fb68a6bf01b7eaaf2a9b4913ec0227e2e490d 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -59,6 +59,7 @@ overquota_notify_client=y overquota_notify_freq=7 overquota_notify_onok=n sendmail_path=/usr/sbin/sendmail +rspamd_url= [getmail] getmail_config_dir=/etc/getmail diff --git a/install/update.php b/install/update.php index 4043647d8e4376480a5d55eb8f8117bafc18bd09..46031f77bb349960fd4be8888fbbc4dea66d4b75 100644 --- a/install/update.php +++ b/install/update.php @@ -185,7 +185,6 @@ $conf['server_id'] = intval($conf_old["server_id"]); $conf['ispconfig_log_priority'] = $conf_old["log_priority"]; $inst = new installer(); -if (!$inst->get_php_version()) die('ISPConfig requieres PHP '.$inst->min_php."\n"); $inst->is_update = true; $inst->check_prerequisites(); diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 7bed0323da37fec75d16cdb4dbcf477df80f46d5..1818b2ef3b6035f24dbdc8b9892d3e37077b73b8 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -717,6 +717,18 @@ $form["tabs"]['mail'] = array( 'default' => 'n', 'value' => array(0 => 'n', 1 => 'y') ), + 'rspamd_url' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'filters' => array( + 0 => array( 'event' => 'SAVE', 'type' => 'IDNTOASCII'), + 1 => array( 'event' => 'SHOW', 'type' => 'IDNTOUTF8') + ), + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), //################################# // END Datatable fields //################################# diff --git a/interface/web/admin/server_config_edit.php b/interface/web/admin/server_config_edit.php index 339ac2f2f5605d9b6ad0ccb2d2d462113aee3b4f..1fd1921b84e38562f1b756426c63bddf801430a3 100644 --- a/interface/web/admin/server_config_edit.php +++ b/interface/web/admin/server_config_edit.php @@ -57,7 +57,7 @@ class page_action extends tform_actions { // get the config $app->uses('getconf'); - $web_config = $app->getconf->get_server_config($conf['server_id'], 'web'); + $web_config = $app->getconf->get_server_config($this->id, 'web'); if($web_config['server_type'] == 'nginx'){ unset($app->tform->formDef["tabs"]["fastcgi"]); @@ -90,8 +90,12 @@ class page_action extends tform_actions { $this->dataRecord = $app->getconf->get_server_config($server_id, $section); if($section == 'mail'){ - $server_config = $app->getconf->get_server_config($server_id, 'server'); - $rspamd_url = 'https://'.$server_config['hostname'].':8081/rspamd/'; + if(trim($this->dataRecord['rspamd_url'] == '')) { + $server_config = $app->getconf->get_server_config($server_id, 'server'); + $rspamd_url = 'https://'.$server_config['hostname'].':8081/rspamd/'; + } else { + $rspamd_url = $this->dataRecord['rspamd_url']; + } } } diff --git a/interface/web/admin/templates/server_config_mail_edit.htm b/interface/web/admin/templates/server_config_mail_edit.htm index c26cff24ba8b1fa0bdea00722a398437fd00fb08..76ed5ef4fbc410879227a79f751aaca196b50737 100644 --- a/interface/web/admin/templates/server_config_mail_edit.htm +++ b/interface/web/admin/templates/server_config_mail_edit.htm @@ -49,7 +49,13 @@ </div> <div class="form-group rspamd"> <label for="rspamd_url" class="col-sm-3 control-label col-text">{tmpl_var name='rspamd_url_txt'}</label> - <div class="col-sm-6"><a href="{tmpl_var name='rspamd_url'}" target="_blank">{tmpl_var name='rspamd_url'}</a><a href="{tmpl_var name='rspamd_url'}" target="_blank" class="btn btn-default formbutton-default formbutton-narrow" style="margin-left:20px"><span class="icon icon-link"></span></a></div> + <div class="col-sm-8"><div class="input-group"> + <input type="text" name="rspamd_url" id="rspamd_url" value="{tmpl_var name='rspamd_url'}" class="form-control" /> + <span class="input-group-btn"> + <a href="{tmpl_var name='rspamd_url'}" target="_blank" class="btn btn-default formbutton-default formbutton-narrow" style="margin-left:20px"><span class="icon icon-link"></span></a> + </span> + </div></div> + </div> </div> <div class="form-group rspamd"> <label for="rspamd_password" class="col-sm-3 control-label">{tmpl_var name='rspamd_password_txt'}</label> diff --git a/interface/web/login/index.php b/interface/web/login/index.php index d820e917c98e29ad290a95ec1408e9bb125665da..58456dea0e4b855b642395b7756b12c2aec65136 100644 --- a/interface/web/login/index.php +++ b/interface/web/login/index.php @@ -58,7 +58,7 @@ if($app->is_under_maintenance()) { if(count($_POST) > 0) { //** Check variables - if(!preg_match("/^[\w\.\-\_\@]{1,128}$/", $_POST['username'])) $error = $app->lng('user_regex_error'); + if(!preg_match("/^[\w\.\-\_\@]{1,128}$/", $app->functions->idn_encode($_POST['username']))) $error = $app->lng('user_regex_error'); if(!preg_match("/^.{1,256}$/i", $_POST['password'])) $error = $app->lng('pw_error_length'); //** importing variables @@ -152,7 +152,7 @@ if(count($_POST) > 0) { if(stristr($username, '@')) { //* mailuser login $sql = "SELECT * FROM mail_user WHERE login = ? or email = ?"; - $mailuser = $app->db->queryOneRecord($sql, $username, $username); + $mailuser = $app->db->queryOneRecord($sql, $username, $app->functions->idn_encode($username)); $user = false; if($mailuser) { $saved_password = stripslashes($mailuser['password']); diff --git a/interface/web/mailuser/index.php b/interface/web/mailuser/index.php index c9541df2bd1919395946bcd1379cd16727cbeeb9..a6e2ae2389b151687829e8fc6024221fcd2a5666 100644 --- a/interface/web/mailuser/index.php +++ b/interface/web/mailuser/index.php @@ -28,8 +28,10 @@ if($rec['quota'] == 0) { if($rec['cc'] == '') $rec['cc'] = $wb['none_txt']; -$app->tpl->setVar($rec); +$rec['email'] = $app->functions->idn_decode($rec['email']); +$rec['login'] = $app->functions->idn_decode($rec['login']); +$app->tpl->setVar($rec); $sql2 = "SELECT * FROM server WHERE server_id = ?"; $rec2 = $app->db->queryOneRecord($sql2, $rec['server_id']); diff --git a/interface/web/mailuser/mail_user_cc_edit.php b/interface/web/mailuser/mail_user_cc_edit.php index 778be781ece87a4d7ee5f35bc715c96aafb2cc01..9a63b2d95390bc303ffb294d507693c62a7dceb6 100644 --- a/interface/web/mailuser/mail_user_cc_edit.php +++ b/interface/web/mailuser/mail_user_cc_edit.php @@ -75,7 +75,7 @@ class page_action extends tform_actions { global $app, $conf; $rec = $app->tform->getDataRecord($this->id); - $app->tpl->setVar("email", $rec['email'], true); + $app->tpl->setVar("email", $app->functions->idn_decode($rec['email']), true); parent::onShowEnd(); } diff --git a/interface/web/mailuser/mail_user_password_edit.php b/interface/web/mailuser/mail_user_password_edit.php index 5c5706177a6b2d0fa41b7a9edd386546764ed688..10a8e75e7efbb2c6c12be8ff76934c5cbb83862d 100644 --- a/interface/web/mailuser/mail_user_password_edit.php +++ b/interface/web/mailuser/mail_user_password_edit.php @@ -63,7 +63,7 @@ class page_action extends tform_actions { global $app, $conf; $rec = $app->tform->getDataRecord($_SESSION['s']['user']['mailuser_id']); - $app->tpl->setVar("email", $rec['email'], true); + $app->tpl->setVar("email", $app->functions->idn_decode($rec['email']), true); parent::onShowEnd(); } diff --git a/interface/web/mailuser/mail_user_spamfilter_edit.php b/interface/web/mailuser/mail_user_spamfilter_edit.php index 75649b5a707f3b89e5c4606d7019bc84c967bf0f..8d1e70ba203c5eaf9603b141ea180561897c8912 100644 --- a/interface/web/mailuser/mail_user_spamfilter_edit.php +++ b/interface/web/mailuser/mail_user_spamfilter_edit.php @@ -112,7 +112,7 @@ class page_action extends tform_actions { global $app, $conf; $rec = $app->tform->getDataRecord($this->id); - $app->tpl->setVar("email", $rec['email'], true); + $app->tpl->setVar("email", $app->functions->idn_decode($rec['email']), true); // Get the spamfilter policys for the user $tmp_user = $app->db->queryOneRecord("SELECT policy_id FROM spamfilter_users WHERE email = ?", $rec['email']);