diff --git a/app/devices/device_copy.php b/app/devices/device_copy.php index f2339b1f4f..75f413ab7e 100644 --- a/app/devices/device_copy.php +++ b/app/devices/device_copy.php @@ -47,6 +47,31 @@ else { $mac_address_new = preg_replace('#[^a-fA-F0-9./]#', '', $mac_address_new); } +//set the default + $save = true; + +//check to see if the mac address exists + if ($mac_address_new == "" || $mac_address_new == "000000000000") { + //allow duplicates to be used as templaes + } + else { + $sql = "SELECT count(*) AS num_rows FROM v_devices "; + $sql .= "WHERE device_mac_address = '".$mac_address_new."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if ($row['num_rows'] == "0") { + $save = true; + } + else { + $save = false; + $_SESSION['message'] = $text['message-duplicate']; + } + } + unset($prep_statement); + } + //get the device $sql = "SELECT * FROM v_devices "; $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; @@ -124,13 +149,15 @@ else { $device["device_settings"] = $device_settings; //copy the device - $orm = new orm; - $orm->name('devices'); - $orm->save($device); - $response = $orm->message; + if ($save) { + $orm = new orm; + $orm->name('devices'); + $orm->save($device); + $response = $orm->message; + $_SESSION["message"] = $text['message-copy']; + } //redirect - $_SESSION["message"] = $text['message-copy']; header("Location: devices.php"); return; diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php index cf2befabea..f04bc8d5e1 100644 --- a/app/devices/device_edit.php +++ b/app/devices/device_edit.php @@ -102,7 +102,7 @@ require_once "resources/require.php"; //check for all required data $msg = ''; - if (strlen($device_mac_address) == 0) { $msg .= $text['message-required'].$text['label-extension']."
\n"; } + //if (strlen($device_mac_address) == 0) { $msg .= $text['message-required'].$text['label-extension']."
\n"; } //if (strlen($device_label) == 0) { $msg .= "Please provide: Label
\n"; } //if (strlen($device_vendor) == 0) { $msg .= "Please provide: Vendor
\n"; } //if (strlen($device_model) == 0) { $msg .= "Please provide: Model
\n"; } @@ -189,21 +189,26 @@ require_once "resources/require.php"; //check to see if the mac address exists if ($action == "add") { - $sql = "SELECT count(*) AS num_rows FROM v_devices "; - $sql .= "WHERE device_mac_address = '".$device_mac_address."' "; - $prep_statement = $db->prepare($sql); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] == "0") { - $save = true; - } - else { - $save = false; - $_SESSION['message'] = $text['message-duplicate']; - } + if ($device_mac_address == "" || $device_mac_address == "000000000000") { + //allow duplicates to be used as templaes + } + else { + $sql = "SELECT count(*) AS num_rows FROM v_devices "; + $sql .= "WHERE device_mac_address = '".$device_mac_address."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if ($row['num_rows'] == "0") { + $save = true; + } + else { + $save = false; + $_SESSION['message'] = $text['message-duplicate']; + } + } + unset($prep_statement); } - unset($prep_statement); } else { $save = true;