diff options
author | Scott Dale <sdale@pfsense.org> | 2007-03-23 05:11:06 +0000 |
---|---|---|
committer | Scott Dale <sdale@pfsense.org> | 2007-03-23 05:11:06 +0000 |
commit | ba393f6c458c7e2c0df72cff043270031420b316 (patch) | |
tree | 46203bb5aa9234ab5d8b1087c2656fa896544722 /usr | |
parent | 29ed06c99b6d14d6a794906d9c260bcfc6c892e9 (diff) | |
download | pfsense-ba393f6c458c7e2c0df72cff043270031420b316.zip pfsense-ba393f6c458c7e2c0df72cff043270031420b316.tar.gz |
Removed redundant code, added feature to copy over data when input errors are detected (prevents retyping).
Diffstat (limited to 'usr')
-rwxr-xr-x | usr/local/www/firewall_aliases_edit.php | 250 |
1 files changed, 125 insertions, 125 deletions
diff --git a/usr/local/www/firewall_aliases_edit.php b/usr/local/www/firewall_aliases_edit.php index 950809f..7db0390 100755 --- a/usr/local/www/firewall_aliases_edit.php +++ b/usr/local/www/firewall_aliases_edit.php @@ -47,30 +47,25 @@ if (isset($_POST['id'])) if (isset($id) && $a_aliases[$id]) { $pconfig['name'] = $a_aliases[$id]['name']; - $addresses = explode(' ', $a_aliases[$id]['address']); - if (is_array($addresses)) - $address = $addresses[0]; + $pconfig['detail'] = $a_aliases[$id]['detail']; + $pconfig['address'] = $a_aliases[$id]['address']; + $pconfig['descr'] = html_entity_decode($a_aliases[$id]['descr']); + + $addresses = explode(' ', $pconfig['address']); + $address = explode("/", $addresses[0]); + if ($address[1]) + $addresssubnettest = true; else - $address = $addresses; - list($pconfig['address'],$pconfig['address_subnet']) = - explode('/', $address); - if ($pconfig['address_subnet']) + $addresssubnettest = false; + + if ($addresssubnettest) $pconfig['type'] = "network"; else - if (is_ipaddr($pconfig['address'])) + if (is_ipaddr($address[0])) $pconfig['type'] = "host"; else $pconfig['type'] = "port"; - $pconfig['descr'] = html_entity_decode($a_aliases[$id]['descr']); - - /* Explode out details for entry details */ - $address_details = explode('||', $a_aliases[$id]['detail']); - if (is_array($address_details)) - $address_detail = $address_details[0]; - else - $address_detail = $address_details; - if($a_aliases[$id]['aliasurl'] <> "") { $pconfig['type'] = "url"; if(is_array($a_aliases[$id]['aliasurl'])) { @@ -156,130 +151,135 @@ if ($_POST) { break; } } + + $alias = array(); + $alias['name'] = $_POST['name']; + if ($_POST['type'] == "network") + $alias['address'] = $_POST['address'] . "/" . $_POST['address_subnet']; - if (!$input_errors) { - $alias = array(); - $alias['name'] = $_POST['name']; - if ($_POST['type'] == "network") - $alias['address'] = $_POST['address'] . "/" . $_POST['address_subnet']; + else + $alias['address'] = $_POST['address']; - else - $alias['address'] = $_POST['address']; + $address = $alias['address']; + $final_address_detail = htmlentities($_POST['detail'], ENT_QUOTES, 'UTF-8'); + if($final_address_detail <> "") { + $final_address_details .= $final_address_detail; + } else { + $final_address_details .= "Entry added" . " "; + $final_address_details .= date('r'); + } + $final_address_details .= "||"; + $isfirst = 0; - $address = $alias['address']; - $final_address_detail = htmlentities($_POST['detail'], ENT_QUOTES, 'UTF-8'); - if($final_address_detail <> "") { - $final_address_details .= $final_address_detail; - } else { - $final_address_details .= "Entry added" . " "; - $final_address_details .= date('r'); - } - $final_address_details .= "||"; + if($_POST['type'] == "url") { + $address = ""; $isfirst = 0; - - if($_POST['type'] == "url") { - $address = ""; - $isfirst = 0; - $address_count = 2; - - /* item is a url type */ - if($_POST['address']) - $_POST['address0'] = $_POST['address']; - for($x=0; $x<99; $x++) { - if($_POST['address' . $x]) { - /* fetch down and add in */ - $isfirst = 0; - $temp_filename = tempnam("/tmp/", "alias_import"); - unlink($temp_filename); - $fda = fopen("/tmp/tmpfetch","w"); - fwrite($fda, "/usr/bin/fetch -q -o \"{$temp_filename}/aliases\" \"" . $_POST['address' . $x] . "\""); - fclose($fda); - mwexec("mkdir -p {$temp_filename}"); - mwexec("/usr/bin/fetch -q -o \"{$temp_filename}/aliases\" \"" . $_POST['address' . $x] . "\""); - /* if the item is tar gzipped then extract */ - if(stristr($_POST['address' . $x], ".tgz")) - process_alias_tgz($temp_filename); - if(file_exists("{$temp_filename}/aliases")) { - $file_contents = file_get_contents("{$temp_filename}/aliases"); - $file_contents = str_replace("#", "\n#", $file_contents); - $file_contents_split = split("\n", $file_contents); - foreach($file_contents_split as $fc) { - $tmp = trim($fc); - if(stristr($fc, "#")) { - $tmp_split = split("#", $tmp); - $tmp = trim($tmp_split[0]); - } - if(trim($tmp) <> "") { - if($isfirst == 1) - $address .= " "; - $address .= $tmp; - $isfirst = 1; - } + $address_count = 2; + + /* item is a url type */ + if($_POST['address']) + $_POST['address0'] = $_POST['address']; + for($x=0; $x<99; $x++) { + if($_POST['address' . $x]) { + /* fetch down and add in */ + $isfirst = 0; + $temp_filename = tempnam("/tmp/", "alias_import"); + unlink($temp_filename); + $fda = fopen("/tmp/tmpfetch","w"); + fwrite($fda, "/usr/bin/fetch -q -o \"{$temp_filename}/aliases\" \"" . $_POST['address' . $x] . "\""); + fclose($fda); + mwexec("mkdir -p {$temp_filename}"); + mwexec("/usr/bin/fetch -q -o \"{$temp_filename}/aliases\" \"" . $_POST['address' . $x] . "\""); + /* if the item is tar gzipped then extract */ + if(stristr($_POST['address' . $x], ".tgz")) + process_alias_tgz($temp_filename); + if(file_exists("{$temp_filename}/aliases")) { + $file_contents = file_get_contents("{$temp_filename}/aliases"); + $file_contents = str_replace("#", "\n#", $file_contents); + $file_contents_split = split("\n", $file_contents); + foreach($file_contents_split as $fc) { + $tmp = trim($fc); + if(stristr($fc, "#")) { + $tmp_split = split("#", $tmp); + $tmp = trim($tmp_split[0]); } - if($isfirst == 0) { - /* nothing was found */ - $input_errors[] = "You must provide a valid URL. Could not fetch usable data."; - $dont_update = true; - break; + if(trim($tmp) <> "") { + if($isfirst == 1) + $address .= " "; + $address .= $tmp; + $isfirst = 1; } - $alias['aliasurl'][] = $_POST['address' . $x]; - mwexec("/bin/rm -rf {$temp_filename}"); - } else { - $input_errors[] = "You must provide a valid URL."; + } + if($isfirst == 0) { + /* nothing was found */ + $input_errors[] = "You must provide a valid URL. Could not fetch usable data."; $dont_update = true; break; } + $alias['aliasurl'][] = $_POST['address' . $x]; + mwexec("/bin/rm -rf {$temp_filename}"); + } else { + $input_errors[] = "You must provide a valid URL."; + $dont_update = true; + break; } } - } else { - /* item is a normal alias type */ - for($x=0; $x<99; $x++) { - $comd = "\$subnet = \$_POST['address" . $x . "'];"; - eval($comd); - $comd = "\$subnet_address = \$_POST['address_subnet" . $x . "'];"; - eval($comd); - if($subnet <> "") { - $address .= " "; - $address .= $subnet; - if($subnet_address <> "") $address .= "/" . $subnet_address; - - /* Compress in details to a single key, data separated by pipes. - Pulling details here lets us only pull in details for valid - address entries, saving us from having to track which ones to - process later. */ - $comd = "\$final_address_detail = htmlentities( \$_POST['detail" . $x . "'], ENT_QUOTES, 'UTF-8' );"; - eval($comd); - if($final_address_detail <> "") { - $final_address_details .= $final_address_detail; - } else { - $final_address_details .= "Entry added" . " "; - $final_address_details .= date('r'); - } - $final_address_details .= "||"; - } + } + } else { + /* item is a normal alias type */ + for($x=0; $x<99; $x++) { + $comd = "\$subnet = \$_POST['address" . $x . "'];"; + eval($comd); + $comd = "\$subnet_address = \$_POST['address_subnet" . $x . "'];"; + eval($comd); + if($subnet <> "") { + $address .= " "; + $address .= $subnet; + if($subnet_address <> "") $address .= "/" . $subnet_address; + + /* Compress in details to a single key, data separated by pipes. + Pulling details here lets us only pull in details for valid + address entries, saving us from having to track which ones to + process later. */ + $comd = "\$final_address_detail = htmlentities( \$_POST['detail" . $x . "'], ENT_QUOTES, 'UTF-8' );"; + eval($comd); + if($final_address_detail <> "") { + $final_address_details .= $final_address_detail; + } else { + $final_address_details .= "Entry added" . " "; + $final_address_details .= date('r'); + } + $final_address_details .= "||"; } } + } - if($dont_update <> true) { - - $alias['address'] = $address; - $alias['descr'] = htmlentities($_POST['descr'], ENT_QUOTES, 'UTF-8'); - $alias['type'] = $_POST['type']; - $alias['detail'] = $final_address_details; + if (!$input_errors) { + $alias['address'] = $address; + $alias['descr'] = htmlentities($_POST['descr'], ENT_QUOTES, 'UTF-8'); + $alias['type'] = $_POST['type']; + $alias['detail'] = $final_address_details; - if (isset($id) && $a_aliases[$id]) - $a_aliases[$id] = $alias; - else - $a_aliases[] = $alias; + if (isset($id) && $a_aliases[$id]) + $a_aliases[$id] = $alias; + else + $a_aliases[] = $alias; - touch($d_aliasesdirty_path); + touch($d_aliasesdirty_path); - write_config(); - filter_configure(); + write_config(); + filter_configure(); - header("Location: firewall_aliases.php"); - exit; - } + header("Location: firewall_aliases.php"); + exit; + } + //we received input errors, copy data to prevent retype + else + { + $pconfig['descr'] = htmlentities($_POST['descr'], ENT_QUOTES, 'UTF-8'); + $pconfig['address'] = $address; + $pconfig['type'] = $_POST['type']; + $pconfig['detail'] = $final_address_details;; } } @@ -495,9 +495,9 @@ EOD; <?php $counter = 0; - $address = $a_aliases[$id]['address']; + $address = $pconfig['address']; $item = explode(" ", $address); - $item3 = explode("||", $a_aliases[$id]['detail']); + $item3 = explode("||", $pconfig['detail']); foreach($item as $ww) { $address = $item[$counter]; $address_subnet = ""; |