Add device duplicate check for extension edit.
This commit is contained in:
parent
e429756307
commit
4b71467053
|
|
@ -185,13 +185,32 @@
|
||||||
$device_mac_address = strtolower($device_mac_address);
|
$device_mac_address = strtolower($device_mac_address);
|
||||||
$device_mac_address = preg_replace('#[^a-fA-F0-9./]#', '', $device_mac_address);
|
$device_mac_address = preg_replace('#[^a-fA-F0-9./]#', '', $device_mac_address);
|
||||||
|
|
||||||
$sql = "select device_uuid from v_devices ";
|
$sql = "select ";
|
||||||
$sql .= "where device_mac_address = :device_mac_address ";
|
$sql .= "d1.device_uuid, ";
|
||||||
$sql .= "and domain_uuid = :domain_uuid ";
|
$sql .= "d1.domain_uuid, ";
|
||||||
|
$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 ";
|
||||||
$parameters['device_mac_address'] = $device_mac_address;
|
$parameters['device_mac_address'] = $device_mac_address;
|
||||||
$parameters['domain_uuid'] = $domain_uuid;
|
|
||||||
$database = new database;
|
$database = new database;
|
||||||
$device_uuid = $database->select($sql, $parameters, 'column');
|
$row = $database->select($sql, $parameters, 'row');
|
||||||
|
if (is_array($row)) {
|
||||||
|
if ($_SESSION['domain_uuid'] == $row['domain_uuid']) {
|
||||||
|
$device_uuid = $row['device_uuid'];
|
||||||
|
$device_domain_name = $row['device_domain_name'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$device_domain_name = $row['device_domain_name'];
|
||||||
|
}
|
||||||
|
$device_unique = false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$device_unique = true;
|
||||||
|
}
|
||||||
unset($sql, $parameters);
|
unset($sql, $parameters);
|
||||||
|
|
||||||
$device_uuids[$d] = is_uuid($device_uuid) ? $device_uuid : uuid();
|
$device_uuids[$d] = is_uuid($device_uuid) ? $device_uuid : uuid();
|
||||||
|
|
@ -511,7 +530,14 @@
|
||||||
$device_vendor = device::get_vendor($device_mac_address);
|
$device_vendor = device::get_vendor($device_mac_address);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//send a message to the user the device is not unique
|
||||||
|
if (!$device_unique) {
|
||||||
|
$message = $text['message-duplicate'].(if_group("superadmin") && $_SESSION["domain_name"] != $device_domain_name ? ": ".$device_domain_name : null);
|
||||||
|
message::add($message,'negative');
|
||||||
|
}
|
||||||
|
|
||||||
//build the devices array
|
//build the devices array
|
||||||
|
if ($device_unique && $device_mac_address != '000000000000') {
|
||||||
$array["devices"][$j]["device_uuid"] = $device_uuids[$d];
|
$array["devices"][$j]["device_uuid"] = $device_uuids[$d];
|
||||||
$array["devices"][$j]["domain_uuid"] = $_SESSION['domain_uuid'];
|
$array["devices"][$j]["domain_uuid"] = $_SESSION['domain_uuid'];
|
||||||
$array["devices"][$j]["device_mac_address"] = $device_mac_address;
|
$array["devices"][$j]["device_mac_address"] = $device_mac_address;
|
||||||
|
|
@ -538,6 +564,9 @@
|
||||||
$array["devices"][$j]["device_lines"][0]["sip_transport"] = $_SESSION['provision']['line_sip_transport']['text'];
|
$array["devices"][$j]["device_lines"][0]["sip_transport"] = $_SESSION['provision']['line_sip_transport']['text'];
|
||||||
$array["devices"][$j]["device_lines"][0]["register_expires"] = $_SESSION['provision']['line_register_expires']['numeric'];
|
$array["devices"][$j]["device_lines"][0]["register_expires"] = $_SESSION['provision']['line_register_expires']['numeric'];
|
||||||
$array["devices"][$j]["device_lines"][0]["enabled"] = "true";
|
$array["devices"][$j]["device_lines"][0]["enabled"] = "true";
|
||||||
|
}
|
||||||
|
|
||||||
|
//increment
|
||||||
$j++;
|
$j++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue