diff --git a/app/provision/resources/classes/provision.php b/app/provision/resources/classes/provision.php index 02b3ff53e8..ea9d35e734 100644 --- a/app/provision/resources/classes/provision.php +++ b/app/provision/resources/classes/provision.php @@ -709,31 +709,37 @@ include "root.php"; //mac address does not exist in the table so add it if ($_SESSION['provision']['auto_insert_enabled']['boolean'] == "true" and strlen($domain_uuid) > 0) { + $device_uuid = uuid(); - $sql = "INSERT INTO v_devices "; - $sql .= "("; - $sql .= "domain_uuid, "; - $sql .= "device_uuid, "; - $sql .= "device_mac_address, "; - $sql .= "device_vendor, "; - $sql .= "device_model, "; - $sql .= "device_enabled, "; - $sql .= "device_template, "; - $sql .= "device_description "; - $sql .= ") "; - $sql .= "VALUES "; - $sql .= "("; - $sql .= "'".$domain_uuid."', "; - $sql .= "'$device_uuid', "; - $sql .= "'$mac', "; - $sql .= "'$device_vendor', "; - $sql .= "'', "; - $sql .= "'true', "; - $sql .= "'$device_template', "; - $sql .= "'auto {$_SERVER['HTTP_USER_AGENT']}' "; - $sql .= ")"; - $this->db->exec(check_sql($sql)); - unset($sql); + + //prepare the array + $x = 0; + $array['devices'][$x]['domain_uuid'] = $domain_uuid; + $array['devices'][$x]['device_uuid'] = $device_uuid; + $array['devices'][$x]['device_mac_address'] = $mac; + $array['devices'][$x]['device_vendor'] = $device_vendor; + $array['devices'][$x]['device_enabled'] = 'true'; + $array['devices'][$x]['device_template'] = $device_template; + $array['devices'][$x]['device_description'] = $_SERVER['HTTP_USER_AGENT']; + + //add the dialplan permission + $p = new permissions; + $p->add("device_add", "temp"); + $p->add("device_edit", "temp"); + + //save to the data + $database = new database; + $database->app_name = 'devices'; + $database->app_uuid = '4efa1a1a-32e7-bf83-534b-6c8299958a8e'; + if (strlen($device_uuid) > 0) { + $database->uuid($device_uuid); + } + $database->save($array); + $message = $database->message; + + //remove the temporary permission + $p->delete("device_add", "temp"); + $p->delete("device_edit", "temp"); } } }