diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php
index db967668c2..8b4b07d72c 100644
--- a/app/devices/device_edit.php
+++ b/app/devices/device_edit.php
@@ -39,62 +39,6 @@
$language = new text;
$text = $language->get();
-//check for duplicates
- if ($_GET["check"] == 'duplicate') {
- //mac address
- if ($_GET["mac"] != '' && $_GET["mac"] != "000000000000") {
- $sql = "select ";
- $sql .= "d2.domain_name ";
- $sql .= "from ";
- $sql .= "v_devices as d1, ";
- $sql .= "v_domains as d2 ";
- $sql .= "where ";
- $sql .= "d1.domain_uuid = d2.domain_uuid and ";
- $sql .= "d1.device_mac_address = :device_mac_address ";
- if (is_uuid($_GET["device_uuid"])) {
- $sql .= " and d1.device_uuid <> :device_uuid ";
- }
- $parameters['device_mac_address'] = $_GET["mac"];
- $parameters['device_uuid'] = $_GET["device_uuid"];
- $database = new database;
- $domain_name = $database->select($sql, $parameters, 'column');
- if ($domain_name != '') {
- echo $text['message-duplicate'].(if_group("superadmin") && $_SESSION["domain_name"] != $domain_name ? ": ".$domain_name : null);
- }
- unset($sql, $parameters, $domain_name);
- }
-
- //username
- if ($_GET['username'] != '') {
- $sql = "select ";
- $sql .= "d2.domain_name, ";
- $sql .= "d1.device_mac_address ";
- $sql .= "from ";
- $sql .= "v_devices as d1, ";
- $sql .= "v_domains as d2 ";
- $sql .= "where ";
- $sql .= "d1.domain_uuid = d2.domain_uuid and ";
- $sql .= "d1.device_username = :device_username ";
- if (is_uuid($_GET['domain_uuid'])) {
- $sql .= "and d2.domain_uuid = :domain_uuid ";
- }
- if (is_uuid($_GET['device_uuid'])) {
- $sql .= "and d1.device_uuid <> :device_uuid ";
- }
- $parameters['device_username'] = $_GET["username"];
- $parameters['domain_uuid'] = $_GET["domain_uuid"];
- $parameters['device_uuid'] = $_GET["device_uuid"];
- $database = new database;
- $row = $database->select($sql, $parameters, 'row');
- if (is_array($row) && @sizeof($row) != 0 && $row['domain_name'] != '') {
- echo $text['message-duplicate_username'].(if_group("superadmin") ? ": ".format_mac($row['device_mac_address']).($_SESSION["domain_name"] != $row["domain_name"] ? " (".$row["domain_name"].")" : null) : null);
- }
- unset($sql, $parameters, $row);
- }
-
- exit;
- }
-
//include the device class
require_once "app/devices/resources/classes/device.php";
@@ -212,7 +156,7 @@
//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"; }
@@ -235,23 +179,37 @@
return;
}
+ //check for duplicates
+ if ($action == 'add' && $device_mac_address != "000000000000") {
+ $sql = "select ";
+ $sql .= "d2.domain_name ";
+ $sql .= "from ";
+ $sql .= "v_devices as d1, ";
+ $sql .= "v_domains as d2 ";
+ $sql .= "where ";
+ $sql .= "d1.domain_uuid = d2.domain_uuid and ";
+ $sql .= "d1.device_mac_address = :device_mac_address ";
+ if (is_uuid($_GET["device_uuid"])) {
+ $sql .= " and d1.device_uuid <> :device_uuid ";
+ }
+ $parameters['device_mac_address'] = $device_mac_address;
+ $database = new database;
+ $domain_name = $database->select($sql, $parameters, 'column');
+ if ($domain_name != '') {
+ $message = $text['message-duplicate'].(if_group("superadmin") && $_SESSION["domain_name"] != $domain_name ? ": ".$domain_name : null);
+ message::add($message,'negative');
+ header('Location: devices.php');
+ exit;
+ }
+ unset($sql, $parameters, $domain_name);
+ }
+
//add or update the database
if ($_POST["persistformvar"] != "true") {
- //set the default
- $save = true;
-
- //check to see if the mac address exists
- if ($action == "add") {
- if ($device_mac_address == "" || $device_mac_address == "000000000000") {
- //allow duplicates to be used as templaes
- }
- else {
- $save = true;
- }
- }
- else {
- $save = true;
+ //set the device uuid
+ if (!is_uuid($device_uuid)) {
+ $device_uuid = uuid();
}
//prepare the array
@@ -261,11 +219,8 @@
$array['devices'][0]['device_provisioned_ip'] = $device_provisioned_ip;
$array['devices'][0]['domain_uuid'] = $domain_uuid;
$array['devices'][0]['device_label'] = $device_label;
- $array['devices'][0]['device_mac_address'] = $device_mac_address;
- $array['devices'][0]['device_label'] = $device_label;
$array['devices'][0]['device_user_uuid'] = $device_user_uuid;
$array['devices'][0]['device_username'] = $device_username;
- $array['devices'][0]['device_username'] = $device_username;
$array['devices'][0]['device_vendor'] = $device_vendor;
$array['devices'][0]['device_uuid_alternate'] = $device_uuid_alternate;
$array['devices'][0]['device_model'] = $device_model;
@@ -358,16 +313,10 @@
}
//save the device
- if ($save) {
- $database = new database;
- $database->app_name = 'devices';
- $database->app_uuid = '4efa1a1a-32e7-bf83-534b-6c8299958a8e';
- $database->save($array);
- $response = $database->message;
- if (is_uuid($response['uuid'])) {
- $device_uuid = $response['uuid'];
- }
- }
+ $database = new database;
+ $database->app_name = 'devices';
+ $database->app_uuid = '4efa1a1a-32e7-bf83-534b-6c8299958a8e';
+ $database->save($array);
//write the provision files
if (strlen($_SESSION['provision']['path']['text']) > 0) {
@@ -377,20 +326,18 @@
}
//set the message
- if (!isset($_SESSION['message'])) {
- if ($save) {
- if ($action == "add") {
- //save the message to a session variable
- message::add($text['message-add']);
- }
- if ($action == "update") {
- //save the message to a session variable
- message::add($text['message-update']);
- }
- //redirect the browser
- header("Location: device_edit.php?id=$device_uuid");
- exit;
+ if (isset($action)) {
+ if ($action == "add") {
+ //save the message to a session variable
+ message::add($text['message-add']);
}
+ if ($action == "update") {
+ //save the message to a session variable
+ message::add($text['message-update']);
+ }
+ //redirect the browser
+ header("Location: device_edit.php?id=".urlencode($device_uuid));
+ exit;
}
} //if ($_POST["persistformvar"] != "true")