Portions created by the Initial Developer are Copyright (C) 2008-2024 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ //includes files require_once dirname(__DIR__, 2) . "/resources/require.php"; require_once "resources/check_auth.php"; //check permissions if (permission_exists('fax_extension_advanced')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get(); //set the action as an add or an update if (!empty($_REQUEST["id"]) && is_uuid($_REQUEST["id"])) { $action = "update"; $fax_uuid = $_REQUEST["id"]; } else { $action = "add"; } //get the http post values and set them as php variables 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"]; $fax_email_connection_security = $_POST["fax_email_connection_security"]; $fax_email_connection_validate = $_POST["fax_email_connection_validate"]; $fax_email_connection_username = $_POST["fax_email_connection_username"]; $fax_email_connection_password = $_POST["fax_email_connection_password"]; $fax_email_connection_mailbox = $_POST["fax_email_connection_mailbox"]; $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"]; } //process the data if (!empty($_POST) && empty($_POST["persistformvar"])) { //validate the token $token = new token; if (!$token->validate($_SERVER['PHP_SELF'])) { message::add($text['message-invalid_token'],'negative'); header('Location: fax.php'); exit; } //check for all required data $msg = ''; //if (permission_exists('fax_extension') && empty($fax_extension)) { $msg .= "".$text['confirm-ext']."
\n"; } //if (empty($fax_name)) { $msg .= "".$text['confirm-fax']."
\n"; } if (!empty($msg) && empty($_POST["persistformvar"])) { require_once "resources/header.php"; require_once "resources/persist_form_var.php"; echo "
\n"; echo "
\n"; echo $msg."
"; echo "
\n"; persistformvar($_POST); echo "
\n"; require_once "resources/footer.php"; return; } //sanitize the fax extension number //$fax_extension = preg_replace('#[^0-9]#', '', $fax_extension); //replace the spaces with a dash //$fax_name = str_replace(" ", "-", $fax_name); //add or update the database if (empty($_POST["persistformvar"]) || $_POST["persistformvar"] != "true") { //prep authorized senders if (is_array($fax_email_outbound_authorized_senders) && (sizeof($fax_email_outbound_authorized_senders) > 0)) { foreach ($fax_email_outbound_authorized_senders as $sender_num => $sender) { if ($sender == '' || (substr_count($sender, '@') == 1 && !valid_email($sender)) || substr_count($sender, '.') == 0) { unset($fax_email_outbound_authorized_senders[$sender_num]); } } $fax_email_outbound_authorized_senders = strtolower(implode(',', $fax_email_outbound_authorized_senders)); } //prepare the unique identifiers if ($action == "add" && permission_exists('fax_extension_add')) { $fax_uuid = 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; //execute if (isset($array) && is_array($array)) { //assign temp permission $p = new permissions; $p->add('fax_add', 'temp'); $p->add('fax_edit', 'temp'); $database = new database; $database->app_name = 'fax'; $database->app_uuid = '24108154-4ac3-1db6-1551-4731703a4440'; $message = $database->save($array); unset($array); //revoke temp permissions $p->delete('fax_add', 'temp'); $p->delete('fax_edit', 'temp'); } //redirect the browser if ($action == "update" && permission_exists('fax_extension_edit')) { message::add($text['confirm-update']); } if ($action == "add" && permission_exists('fax_extension_add')) { message::add($text['confirm-add']); } header("Location: fax.php"); return; } } //pre-populate the form if (!empty($_GET['id']) && is_uuid($_GET['id']) && (empty($_POST["persistformvar"]) || $_POST["persistformvar"] != "true")) { $sql = "select * 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; $row = $database->select($sql, $parameters, 'row'); if (is_array($row) && @sizeof($row) != 0) { $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"]; $fax_email_connection_security = $row["fax_email_connection_security"]; $fax_email_connection_validate = $row["fax_email_connection_validate"]; $fax_email_connection_username = $row["fax_email_connection_username"]; $fax_email_connection_password = $row["fax_email_connection_password"]; $fax_email_connection_mailbox = $row["fax_email_connection_mailbox"]; $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"]; } unset($sql, $parameters, $row); } //create token $object = new token; $token = $object->create($_SERVER['PHP_SELF']); //show the header $document['title'] = $text['title-fax_server_settings']; require_once "resources/header.php"; //advanced button js echo "\n"; //show the content echo "
\n"; echo "
\n"; echo "
".$text['label-advanced_settings']."
\n"; echo "
\n"; echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','link'=>'fax_edit.php?id='.$fax_uuid]); echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save','style'=>'margin-left: 15px;']); echo "
\n"; echo "
\n"; echo "
\n"; echo $text['description-advanced_settings']."\n"; echo "

\n"; if ($action == 'update') { if (permission_exists('fax_extension_copy')) { echo modal::create(['id'=>'modal-copy','type'=>'copy','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_copy','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'copy','onclick'=>"modal_close();"])]); } if (permission_exists('fax_extension_delete')) { echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'delete','onclick'=>"modal_close();"])]); } } if (function_exists("imap_open") && file_exists("fax_files_remote.php")) { echo "\n"; echo " "; echo " "; echo " "; echo " \n"; echo " \n"; echo "
"; echo "
\n"; echo " \n"; echo " "; 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"; 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 "
"; echo " ".$text['label-email_account_connection']."

"; echo "
\n"; echo " ".$text['label-email_connection_type']."\n"; echo " \n"; echo " \n"; echo "
\n"; echo " ".$text['description-email_connection_type']."\n"; echo "
\n"; echo " ".$text['label-email_connection_server']."\n"; echo " \n"; echo "  : "; echo " \n"; echo "
\n"; echo " ".$text['description-email_connection_server']."\n"; echo "
\n"; echo " ".$text['label-email_connection_security']."\n"; echo " \n"; echo " \n"; echo "
\n"; echo " ".$text['description-email_connection_security']."\n"; echo "
\n"; echo " ".$text['label-email_connection_validate']."\n"; echo " \n"; echo " \n"; echo "
\n"; echo " ".$text['description-email_connection_validate']."\n"; echo "
\n"; echo " ".$text['label-email_connection_username']."\n"; echo " \n"; echo " \n"; echo " \n"; //help defeat browser auto-fill echo "
\n"; echo " ".$text['description-email_connection_username']."\n"; echo "
\n"; echo " ".$text['label-email_connection_password']."\n"; echo " \n"; echo " \n"; //help defeat browser auto-fill echo " \n"; echo "
\n"; echo " ".$text['description-email_connection_password']."\n"; echo "
\n"; echo " ".$text['label-email_connection_mailbox']."\n"; echo " \n"; echo " \n"; echo "
\n"; echo " ".$text['description-email_connection_mailbox']."\n"; echo "
\n"; echo "
\n"; echo "
    "; echo "
\n"; echo "\n"; echo ""; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if (file_exists("fax_emails.php")) { echo ""; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "
"; echo " ".$text['label-email_remote_inbox']."

"; echo "
\n"; echo " ".$text['label-email_inbound_subject_tag']."\n"; echo "\n"; echo " [ ]\n"; echo "
\n"; echo " ".$text['description-email_inbound_subject_tag']."\n"; echo "
"; echo "

"; echo " ".$text['label-email_email-to-fax']."

"; echo "
\n"; echo " ".$text['label-email_outbound_subject_tag']."\n"; echo "\n"; echo " [ ]\n"; echo "
\n"; echo " ".$text['description-email_outbound_subject_tag']."\n"; echo "
\n"; echo " ".$text['label-email_outbound_authorized_senders']."\n"; echo "\n"; echo " "; echo " "; echo " "; echo " "; echo " "; echo "
"; if (!empty($fax_email_outbound_authorized_senders)) { if (substr_count($fax_email_outbound_authorized_senders, ',') > 0) { $senders = explode(',', $fax_email_outbound_authorized_senders); } else { $senders[] = $fax_email_outbound_authorized_senders; } } $senders[] = ''; // add empty field foreach ($senders as $sender_num => $sender) { echo " ".(sizeof($senders) > 0 && $sender_num < (sizeof($senders) - 1) ? "
" : null); } echo "
"; echo " $v_link_label_add"; echo "
"; echo " ".$text['description-email_outbound_authorized_senders']."\n"; echo "
\n"; echo "
\n"; echo "
\n"; echo "

\n"; } echo " \n"; echo " \n"; echo "
"; if ($action == "update") { echo " \n"; echo " \n"; } echo " \n"; echo " \n"; echo " "; echo ""; echo "
"; echo "
\n"; //show the footer require_once "resources/footer.php"; ?>