From 25fa9a81212604564468fcbc710a96a3d2fb8f50 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Wed, 9 Jul 2014 09:39:26 +0200 Subject: [PATCH] various tiny improvements Signed-off-by: Michael Kaufmann (d00p) --- lib/classes/database/class.Database.php | 3 +-- lib/functions/formfields/function.buildFormEx.php | 6 ++++++ .../string/function.validateFormFieldString.php | 2 +- .../validate/function.checkMysqlAccessHost.php | 14 +++++++------- lib/functions/validate/function.validate_ip.php | 7 ++++++- 5 files changed, 21 insertions(+), 11 deletions(-) diff --git a/lib/classes/database/class.Database.php b/lib/classes/database/class.Database.php index 4ebdea44..7fbbf0aa 100644 --- a/lib/classes/database/class.Database.php +++ b/lib/classes/database/class.Database.php @@ -333,8 +333,7 @@ class Database { require FROXLOR_INSTALL_DIR."/lib/userdata.inc.php"; // le format - if (self::$_needroot == true - && isset($sql['root_user']) + if (isset($sql['root_user']) && isset($sql['root_password']) && (!isset($sql_root) || !is_array($sql_root)) ) { diff --git a/lib/functions/formfields/function.buildFormEx.php b/lib/functions/formfields/function.buildFormEx.php index 903d2fd9..e6633d9e 100644 --- a/lib/functions/formfields/function.buildFormEx.php +++ b/lib/functions/formfields/function.buildFormEx.php @@ -42,6 +42,12 @@ function buildFormEx($form, $part = '') { } } + // visible = Settings::Get('phpfpm.enabled') for example would result in false if not enabled + // and therefore not shown as intended + if (isset($groupdetails['visible'])) { + $do_show = $groupdetails['visible']; + } + if ($do_show) { if (isset($groupdetails['title']) && $groupdetails['title'] != '') { $fields .= getFormGroupOutput($groupname, $groupdetails); diff --git a/lib/functions/formfields/string/function.validateFormFieldString.php b/lib/functions/formfields/string/function.validateFormFieldString.php index ad8e42fe..09b52b24 100644 --- a/lib/functions/formfields/string/function.validateFormFieldString.php +++ b/lib/functions/formfields/string/function.validateFormFieldString.php @@ -21,7 +21,7 @@ function validateFormFieldString($fieldname, $fielddata, $newfieldvalue) { if(isset($fielddata['string_delimiter']) && $fielddata['string_delimiter'] != '') { - $newfieldvalues = explode($fielddata['string_delimiter'], $newfieldvalue); + $newfieldvalues = array_map('trim', explode($fielddata['string_delimiter'], $newfieldvalue)); unset($fielddata['string_delimiter']); $returnvalue = true; diff --git a/lib/functions/validate/function.checkMysqlAccessHost.php b/lib/functions/validate/function.checkMysqlAccessHost.php index 8651955a..79b660ac 100644 --- a/lib/functions/validate/function.checkMysqlAccessHost.php +++ b/lib/functions/validate/function.checkMysqlAccessHost.php @@ -17,17 +17,17 @@ * */ -function checkMysqlAccessHost($fieldname, $fielddata, $newfieldvalue, $allnewfieldvalues) -{ +function checkMysqlAccessHost($fieldname, $fielddata, $newfieldvalue, $allnewfieldvalues) { + $mysql_access_host_array = array_map('trim', explode(',', $newfieldvalue)); - foreach($mysql_access_host_array as $host_entry) - { - if(validate_ip($host_entry, true) == false + foreach ($mysql_access_host_array as $host_entry) { + + if (validate_ip2($host_entry, true, 'invalidip', true) == false && validateDomain($host_entry) == false && validateLocalHostname($host_entry) == false - && $host_entry != '%') - { + && $host_entry != '%' + ) { return array(FORMFIELDS_PLAUSIBILITY_CHECK_ERROR, 'invalidmysqlhost', $host_entry); } } diff --git a/lib/functions/validate/function.validate_ip.php b/lib/functions/validate/function.validate_ip.php index 36b3e9eb..3ec039e1 100644 --- a/lib/functions/validate/function.validate_ip.php +++ b/lib/functions/validate/function.validate_ip.php @@ -46,7 +46,7 @@ function validate_ip($ip, $return_bool = false, $lng = 'invalidip') { * * @return mixed ip address on success, false on failure */ -function validate_ip2($ip, $return_bool = false, $lng = 'invalidip') { +function validate_ip2($ip, $return_bool = false, $lng = 'invalidip', $allow_localhost = false) { if ((filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) || filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) @@ -55,6 +55,11 @@ function validate_ip2($ip, $return_bool = false, $lng = 'invalidip') { return $ip; } + // special case where localhost ip is allowed (mysql-access-hosts for example) + if ($allow_localhost && $ip == '127.0.0.1') { + return $ip; + } + if ($return_bool) { return false; } else {