diff --git a/app/fax/fax_advanced.php b/app/fax/fax_advanced.php index 805663b018..b97e3e3ad4 100644 --- a/app/fax/fax_advanced.php +++ b/app/fax/fax_advanced.php @@ -45,22 +45,13 @@ if (!empty($_REQUEST["id"]) && is_uuid($_REQUEST["id"])) { $action = "update"; $fax_uuid = $_REQUEST["id"]; - //$dialplan_uuid = $_REQUEST["dialplan_uuid"] ?? null; } else { $action = "add"; } //get the http post values and set them as php variables - if (count($_POST) > 0) { - - //set the variables - //$fax_name = $_POST["fax_name"]; - //$fax_extension = $_POST["fax_extension"]; - //$fax_accountcode = $_POST["accountcode"]; - //$fax_destination_number = $_POST["fax_destination_number"]; - //$fax_prefix = $_POST["fax_prefix"]; - //$fax_email = implode(',',array_filter($_POST["fax_email"] ?? [])); + if (!empty($_POST)) { $fax_email_connection_type = $_POST["fax_email_connection_type"]; $fax_email_connection_host = $_POST["fax_email_connection_host"]; $fax_email_connection_port = $_POST["fax_email_connection_port"]; @@ -72,105 +63,11 @@ $fax_email_inbound_subject_tag = $_POST["fax_email_inbound_subject_tag"]; $fax_email_outbound_subject_tag = $_POST["fax_email_outbound_subject_tag"]; $fax_email_outbound_authorized_senders = $_POST["fax_email_outbound_authorized_senders"]; - //$fax_caller_id_name = $_POST["fax_caller_id_name"]; - //$fax_caller_id_number = $_POST["fax_caller_id_number"]; - //$fax_toll_allow = $_POST["fax_toll_allow"]; - //$fax_forward_number = $_POST["fax_forward_number"]; - //if (empty($fax_destination_number)) { - // $fax_destination_number = $fax_extension; - //} - //if (strlen($fax_forward_number) > 3) { - // //$fax_forward_number = preg_replace("~[^0-9]~", "",$fax_forward_number); - // $fax_forward_number = str_replace(" ", "", $fax_forward_number); - // $fax_forward_number = str_replace("-", "", $fax_forward_number); - //} - //if (strripos($fax_forward_number, '$1') === false) { - // $forward_prefix = ''; //not found - //} - //else { - // $forward_prefix = $forward_prefix.$fax_forward_number.'#'; //found - //} - //$fax_local = $_POST["fax_local"] ?? null; //! @todo check in database - //$fax_description = $_POST["fax_description"]; - //$fax_send_channels = $_POST["fax_send_channels"]; - - //restrict size of user data - //$fax_name = substr($fax_name, 0, 30); - //$fax_extension = substr($fax_extension, 0, 15); - //$accountcode = substr($accountcode ?? '', 0, 80); - //$fax_prefix = substr($fax_prefix ?? '', 0, 12); - //$fax_caller_id_name = substr($fax_caller_id_name, 0, 40); - //$fax_caller_id_number = substr($fax_caller_id_number, 0, 20); - //$fax_forward_number = substr($fax_forward_number, 0, 20); } -//delete the user from the fax users - if (!empty($_REQUEST["user_uuid"]) && is_uuid($_REQUEST["user_uuid"]) && is_uuid($_REQUEST["id"]) && !empty($_GET["a"]) && $_GET["a"] == "delete" && permission_exists("fax_extension_delete")) { - //set the variables - $user_uuid = $_REQUEST["user_uuid"]; - $fax_uuid = $_REQUEST["id"]; - - //delete the group from the users - $array['fax_users'][0]['domain_uuid'] = $_SESSION['domain_uuid']; - $array['fax_users'][0]['fax_uuid'] = $fax_uuid; - $array['fax_users'][0]['user_uuid'] = $user_uuid; - - $p = new permissions; - $p->add('fax_user_delete', 'temp'); - - $database = new database; - $database->app_name = 'fax'; - $database->app_uuid = '24108154-4ac3-1db6-1551-4731703a4440'; - $database->delete($array); - unset($array); - - $p->delete('fax_user_delete', 'temp'); - - //redirect the browser - message::add($text['message-delete']); - header("Location: fax_edit.php?id=".$fax_uuid); - return; - } - -//add the user to the fax users - if (!empty($_REQUEST["user_uuid"]) && is_uuid($_REQUEST["user_uuid"]) && is_uuid($_REQUEST["id"]) && (empty($_GET["a"]) || $_GET["a"] != "delete")) { - //set the variables - $user_uuid = $_REQUEST["user_uuid"]; - $fax_uuid = $_REQUEST["id"]; - //assign the user to the fax extension - $array['fax_users'][0]['fax_user_uuid'] = uuid(); - $array['fax_users'][0]['domain_uuid'] = $_SESSION['domain_uuid']; - $array['fax_users'][0]['fax_uuid'] = $fax_uuid; - $array['fax_users'][0]['user_uuid'] = $user_uuid; - - $p = new permissions; - $p->add('fax_user_add', 'temp'); - - $database = new database; - $database->app_name = 'fax'; - $database->app_uuid = '24108154-4ac3-1db6-1551-4731703a4440'; - $database->save($array); - unset($array); - - $p->delete('fax_user_add', 'temp'); - - //redirect the browser - message::add($text['confirm-add']); - header("Location: fax_edit.php?id=".$fax_uuid); - return; - } - -//clear file status cache - clearstatcache(); - //process the data if (!empty($_POST) && empty($_POST["persistformvar"])) { - //get the fax_uuid - if ($action == "update" && is_uuid($_POST["fax_uuid"]) && permission_exists('fax_extension_edit')) { - $fax_uuid = $_POST["fax_uuid"]; - } - //validate the token $token = new token; if (!$token->validate($_SERVER['PHP_SELF'])) { @@ -200,22 +97,7 @@ //$fax_extension = preg_replace('#[^0-9]#', '', $fax_extension); //replace the spaces with a dash - $fax_name = str_replace(" ", "-", $fax_name); - - //escape the commas with a backslash and remove the spaces - $fax_email = str_replace(" ", "", $fax_email); - - //set the $php_bin - //if (file_exists(PHP_BINDIR."/php")) { $php_bin = 'php'; } - if (substr(strtoupper(PHP_OS), 0, 3) == "WIN") { - $php_bin = 'php.exe'; - } - elseif (file_exists(PHP_BINDIR."/php5")) { - $php_bin = 'php5'; - } - else { - $php_bin = 'php'; - } + //$fax_name = str_replace(" ", "-", $fax_name); //add or update the database if (empty($_POST["persistformvar"]) || $_POST["persistformvar"] != "true") { @@ -230,87 +112,43 @@ $fax_email_outbound_authorized_senders = strtolower(implode(',', $fax_email_outbound_authorized_senders)); } - if ($action == "add" && permission_exists('fax_extension_add')) { - //prepare the unique identifiers + //prepare the unique identifiers + if ($action == "add" && permission_exists('fax_extension_add')) { $fax_uuid = uuid(); - //$dialplan_uuid = uuid(); + } - //begin insert array - $array['fax'][0]['fax_uuid'] = $fax_uuid; - //$array['fax'][0]['dialplan_uuid'] = $dialplan_uuid; + //add common columns to array + $array['fax'][0]['domain_uuid'] = $_SESSION['domain_uuid']; + $array['fax'][0]['fax_uuid'] = $fax_uuid; + $array['fax'][0]['fax_email_connection_type'] = $fax_email_connection_type; + $array['fax'][0]['fax_email_connection_host'] = $fax_email_connection_host; + $array['fax'][0]['fax_email_connection_port'] = $fax_email_connection_port; + $array['fax'][0]['fax_email_connection_security'] = $fax_email_connection_security; + $array['fax'][0]['fax_email_connection_validate'] = $fax_email_connection_validate; + $array['fax'][0]['fax_email_connection_username'] = $fax_email_connection_username; + $array['fax'][0]['fax_email_connection_password'] = $fax_email_connection_password; + $array['fax'][0]['fax_email_connection_mailbox'] = $fax_email_connection_mailbox; + $array['fax'][0]['fax_email_inbound_subject_tag'] = $fax_email_inbound_subject_tag; + $array['fax'][0]['fax_email_outbound_subject_tag'] = $fax_email_outbound_subject_tag; + $array['fax'][0]['fax_email_outbound_authorized_senders'] = $fax_email_outbound_authorized_senders; - //assign temp permission + //execute + if (isset($array) && is_array($array)) { + //assign temp permission $p = new permissions; $p->add('fax_add', 'temp'); + $p->add('fax_edit', 'temp'); - //set the dialplan action - $dialplan_type = "add"; - } + $database = new database; + $database->app_name = 'fax'; + $database->app_uuid = '24108154-4ac3-1db6-1551-4731703a4440'; + $message = $database->save($array); + unset($array); - - if (is_array($array) && @sizeof($array) != 0) { - //add common columns to array - if (function_exists("imap_open") && file_exists("fax_files_remote.php")) { - $array['fax'][0]['domain_uuid'] = $_SESSION['domain_uuid']; - $array['fax'][0]['fax_uuid'] = $fax_uuid; - $array['fax'][0]['fax_email_connection_type'] = $fax_email_connection_type; - $array['fax'][0]['fax_email_connection_host'] = $fax_email_connection_host; - $array['fax'][0]['fax_email_connection_port'] = $fax_email_connection_port; - $array['fax'][0]['fax_email_connection_security'] = $fax_email_connection_security; - $array['fax'][0]['fax_email_connection_validate'] = $fax_email_connection_validate; - $array['fax'][0]['fax_email_connection_username'] = $fax_email_connection_username; - $array['fax'][0]['fax_email_connection_password'] = $fax_email_connection_password; - $array['fax'][0]['fax_email_connection_mailbox'] = $fax_email_connection_mailbox; - $array['fax'][0]['fax_email_inbound_subject_tag'] = $fax_email_inbound_subject_tag; - $array['fax'][0]['fax_email_outbound_subject_tag'] = $fax_email_outbound_subject_tag; - $array['fax'][0]['fax_email_outbound_authorized_senders'] = $fax_email_outbound_authorized_senders; - } - - //execute - if (isset($array) && is_array($array)) { - //assign temp permission - $p = new permissions; - $p->add('fax_edit', 'temp'); - - $database = new database; - $database->app_name = 'fax'; - $database->app_uuid = '24108154-4ac3-1db6-1551-4731703a4440'; - $database->save($array); - unset($array); - - //revoke temp permissions - $p->delete('fax_add', 'temp'); - $p->delete('fax_edit', 'temp'); - } - - //clear the destinations session array - if (isset($_SESSION['destinations']['array'])) { - unset($_SESSION['destinations']['array']); - } - - } - - //get the dialplan_uuid - $sql = "select dialplan_uuid from v_fax "; - $sql .= "where domain_uuid = :domain_uuid "; - $sql .= "and fax_uuid = :fax_uuid "; - $parameters['domain_uuid'] = $_SESSION['domain_uuid']; - $parameters['fax_uuid'] = $fax_uuid; - $database = new database; - $dialplan_uuid = $database->select($sql, $parameters, 'column'); - unset($sql, $parameters); - - //dialplan add or update - $c = new fax; - $c->domain_uuid = $_SESSION['domain_uuid']; - $c->dialplan_uuid = $dialplan_uuid; - $c->fax_name = $fax_name; - $c->fax_uuid = $fax_uuid; - $c->fax_extension = $fax_extension; - $c->fax_forward_number = $fax_forward_number; - $c->destination_number = $fax_destination_number; - $c->fax_description = $fax_description; - $a = $c->dialplan(); + //revoke temp permissions + $p->delete('fax_add', 'temp'); + $p->delete('fax_edit', 'temp'); + } //redirect the browser if ($action == "update" && permission_exists('fax_extension_edit')) { @@ -327,7 +165,6 @@ //pre-populate the form if (!empty($_GET['id']) && is_uuid($_GET['id']) && (empty($_POST["persistformvar"]) || $_POST["persistformvar"] != "true")) { - $fax_uuid = $_GET["id"]; $sql = "select * from v_fax "; $sql .= "where domain_uuid = :domain_uuid "; $sql .= "and fax_uuid = :fax_uuid "; @@ -336,15 +173,6 @@ $database = new database; $row = $database->select($sql, $parameters, 'row'); if (is_array($row) && @sizeof($row) != 0) { - /* - $dialplan_uuid = $row["dialplan_uuid"]; - $fax_extension = $row["fax_extension"]; - $fax_accountcode = $row["accountcode"]; - $fax_destination_number = $row["fax_destination_number"]; - $fax_prefix = $row["fax_prefix"]; - $fax_name = $row["fax_name"]; - $fax_email = $row["fax_email"]; - */ $fax_email_connection_type = $row["fax_email_connection_type"]; $fax_email_connection_host = $row["fax_email_connection_host"]; $fax_email_connection_port = $row["fax_email_connection_port"]; @@ -356,62 +184,9 @@ $fax_email_inbound_subject_tag = $row["fax_email_inbound_subject_tag"]; $fax_email_outbound_subject_tag = $row["fax_email_outbound_subject_tag"]; $fax_email_outbound_authorized_senders = $row["fax_email_outbound_authorized_senders"]; - /* - $fax_caller_id_name = $row["fax_caller_id_name"]; - $fax_caller_id_number = $row["fax_caller_id_number"]; - $fax_toll_allow = $row["fax_toll_allow"]; - $fax_forward_number = $row["fax_forward_number"]; - $fax_description = $row["fax_description"]; - $fax_send_channels = $row["fax_send_channels"]; - */ } unset($sql, $parameters, $row); } - else{ - $fax_send_channels = 10; - } -/* -//get the fax users - if (!empty($fax_uuid) && is_uuid($fax_uuid)) { - $sql = "select * from v_fax_users as e, v_users as u "; - $sql .= "where e.user_uuid = u.user_uuid "; - $sql .= "and e.domain_uuid = :domain_uuid "; - $sql .= "and e.fax_uuid = :fax_uuid "; - $parameters['domain_uuid'] = $_SESSION['domain_uuid']; - $parameters['fax_uuid'] = $fax_uuid; - $database = new database; - $fax_users = $database->select($sql, $parameters, 'all'); - unset($sql, $parameters); - } - -//get the users that are not assigned to this fax server - if (!empty($fax_uuid) && is_uuid($fax_uuid)) { - $sql = "select * from v_users \n"; - $sql .= "where domain_uuid = :domain_uuid \n"; - $sql .= "and user_uuid not in (\n"; - $sql .= " select user_uuid from v_fax_users "; - $sql .= " where domain_uuid = :domain_uuid "; - $sql .= " and fax_uuid = :fax_uuid "; - $sql .= " and user_uuid is not null "; - $sql .= ")\n"; - $parameters['domain_uuid'] = $_SESSION['domain_uuid']; - $parameters['fax_uuid'] = $fax_uuid; - $database = new database; - $available_users = $database->select($sql, $parameters, 'all'); - unset($sql, $parameters); - } - -//replace the dash with a space - $fax_name = str_replace("-", " ", $fax_name ?? ''); -*/ - -//build the fax_emails array - $fax_emails = explode(',', $fax_email ?? ''); - -//set the dialplan_uuid - if (empty($dialplan_uuid) || !is_uuid($dialplan_uuid)) { - $dialplan_uuid = uuid(); - } //create token $object = new token;