Copyright (C) 2008-2012 All Rights Reserved. Contributor(s): Mark J Crane */ include "root.php"; require_once "includes/require.php"; require_once "includes/checkauth.php"; if (permission_exists('extension_add') || permission_exists('extension_edit')) { //access granted } else { echo "access denied"; exit; } //set the action as an add or an update if (isset($_REQUEST["id"])) { $action = "update"; $extension_uuid = check_str($_REQUEST["id"]); } else { $action = "add"; } //get the http values and set them as php variables if (count($_POST)>0) { //get the values from the HTTP POST and save them as PHP variables $extension_uuid = check_str($_POST["extension_uuid"]); $unique_id = check_str($_POST["unique_id"]); $vm_password = check_str($_POST["vm_password"]); $dial_string = check_str($_POST["dial_string"]); } if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { //check for all required data //if (strlen($domain_uuid) == 0) { $msg .= "Please provide: domain_uuid
\n"; } if (strlen($extension_uuid) == 0) { $msg .= "Please provide the extension
\n"; } if (strlen($unique_id) == 0) { $msg .= "Please provide the unique ID.
\n"; } //get the number of rows in v_extensions $sql = "select count(*) as num_rows from v_extensions "; $sql .= "where unique_id = '".$unique_id."' "; $prep_statement = $db->prepare(check_sql($sql)); if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); if ($row['num_rows'] > 0) { $msg .= "The ID is not unqiue please provide a unique ID.
\n"; } } unset($prep_statement, $result); if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { require_once "includes/header.php"; require_once "includes/persistformvar.php"; echo "
\n"; echo "
\n"; echo $msg."
"; echo "
\n"; persistformvar($_POST); echo "
\n"; require_once "includes/footer.php"; return; } //set the default user context if (if_group("superadmin")) { //allow a user assigned to super admin to change the user_context } else { //if the user_context was not set then set the default value if (strlen($user_context) == 0) { if (count($_SESSION["domains"]) > 1) { $user_context = $_SESSION['domain_name']; } else { $user_context = "default"; } } } //add or update the database if ($_POST["persistformvar"] != "true") { //update the extension if ($action == "add" && permission_exists('extension_edit')) { $sql = "update v_extensions set "; $sql .= "unique_id = '$unique_id' "; $sql .= "where domain_uuid = '$domain_uuid' "; $sql .= "and extension_uuid = '$extension_uuid'"; $db->exec(check_sql($sql)); unset($sql); } //update the extension if ($action == "update" && permission_exists('extension_edit')) { $sql = "update v_extensions set "; $sql .= "unique_id = '$unique_id', "; if (strlen($vm_password) > 0) { $sql .= "vm_password = '$vm_password' "; } else { $sql .= "vm_password = 'user-choose' "; } $sql .= "where domain_uuid = '$domain_uuid' "; $sql .= "and extension_uuid = '$extension_uuid'"; $db->exec(check_sql($sql)); unset($sql); } //get the extension $sql = "select * from v_extensions "; $sql .= "where domain_uuid = '$domain_uuid' "; $sql .= "and extension_uuid = '$extension_uuid' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); foreach ($result as &$row) { $extension = $row["extension"]; } unset ($prep_statement); //delete extension from memcache $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); if ($fp) { $switch_cmd = "memcache delete directory:".$extension."@".$_SESSION['domain_name']; $switch_result = event_socket_request($fp, 'api '.$switch_cmd); } //show the action and redirect the user require_once "includes/header.php"; echo "\n"; echo "
\n"; echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; if ($action == "add") { echo " \n"; } if ($action == "update") { echo " \n"; } echo " \n"; echo "
Message
Add CompleteUpdate Complete
\n"; echo "
\n"; echo "
\n"; require_once "includes/footer.php"; return; } //if ($_POST["persistformvar"] != "true") } //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) //pre-populate the form if ($_POST["persistformvar"] != "true") { //$extension_uuid = $_GET["id"]; $sql = "select * from v_extensions "; $sql .= "where domain_uuid = '$domain_uuid' "; $sql .= "and extension_uuid = '$extension_uuid' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); foreach ($result as &$row) { $extension = $row["extension"]; $dial_string = $row["dial_string"]; $unique_id = $row["unique_id"]; $password = $row["password"]; $vm_password = $row["vm_password"]; $vm_password = str_replace("#", "", $vm_password); //preserves leading zeros } unset ($prep_statement); } //set the defaults if (strlen($limit_max) == 0) { $limit_max = '5'; } //begin the page content require_once "includes/header.php"; echo ""; echo "
"; echo "\n"; echo "\n"; echo " "; echo " "; echo "
\n"; echo "
"; 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 "\n"; echo "\n"; if ($action == "update") { echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "
\n"; echo " Hot Desking\n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo " Extension:\n"; echo "\n"; if ($action == "add") { echo "
\n"; echo "Select the extension number.\n"; } if ($action == "update") { echo " $extension
\n"; echo "Extension number.\n"; } echo "
\n"; echo "
\n"; echo " Unique ID:\n"; echo "\n"; echo " \n"; echo "
\n"; echo "A unique ID to identify the extension and domain.\n"; echo "
\n"; echo " Voicemail Password:\n"; echo "\n"; echo " \n"; echo "
\n"; echo "Enter the voicemail password here. \n"; echo "
\n"; echo " Dial String:\n"; echo "\n"; echo " \n"; echo "
\n"; echo "Location of the endpoint.\n"; echo "
"; echo ""; echo "
"; echo "
"; require_once "includes/footer.php"; ?>