Implemented: FS#3235 - Allow 'any' value in zone xfer field
| | |
| | | } |
| | | 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; |
| | | } |
| | | |
| | | } |
| | |
| | | 'xfer' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'TEXT', |
| | | 'validators' => array ( 0 => array ( 'type' => 'CUSTOM', |
| | | 'class' => 'validate_dns', |
| | | 'function' => 'validate_xfer', |
| | | 'allowempty' => 'y', |
| | | 'separator' => ',', |
| | | 'errmsg'=> 'xfer_error_regex'), |
| | | ), |
| | | /* |
| | | 'validators' => array ( 0 => array ( 'type' => 'ISIP', |
| | | 'allowempty' => 'y', |
| | | 'separator' => ',', |
| | | 'errmsg'=> 'xfer_error_regex'), |
| | | ), |
| | | */ |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '30', |
| | |
| | | $wb['expire_range_error'] = 'Min. Expire ist 60 Sekunden.'; |
| | | $wb['minimum_range_error'] = 'Min. Minimum ist 60 Sekunden.'; |
| | | $wb['ttl_range_error'] = 'Min. TTL ist 60 Sekunden.'; |
| | | $wb['xfer_error_regex'] = 'Bitte Beachten: Verwenden Sie eine IP Adresse.'; |
| | | $wb['xfer_error_regex'] = 'Zonentransfer: Verwenden Sie eine oder mehrere durch Komma getrennte IP Adressen oder das Wort: any.'; |
| | | ?> |
| | |
| | | $wb["mbox_error_regex"] = 'Email format invalid.'; |
| | | $wb["also_notify_txt"] = 'Also Notify'; |
| | | $wb['also_notify_error_regex'] = 'Also notify: Please use an IP address.'; |
| | | $wb['xfer_error_regex'] = 'Xfer: Please use an IP address.'; |
| | | $wb['xfer_error_regex'] = 'Xfer: Please use one or more IP addresses, separated by , or use the keyword: any'; |
| | | $wb["update_acl_txt"] = 'Update ACL'; |
| | | $wb['seconds_txt'] = 'Seconds'; |
| | | $wb['eg_domain_tld'] = 'e.g. domain.tld'; |