Update fax_advanced.php

The IMAP FAX settings for advanced were part of the fax_edit.php these settings were moved to the fax advanced file. 

This update focuses the code only on the Advanced settings its intended to manage.
This commit is contained in:
FusionPBX 2024-09-11 09:26:09 -06:00 committed by GitHub
parent 414e0b2a21
commit 6296fb1f73
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 32 additions and 257 deletions

View File

@ -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;