From 7c2179f4b8604da1167b29ffb92041cf16fc4dbc Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 13 Mar 2014 07:37:47 -0400
Subject: [PATCH] Merge remote-tracking branch 'origin/stable-3.0.5'
---
interface/lib/classes/validate_dns.inc.php | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 44 insertions(+), 0 deletions(-)
diff --git a/interface/lib/classes/validate_dns.inc.php b/interface/lib/classes/validate_dns.inc.php
index 413be16..212c4d7 100644
--- a/interface/lib/classes/validate_dns.inc.php
+++ b/interface/lib/classes/validate_dns.inc.php
@@ -283,5 +283,49 @@
}
return $new_serial;
}
+
+ function validate_xfer($field_name, $field_value, $validator) {
+ global $app;
+
+ $errorMessage = '';
+
+ if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n';
+ if($validator['allowempty'] == 'y' && $field_value == '') {
+ //* Do nothing
+ } elseif ($field_value == 'any') {
+ //* Do nothing
+ } else {
+ //* Check if its a IPv4 or IPv6 address
+ if(isset($validator['separator']) && $validator['separator'] != '') {
+ //* When the field may contain several IP addresses, split them by the char defined as separator
+ $field_value_array = explode($validator['separator'], $field_value);
+ } else {
+ $field_value_array[] = $field_value;
+ }
+ foreach($field_value_array as $field_value) {
+ $field_value = trim($field_value);
+ if(function_exists('filter_var')) {
+ if(!filter_var($field_value, FILTER_VALIDATE_IP)) {
+ $errmsg = $validator['errmsg'];
+ $errorMessage .= $app->tform->lng($errmsg)."<br />\r\n";
+ }
+ } else {
+ //* Check content with regex, if we use php < 5.2
+ $ip_ok = 0;
+ if(preg_match("/^(\:\:([a-f0-9]{1,4}\:){0,6}?[a-f0-9]{0,4}|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){0,6}?\:\:|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){1,6}?\:\:([a-f0-9]{1,4}\:){1,6}?[a-f0-9]{1,4})(\/\d{1,3})?$/i", $field_value)){
+ $ip_ok = 1;
+ }
+ if(preg_match("/^[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}$/", $field_value)){
+ $ip_ok = 1;
+ }
+ if($ip_ok == 0) {
+ $errmsg = $validator['errmsg'];
+ $errorMessage .= $app->tform->lng($errmsg)."<br />\r\n";
+ }
+ }
+ }
+ }
+ return $errorMessage;
+ }
}
--
Gitblit v1.9.1