|
@@ -64,10 +64,11 @@ if (isset($_REQUEST['submit_top']) || isset($_REQUEST['submit_bottom'])) {
|
|
|
$pid = $_REQUEST['pid'];
|
|
|
$loc = $_REQUEST['location'];
|
|
|
$exp = $_REQUEST['exception'];
|
|
|
- $idf = $_REQUEST['is_idf'];
|
|
|
- $d = $_REQUEST['delete'];
|
|
|
+ $idf = (isset($_REQUEST['is_idf'])) ? $_REQUEST['is_idf'] : array();
|
|
|
+ $d = (isset($_REQUEST['delete'])) ? $_REQUEST['delete'] : array();
|
|
|
foreach ($pia as $sname => $value) {
|
|
|
- if ($d[$sname] == 1) {
|
|
|
+ $curr_del = (isset($d[$sname])) ? $d[$sname] : 0;
|
|
|
+ if ($curr_del == 1) {
|
|
|
if ($ia[$sname] !== NULL && $ia[$sname] != '') {
|
|
|
$sql = 'UPDATE ADDRESSES SET used=? WHERE address=?';
|
|
|
$sth = $dbh->prepare($sql);
|
|
@@ -98,7 +99,8 @@ if (isset($_REQUEST['submit_top']) || isset($_REQUEST['submit_bottom'])) {
|
|
|
}
|
|
|
continue;
|
|
|
}
|
|
|
- if ($value != $ia[$sname] || $ploc[$sname] != $loc[$sname] || $ppid[$sname] != $pid[$sname] || $pidf[$sname] != $idf[$sname]) {
|
|
|
+ $curr_idf = (isset($idf[$sname])) ? $idf[$sname] : 0;
|
|
|
+ if ($value != $ia[$sname] || $ploc[$sname] != $loc[$sname] || $ppid[$sname] != $pid[$sname] || $pidf[$sname] != $curr_idf) {
|
|
|
if ($pid[$sname] == '__BOGUS__') {
|
|
|
array_push($errors, "You must select a Product ID for {$sname}");
|
|
|
}
|
|
@@ -108,18 +110,18 @@ if (isset($_REQUEST['submit_top']) || isset($_REQUEST['submit_bottom'])) {
|
|
|
$newa = "'{$ia[$sname]}'";
|
|
|
if ($ia[$sname] != '' && !$row['address']) {
|
|
|
array_push($errors, "IP address {$ia[$sname]} is not valid for switch {$sname}");
|
|
|
- } else if ((ADDRESS_SCHEME == 'IDF' && $row['reserved'] == 1 && $idf[$sname] != 1) || (ADDRESS_SCHEME != 'IDF' && ADDRESS_SCHEME != 'DNS' && $row['reserved'] == 1)) {
|
|
|
+ } else if ((ADDRESS_SCHEME == 'IDF' && $row['reserved'] == 1 && $curr_idf != 1) || (ADDRESS_SCHEME != 'IDF' && ADDRESS_SCHEME != 'DNS' && $row['reserved'] == 1)) {
|
|
|
array_push($errors, "IP address {$ia[$sname]} is reserved and cannot be used for this switch");
|
|
|
} else if ($ia[$sname] == '') {
|
|
|
$newa = "NULL";
|
|
|
}
|
|
|
if (count($errors) == 0) {
|
|
|
- $sql = "UPDATE SWITCHES SET ip_address = $newa, location = '{$loc[$sname]}', pid = '{$pid[$sname]}', is_idf = '{$idf[$sname]}' WHERE name='{$sname}'";
|
|
|
+ $sql = "UPDATE SWITCHES SET ip_address = $newa, location = '{$loc[$sname]}', pid = '{$pid[$sname]}', is_idf = '{$curr_idf}' WHERE name='{$sname}'";
|
|
|
$res = $dbh->query($sql);
|
|
|
if (PEAR::isError($res)) {
|
|
|
array_push($errors, "Failed to update $sname: '{$res->getUserInfo()}'");
|
|
|
} else {
|
|
|
- $logger->info("User {$ruser} updated logical switches: location={$loc[$sname]}, pid={$pid[$sname]}, is_idf={$idf[$sname]} for switch {$sname}");
|
|
|
+ $logger->info("User {$ruser} updated logical switches: location={$loc[$sname]}, pid={$pid[$sname]}, is_idf={$curr_idf} for switch {$sname}");
|
|
|
if ($ia[$sname] != '') {
|
|
|
$sql = 'UPDATE ADDRESSES SET used=? WHERE address=?';
|
|
|
$sth = $dbh->prepare($sql);
|