From 354d35b313b27d8a1bf88da2afebccbb691f8f18 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Wed, 19 Aug 2015 13:46:14 +0000 Subject: [PATCH] (legacy) refactor pconfig_to_address in guiconfig.inc, handle aliasses inline (like networks) --- src/www/guiconfig.inc | 57 ++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/src/www/guiconfig.inc b/src/www/guiconfig.inc index 7318c5661..7e68c9de3 100644 --- a/src/www/guiconfig.inc +++ b/src/www/guiconfig.inc @@ -497,38 +497,39 @@ function address_to_pconfig($adr, &$padr, &$pmask, &$pnot, &$pbeginport, &$pendp } function pconfig_to_address(&$adr, $padr, $pmask, $pnot=false, $pbeginport=0, $pendport=0) { - $adr = array(); - - if ($padr == "any") - $adr['any'] = true; - else if (is_specialnet($padr)) - $adr['network'] = $padr; - else { - $adr['address'] = $padr; - if (is_ipaddrv6($padr)) { - if ($pmask != 128) - $adr['address'] .= "/" . $pmask; + $adr = array(); + if ($padr == "any") { + $adr['any'] = true; + } elseif (is_specialnet($padr)) { + $adr['network'] = $padr; + } elseif (is_alias($padr)) { + $adr['address'] = $padr; } else { - if ($pmask != 32) - $adr['address'] .= "/" . $pmask; + $adr['address'] = $padr; + if (is_ipaddrv6($padr)) { + if ($pmask != 128) + $adr['address'] .= "/" . $pmask; + } else { + if ($pmask != 32) + $adr['address'] .= "/" . $pmask; + } } - } - if ($pnot) - $adr['not'] = true; - else - unset($adr['not']); + if ($pnot) { + $adr['not'] = true; + } elseif (isset($adr['not'])) { + unset($adr['not']); + } - if (($pbeginport != 0) && ($pbeginport != "any")) { - if ($pbeginport != $pendport) - $adr['port'] = $pbeginport . "-" . $pendport; - else - $adr['port'] = $pbeginport; - } - - if(is_alias($pbeginport)) { - $adr['port'] = $pbeginport; - } + if(is_alias($pbeginport)) { + $adr['port'] = $pbeginport; + } elseif (($pbeginport != 0) && ($pbeginport != "any")) { + if ($pbeginport != $pendport) { + $adr['port'] = $pbeginport . "-" . $pendport; + } else { + $adr['port'] = $pbeginport; + } + } } function is_specialnet($net) {