diff --git a/app/extensions/extension_edit.php b/app/extensions/extension_edit.php index 455c1b81be..3f006136a7 100644 --- a/app/extensions/extension_edit.php +++ b/app/extensions/extension_edit.php @@ -111,20 +111,22 @@ else { } //delete the line from the v_device_lines - if ($_GET["a"] == "delete" && strlen($_REQUEST["device_line_uuid"]) > 0 && permission_exists("extension_delete")) { - //set the variables - $extension_uuid = check_str($_REQUEST["id"]); - $device_line_uuid = check_str($_REQUEST["device_line_uuid"]); - //delete device_line - $sql = "delete from v_device_lines "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and device_line_uuid = '$device_line_uuid' "; - $db->exec(check_sql($sql)); - unset($sql); - //redirect the browser - $_SESSION["message"] = $text['message-delete']; - header("Location: extension_edit.php?id=".$extension_uuid); - return; + if (is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/devices')) { + if ($_GET["a"] == "delete" && strlen($_REQUEST["device_line_uuid"]) > 0 && permission_exists("extension_delete")) { + //set the variables + $extension_uuid = check_str($_REQUEST["id"]); + $device_line_uuid = check_str($_REQUEST["device_line_uuid"]); + //delete device_line + $sql = "delete from v_device_lines "; + $sql .= "where domain_uuid = '$domain_uuid' "; + $sql .= "and device_line_uuid = '$device_line_uuid' "; + $db->exec(check_sql($sql)); + unset($sql); + //redirect the browser + $_SESSION["message"] = $text['message-delete']; + header("Location: extension_edit.php?id=".$extension_uuid); + return; + } } //assign the extension to the user @@ -155,83 +157,85 @@ else { } //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); + if (is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/devices')) { + 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); - //add the device if it doesn't exist, if it does exist get the device_uuid - $sql = "select device_uuid from v_devices "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and device_mac_address = '$device_mac_address' "; - if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } - $prep_statement = $db->prepare($sql); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if (strlen($row['device_uuid']) > 0) { - //device found - $device_uuid = $row['device_uuid']; + //add the device if it doesn't exist, if it does exist get the device_uuid + $sql = "select device_uuid from v_devices "; + $sql .= "where domain_uuid = '$domain_uuid' "; + $sql .= "and device_mac_address = '$device_mac_address' "; + if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if (strlen($row['device_uuid']) > 0) { + //device found + $device_uuid = $row['device_uuid']; + } + else { + //device not found + $sql_insert = "insert into v_devices "; + $sql_insert .= "("; + $sql_insert .= "device_uuid, "; + $sql_insert .= "domain_uuid, "; + $sql_insert .= "device_mac_address, "; + $sql_insert .= "device_template, "; + $sql_insert .= "device_provision_enable "; + $sql_insert .= ") "; + $sql_insert .= "values "; + $sql_insert .= "("; + $sql_insert .= "'".$device_uuid."', "; + $sql_insert .= "'".$_SESSION['domain_uuid']."', "; + $sql_insert .= "'".$device_mac_address."', "; + $sql_insert .= "'".$device_template."', "; + $sql_insert .= "'true' "; + $sql_insert .= ")"; + //echo $sql_insert."
\n"; + $db->exec($sql_insert); + } } - else { - //device not found - $sql_insert = "insert into v_devices "; - $sql_insert .= "("; - $sql_insert .= "device_uuid, "; - $sql_insert .= "domain_uuid, "; - $sql_insert .= "device_mac_address, "; - $sql_insert .= "device_template, "; - $sql_insert .= "device_provision_enable "; - $sql_insert .= ") "; - $sql_insert .= "values "; - $sql_insert .= "("; - $sql_insert .= "'".$device_uuid."', "; - $sql_insert .= "'".$_SESSION['domain_uuid']."', "; - $sql_insert .= "'".$device_mac_address."', "; - $sql_insert .= "'".$device_template."', "; - $sql_insert .= "'true' "; - $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 .= "auth_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 .= "'".$extension."', "; - $sql_insert .= "'".$password."', "; - $sql_insert .= "'".$line_number."' "; - $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 .= "auth_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 .= "'".$extension."', "; + $sql_insert .= "'".$password."', "; + $sql_insert .= "'".$line_number."' "; + $sql_insert .= ")"; + //echo $sql_insert."
\n"; + $db->exec($sql_insert); - //redirect the browser - $_SESSION["message"] = $text['message-add']; - header("Location: extension_edit.php?id=".$extension_uuid); - return; + //redirect the browser + $_SESSION["message"] = $text['message-add']; + header("Location: extension_edit.php?id=".$extension_uuid); + return; + } } if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { @@ -579,8 +583,10 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { } //write the provision files - require_once "app/provision/provision_write.php"; - $ext = new extension; + if (is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/provision')) { + require_once "app/provision/provision_write.php"; + $ext = new extension; + } //delete extension from memcache $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); @@ -1133,201 +1139,203 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { echo "\n"; if ($action == "update") { - echo "\n"; - echo "\n"; - echo " ".$text['label-provisioning'].":\n"; - echo "\n"; - echo "\n"; + if (is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/devices')) { + echo "\n"; + echo "\n"; + echo " ".$text['label-provisioning'].":\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"; + echo " \n"; + echo " \n"; + 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 l.line_number, d.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); + foreach($result as $row) { + $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"; + } - $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 l.line_number, d.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); - foreach($result as $row) { - $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 " \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 "
\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_template']." ".$row['device_description']." \n"; + echo " $v_link_label_delete\n"; + echo "
".$row['line_number']."".$device_mac_address."".$row['device_template']." ".$row['device_description']." \n"; - echo " $v_link_label_delete\n"; - echo "
"; + echo " \n"; + echo "
"; - echo " \n"; - echo " "; + echo " \n"; + echo " \n"; + echo " \n"; - echo " \n"; - echo "
\n"; + ?> + - prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - echo " \n"; + echo " \n"; + if (count($result) > 0) { + foreach($result as $field) { + if (strlen($field["device_mac_address"]) > 0) { + if ($field_current_value == $field["device_mac_address"]) { + echo " \n"; + } + else { + echo " \n"; + } } } } - } - unset($sql, $result, $result_count); - echo " \n"; - echo " \n"; - echo "
\n"; + unset($sql, $result, $result_count); + echo " \n"; + echo " \n"; + echo "
\n"; - echo " \n"; - echo " "; - $device = new device; - $template_dir = $device->get_template_dir(); - echo "\n"; + echo "\n"; + if($dh = opendir($template_dir)) { + while($dir = readdir($dh)) { + if($file != "." && $dir != ".." && $dir[0] != '.') { + if(is_dir($template_dir . "/" . $dir)) { + echo ""; + if($dh_sub = opendir($template_dir.'/'.$dir)) { + while($dir_sub = readdir($dh_sub)) { + if($file_sub != '.' && $dir_sub != '..' && $dir_sub[0] != '.') { + if(is_dir($template_dir . '/' . $dir .'/'. $dir_sub)) { + if ($device_template == $dir."/".$dir_sub) { + echo "\n"; + } + else { + echo "\n"; + } } } } + closedir($dh_sub); } - closedir($dh_sub); + echo ""; } - echo ""; } } + closedir($dh); } - closedir($dh); - } - echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo $text['description-provisioning']."\n"; + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "
\n"; + echo $text['description-provisioning']."\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + } } if (is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/voicemails')) {