Portions created by the Initial Developer are Copyright (C) 2008-2012 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ include "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; require_once "resources/paging.php"; if (permission_exists('extension_add')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support require_once "app_languages.php"; foreach($text as $key => $value) { $text[$key] = $value[$_SESSION['domain']['language']['code']]; } //set the http get/post variable(s) to a php variable if (isset($_REQUEST["id"]) && isset($_REQUEST["ext"])) { $extension_uuid = check_str($_REQUEST["id"]); $extension_new = check_str($_REQUEST["ext"]); } //get the v_extensions data $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) { $domain_uuid = $row["domain_uuid"]; $extension = $row["extension"]; $password = $row["password"]; //$vm_password = $row["vm_password"]; //$vm_password = str_replace("#", "", $vm_password); //preserves leading zeros $accountcode = $row["accountcode"]; $effective_caller_id_name = $row["effective_caller_id_name"]; $effective_caller_id_number = $row["effective_caller_id_number"]; $outbound_caller_id_name = $row["outbound_caller_id_name"]; $outbound_caller_id_number = $row["outbound_caller_id_number"]; //$vm_enabled = $row["vm_enabled"]; //$vm_mailto = $row["vm_mailto"]; //$vm_attach_file = $row["vm_attach_file"]; //$vm_keep_local_after_email = $row["vm_keep_local_after_email"]; $user_context = $row["user_context"]; $toll_allow = $row["toll_allow"]; $call_group = $row["call_group"]; $auth_acl = $row["auth_acl"]; $cidr = $row["cidr"]; $sip_force_contact = $row["sip_force_contact"]; $enabled = $row["enabled"]; $description = 'copy: '.$row["description"]; } unset ($prep_statement); //copy the extension $extension_uuid = uuid(); $password = generate_password(); $sql = "insert into v_extensions "; $sql .= "("; $sql .= "domain_uuid, "; $sql .= "extension_uuid, "; $sql .= "extension, "; $sql .= "password, "; //$sql .= "vm_password, "; $sql .= "accountcode, "; $sql .= "effective_caller_id_name, "; $sql .= "effective_caller_id_number, "; $sql .= "outbound_caller_id_name, "; $sql .= "outbound_caller_id_number, "; //$sql .= "vm_enabled, "; //$sql .= "vm_mailto, "; //$sql .= "vm_attach_file, "; //$sql .= "vm_keep_local_after_email, "; $sql .= "user_context, "; $sql .= "toll_allow, "; $sql .= "call_group, "; $sql .= "auth_acl, "; $sql .= "cidr, "; $sql .= "sip_force_contact, "; $sql .= "enabled, "; $sql .= "description "; $sql .= ")"; $sql .= "values "; $sql .= "("; $sql .= "'$domain_uuid', "; $sql .= "'$extension_uuid', "; $sql .= "'$extension_new', "; $sql .= "'$password', "; //$sql .= "'".generate_password(4, 1)."', "; $sql .= "'', "; $sql .= "'$effective_caller_id_name', "; $sql .= "'$effective_caller_id_number', "; $sql .= "'$outbound_caller_id_name', "; $sql .= "'$outbound_caller_id_number', "; //$sql .= "'$vm_enabled', "; //$sql .= "'$vm_mailto', "; //$sql .= "'$vm_attach_file', "; //$sql .= "'$vm_keep_local_after_email', "; $sql .= "'$user_context', "; $sql .= "'$toll_allow', "; $sql .= "'$call_group', "; $sql .= "'$auth_acl', "; $sql .= "'$cidr', "; $sql .= "'$sip_force_contact', "; $sql .= "'$enabled', "; $sql .= "'$description' "; $sql .= ")"; $db->exec(check_sql($sql)); unset($sql); //synchronize configuration if (is_writable($_SESSION['switch']['extensions']['dir'])) { require_once "app/extensions/resources/classes/extension.php"; $ext = new extension; $ext->xml(); unset($ext); } $_SESSION["message"] = $text['message-copy']; header("Location: extensions.php"); return; ?>