From bec04b8ef5d7905033981a338fcdcf44dca86190 Mon Sep 17 00:00:00 2001 From: NOYB Date: Sat, 16 Jan 2016 00:22:55 -0800 Subject: Firewall / Aliases / Edit - Pattern Address field is used for a wide variety of input types. Including URLs which require a much greater character set acceptance. --- src/usr/local/www/firewall_aliases_edit.php | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/usr/local/www/firewall_aliases_edit.php b/src/usr/local/www/firewall_aliases_edit.php index 89ee9dc..9141e3c 100755 --- a/src/usr/local/www/firewall_aliases_edit.php +++ b/src/usr/local/www/firewall_aliases_edit.php @@ -591,6 +591,19 @@ $help = array( "update frequency in days." ); +// Tab type specific patterns. +// Intentionally loose (valid character check only, no pattern recognition). +// Can be tightend up with pattern recognition as desired for each tab type. +$pattern_str = array( + 'network' => '[a-zA-Z0-9_:.-]+', // Alias Name, Host Name, IP Address, FQDN, Network or IP Address Range + 'host' => '[a-zA-Z0-9_:.-]+', // Alias Name, Host Name, IP Address, FQDN + 'port' => '[a-zA-Z0-9_:]+', // Alias Name, Port Number, or Port Number Range + 'url' => '.*', // Alias Name or URL + 'url_ports' => '.*', // Alias Name or URL + 'urltable' => '.*', // Alias Name or URL + 'urltable_ports' => '.*' // Alias Name or URL +); + $types = array( 'host' => 'Host(s)', 'network' => 'Network(s)', @@ -699,7 +712,7 @@ while ($counter < count($addresses)) { 'address' . $counter, 'Address', $address - ))->addMask('address_subnet' . $counter, $address_subnet)->setWidth(4)->setPattern('[a-zA-Z0-9\-\.\:]+'); + ))->addMask('address_subnet' . $counter, $address_subnet)->setWidth(4)->setPattern($pattern_str[$tab]); $group->add(new Form_Input( 'detail' . $counter, @@ -757,6 +770,12 @@ events.push(function() { var labelstr = ; $('.repeatable:first').find('label').text(labelstr[tab]); + // Set the input field pattern by tab type + var patternstr = ; + for (i = 0; i < ; i++) { + $('#address' + i).prop('pattern', patternstr[tab]); + } + // Hide and disable rows other than the first hideRowsAfter(1, (tab == 'urltable') || (tab == 'urltable_ports')); -- cgit v1.1