From 5f022769304b13871d0f47a31daefc91f6b4a348 Mon Sep 17 00:00:00 2001 From: Mark Crane Date: Tue, 26 Nov 2013 10:14:38 +0000 Subject: [PATCH] Remove provision device_extensions table in favor of the device_lines table. Set the mac address, line, and template from extensio edit php file. --- app/devices/device_edit.php | 106 +------------ app/extensions/app_languages.php | 18 ++- app/extensions/extension_edit.php | 239 +++++++++++++++++++++--------- 3 files changed, 185 insertions(+), 178 deletions(-) diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php index 7fc3bab20e..f58958b685 100644 --- a/app/devices/device_edit.php +++ b/app/devices/device_edit.php @@ -471,113 +471,13 @@ require_once "resources/require.php"; echo " \n"; echo " \n"; echo " \n"; - echo " \n"; - echo "
\n"; - echo " ".$text['description-extensions']."\n"; - echo "
\n"; + if (strlen($text['description-lines']) > 0) { + echo "
".$text['description-lines']."\n"; + } echo " "; echo " "; - echo "\n"; - echo "\n"; - echo " ".$text['label-extension'].":\n"; - echo "\n"; - echo "\n"; - - echo " \n"; - $sql = "SELECT e.extension, e.description, d.extension_uuid, d.device_uuid, d.device_line \n"; - $sql .= "FROM v_device_extensions as d, v_extensions as e \n"; - $sql .= "WHERE e.extension_uuid = d.extension_uuid \n"; - $sql .= "AND d.device_uuid = '".$device_uuid."' \n"; - $sql .= "AND d.domain_uuid = '".$_SESSION['domain_uuid']."' \n"; - $sql .= "ORDER BY e.extension asc\n"; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - $result_count = count($result); - foreach($result as $row) { - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - //echo " \n"; - echo " \n"; - } - echo "
".$row['extension']."".$row['device_line']."".$row['description']." \n"; - //echo " $v_link_label_delete\n"; - //echo "
\n"; - echo "
\n"; - /* - $sql = "SELECT * FROM v_devices "; - $sql .= "WHERE domain_uuid = '".$domain_uuid."' "; - $sql .= "ORDER BY device_mac_address asc "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - $result_count = count($result); - unset ($prep_statement, $sql); - echo "\n"; - - echo " \n"; - echo " \n"; - echo "
\n"; - echo $text['description-extension']."\n"; - */ - echo "\n"; - echo "\n"; - echo "\n"; echo "\n"; echo " ".$text['label-device_vendor'].":\n"; diff --git a/app/extensions/app_languages.php b/app/extensions/app_languages.php index 6eb2c64daa..5805fbc0d8 100644 --- a/app/extensions/app_languages.php +++ b/app/extensions/app_languages.php @@ -178,14 +178,26 @@ $text['description-limit_destination']['pt-pt'] = "Introduza o destino para enviar as chamadas quando o número máximo de chamadas de saída for atingido."; $text['description-limit_destination']['fr-fr'] = "Insérer la destination où déborder quand la limite des appels sortant est atteinte."; - $text['label-provisioning']['en-us'] = "Phone Provisioning"; - $text['label-provisioning']['pt-pt'] = "Aprovisionamento do Telefone"; - $text['label-provisioning']['fr-fr'] = "Provisioning du Téléphone"; + $text['label-provisioning']['en-us'] = "Device Provisioning"; + $text['label-provisioning']['pt-pt'] = "Aprovisionamento do Dispositivo"; + $text['label-provisioning']['fr-fr'] = "Provisioning du Equipement"; $text['description-provisioning']['en-us'] = "Select a device and line number to assign to this extension."; $text['description-provisioning']['pt-pt'] = "Escolha um dispositivo e um número para atribuir a esta extensão."; $text['description-provisioning']['fr-fr'] = "Choisir un équipement et un nombre de lignes a assigner à cette extension."; + $text['label-line']['en-us'] = "Line"; + $text['label-line']['pt-pt'] = "Linha"; + $text['label-line']['fr-fr'] = "Ligne"; + + $text['label-device_mac_address']['en-us'] = "MAC Address"; + $text['label-device_mac_address']['pt-pt'] = "Endereço MAC"; + $text['label-device_mac_address']['fr-fr'] = "Adresse MAC"; + + $text['label-device_template']['en-us'] = "Template"; + $text['label-device_template']['pt-pt'] = "Template"; + $text['label-device_template']['fr-fr'] = "Template"; + $text['label-vm_enabled']['en-us'] = "Voicemail Enabled"; $text['label-vm_enabled']['pt-pt'] = "Voicemail Activado"; $text['label-vm_enabled']['fr-fr'] = "Messagerie Vocale Active"; diff --git a/app/extensions/extension_edit.php b/app/extensions/extension_edit.php index 9abff83558..65da5d564e 100644 --- a/app/extensions/extension_edit.php +++ b/app/extensions/extension_edit.php @@ -112,17 +112,17 @@ else { return; } -//delete the user from the v_device_extensions - if ($_GET["a"] == "delete" && strlen($_REQUEST["device_extension_uuid"]) > 0 && permission_exists("extension_delete")) { +//delete the line from the v_device_lines + if ($_GET["a"] == "delete" && strlen($_REQUEST["extension_uuid"]) > 0 && permission_exists("extension_delete")) { //set the variables - $device_extension_uuid = check_str($_REQUEST["device_extension_uuid"]); - $extension_uuid = check_str($_REQUEST["id"]); - //delete the group from the users - $sql = "delete from v_device_extensions "; - $sql .= "where domain_uuid = '".$domain_uuid."' "; - $sql .= "and extension_uuid = '".$extension_uuid."' "; - $sql .= "and device_extension_uuid = '".$device_extension_uuid."' "; + $id = check_str($_REQUEST["id"]); + $extension_uuid = check_str($_REQUEST["extension_uuid"]); + //delete device_line + $sql = "delete from v_device_lines "; + $sql .= "where domain_uuid = '$domain_uuid' "; + $sql .= "and device_line_uuid = '$id' "; $db->exec(check_sql($sql)); + unset($sql); //redirect the browser require_once "resources/header.php"; echo "\n"; @@ -160,28 +160,58 @@ else { return; } -//assign the device to the extension - if (strlen($_REQUEST["device_uuid"]) > 0 && strlen($_REQUEST["id"]) > 0 && $_GET["a"] != "delete") { +//assign the line to the device + if (strlen($_REQUEST["device_mac_address"]) > 0 && strlen($_REQUEST["id"]) > 0 && $_GET["a"] != "delete") { //set the variables $extension_uuid = check_str($_REQUEST["id"]); + $device_uuid= uuid(); + $device_line_uuid = uuid(); + $device_template = check_str($_REQUEST["device_template"]); + $line_number = check_str($_REQUEST["line_number"]); + $device_mac_address = check_str($_REQUEST["device_mac_address"]); + $device_mac_address = strtolower($device_mac_address); + $device_mac_address = preg_replace('#[^a-fA-F0-9./]#', '', $device_mac_address); - //assign the user to the extension - $sql_insert = "insert into v_device_extensions "; + //add the device + $sql_insert = "insert into v_devices "; $sql_insert .= "("; - $sql_insert .= "device_extension_uuid, "; - $sql_insert .= "domain_uuid, "; - $sql_insert .= "extension_uuid, "; $sql_insert .= "device_uuid, "; - $sql_insert .= "device_line "; - $sql_insert .= ")"; + $sql_insert .= "domain_uuid, "; + $sql_insert .= "device_mac_address, "; + $sql_insert .= "device_template "; + $sql_insert .= ") "; $sql_insert .= "values "; $sql_insert .= "("; - $sql_insert .= "'".uuid()."', "; - $sql_insert .= "'".$_SESSION['domain_uuid']."', "; - $sql_insert .= "'".$extension_uuid."', "; $sql_insert .= "'".$device_uuid."', "; - $sql_insert .= "'".$device_line."' "; + $sql_insert .= "'".$_SESSION['domain_uuid']."', "; + $sql_insert .= "'".$device_mac_address."', "; + $sql_insert .= "'".$device_template."' "; $sql_insert .= ")"; + //echo $sql_insert."
\n"; + $db->exec($sql_insert); + + //assign the line to the device + $sql_insert = "insert into v_device_lines "; + $sql_insert .= "("; + $sql_insert .= "device_uuid, "; + $sql_insert .= "device_line_uuid, "; + $sql_insert .= "domain_uuid, "; + $sql_insert .= "server_address, "; + $sql_insert .= "user_id, "; + $sql_insert .= "password, "; + $sql_insert .= "line_number "; + $sql_insert .= ") "; + $sql_insert .= "values "; + $sql_insert .= "("; + $sql_insert .= "'".$device_uuid."', "; + $sql_insert .= "'".$device_line_uuid."', "; + $sql_insert .= "'".$_SESSION['domain_uuid']."', "; + $sql_insert .= "'".$_SESSION['domain_name']."', "; + $sql_insert .= "'".$extension."', "; + $sql_insert .= "'".$password."', "; + $sql_insert .= "'".$line_number."' "; + $sql_insert .= ")"; + //echo $sql_insert."
\n"; $db->exec($sql_insert); //redirect the browser @@ -1099,11 +1129,32 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { echo "\n"; echo " \n"; - $sql = "SELECT d.device_mac_address, d.device_model, d.device_description, e.device_extension_uuid, e.device_uuid, e.extension_uuid, e.device_line "; - $sql .= "FROM v_device_extensions as e, v_devices as d "; - $sql .= "WHERE e.device_uuid = d.device_uuid "; - $sql .= "AND e.extension_uuid = '".$extension_uuid."' "; - $sql .= "AND e.domain_uuid = '".$_SESSION['domain_uuid']."' "; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + + echo " \n"; + echo " \n"; + + $sql = "SELECT d.device_mac_address, d.device_template, d.device_description, l.device_line_uuid, l.device_uuid, l.line_number "; + $sql .= "FROM v_device_lines as l, v_devices as d "; + $sql .= "WHERE l.user_id = '".$extension."' "; + $sql .= "AND l.domain_uuid = '".$_SESSION['domain_uuid']."' "; + $sql .= "AND l.device_uuid = d.device_uuid "; $sql .= "ORDER BY d.device_mac_address asc "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); @@ -1113,18 +1164,61 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { $device_mac_address = $row['device_mac_address']; $device_mac_address = substr($device_mac_address, 0,2).'-'.substr($device_mac_address, 2,2).'-'.substr($device_mac_address, 4,2).'-'.substr($device_mac_address, 6,2).'-'.substr($device_mac_address, 8,2).'-'.substr($device_mac_address, 10,2); echo " \n"; + echo " \n"; echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; + echo " \n"; + //echo " \n"; echo " \n"; echo " \n"; } - echo "
\n"; + echo " ".$text['label-line']." \n"; + echo " \n"; + echo " ".$text['label-device_mac_address']." \n"; + echo " \n"; + echo " ".$text['label-device_template']." \n"; + echo " \n"; + //if (permission_exists('device_edit')) { + // echo " $v_link_label_edit\n"; + //} + //if (permission_exists('device_delete')) { + // echo " $v_link_label_delete\n"; + //} + echo "
".$row['line_number']."".$device_mac_address."".$row['device_model']." ".$row['device_description']." ".$row['device_line']."".$row['device_template']." ".$row['device_description']." \n"; - echo " $v_link_label_delete\n"; + echo " $v_link_label_delete\n"; echo "
\n"; - echo "
\n"; + echo " \n"; + echo " "; + echo " \n"; + echo " \n"; + echo " "; + echo " \n"; + /* $sql = "SELECT * FROM v_devices "; $sql .= "WHERE domain_uuid = '".$domain_uuid."' "; $sql .= "ORDER BY device_mac_address asc "; @@ -1147,46 +1241,47 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { } //end foreach unset($sql, $result, $row_count); echo "\n"; + */ + echo " \n"; + echo " "; + echo "\n"; + echo " \n"; + echo " \n"; + echo "
\n"; - echo " \n"; echo " \n"; echo "
\n"; echo $text['description-provisioning']."\n";