Fax Server - Advanced Settings: Add Test button to check email account connectivity.

This commit is contained in:
fusionate
2025-12-11 19:18:11 -07:00
parent 793212ffd7
commit 5de3e7a9d5
3 changed files with 488 additions and 1 deletions

View File

@@ -5535,4 +5535,274 @@ $text['label-fax_download']['zh-cn'] = "下载传真";
$text['label-fax_download']['ja-jp'] = "ファックスをダウンロード"; $text['label-fax_download']['ja-jp'] = "ファックスをダウンロード";
$text['label-fax_download']['ko-kr'] = "팩스 다운로드"; $text['label-fax_download']['ko-kr'] = "팩스 다운로드";
$text['button-test']['en-us'] = "Test";
$text['button-test']['en-gb'] = "Test";
$text['button-test']['ar-eg'] = "الاختبار";
$text['button-test']['de-at'] = "Prüfung";
$text['button-test']['de-ch'] = "Prüfung";
$text['button-test']['de-de'] = "Prüfung";
$text['button-test']['el-gr'] = "Δοκιμή";
$text['button-test']['es-cl'] = "Prueba";
$text['button-test']['es-mx'] = "Prueba";
$text['button-test']['fr-ca'] = "Test";
$text['button-test']['fr-fr'] = "Test";
$text['button-test']['he-il'] = "מבחן";
$text['button-test']['it-it'] = "test di prova";
$text['button-test']['ka-ge'] = "შემოწმება";
$text['button-test']['nl-nl'] = "Test";
$text['button-test']['pl-pl'] = "test";
$text['button-test']['pt-br'] = "Teste de teste";
$text['button-test']['pt-pt'] = "Teste de teste";
$text['button-test']['ro-ro'] = "Test";
$text['button-test']['ru-ru'] = "Испытания";
$text['button-test']['sv-se'] = "Testa test";
$text['button-test']['uk-ua'] = "Тести";
$text['button-test']['tr-tr'] = "Ölçek";
$text['button-test']['zh-cn'] = "测试";
$text['button-test']['ja-jp'] = "テスト";
$text['button-test']['ko-kr'] = "시험";
$text['header-advanced_fax_settings_test']['en-us'] = "Advanced Fax Settings Test";
$text['header-advanced_fax_settings_test']['en-gb'] = "Advanced Fax Settings Test";
$text['header-advanced_fax_settings_test']['ar-eg'] = "اختبار إعدادات الفاكس المتقدمة";
$text['header-advanced_fax_settings_test']['de-at'] = "Erweiterter Fax-Einstellungen-Test";
$text['header-advanced_fax_settings_test']['de-ch'] = "Erweiterter Fax-Einstellungen-Test";
$text['header-advanced_fax_settings_test']['de-de'] = "Erweiterter Fax-Einstellungen-Test";
$text['header-advanced_fax_settings_test']['el-gr'] = "Δοκιμή ρυθμίσεων φαξ για προχωρημένους";
$text['header-advanced_fax_settings_test']['es-cl'] = "Prueba de configuración de fax avanzada";
$text['header-advanced_fax_settings_test']['es-mx'] = "Prueba de configuración de fax avanzada";
$text['header-advanced_fax_settings_test']['fr-ca'] = "Prueba de configuración de fax avanzada";
$text['header-advanced_fax_settings_test']['fr-fr'] = "Test des paramètres avancés de télécopie";
$text['header-advanced_fax_settings_test']['he-il'] = "בדיקת הגדרות פקס מתקדמות";
$text['header-advanced_fax_settings_test']['it-it'] = "Test delle impostazioni avanzate del fax";
$text['header-advanced_fax_settings_test']['ka-ge'] = "გაფართოებული ფაქსის პარამეტრების ტესტი";
$text['header-advanced_fax_settings_test']['nl-nl'] = "Test geavanceerde faxinstellingen";
$text['header-advanced_fax_settings_test']['pl-pl'] = "Test zaawansowanych ustawień faksu";
$text['header-advanced_fax_settings_test']['pt-br'] = "Teste de configurações avançadas de fax";
$text['header-advanced_fax_settings_test']['pt-pt'] = "Teste de definições avançadas de fax";
$text['header-advanced_fax_settings_test']['ro-ro'] = "Test setări avansate de fax";
$text['header-advanced_fax_settings_test']['ru-ru'] = "Проверка расширенных настроек факса";
$text['header-advanced_fax_settings_test']['sv-se'] = "Test av avancerade faxinställningar";
$text['header-advanced_fax_settings_test']['uk-ua'] = "Тест розширених налаштувань факсу";
$text['header-advanced_fax_settings_test']['tr-tr'] = "Gelişmiş Faks Ayarları Testi";
$text['header-advanced_fax_settings_test']['zh-cn'] = "高级传真设置测试";
$text['header-advanced_fax_settings_test']['ja-jp'] = "高度なFAX設定テスト";
$text['header-advanced_fax_settings_test']['ko-kr'] = "고급 팩스 설정 테스트";
$text['description-advanced_fax_settings_test']['en-us'] = "Below are the test results for the active Advanced Settings of the fax server.";
$text['description-advanced_fax_settings_test']['en-gb'] = "Below are the test results for the active Advanced Settings of the fax server.";
$text['description-advanced_fax_settings_test']['ar-eg'] = "فيما يلي نتائج اختبار الإعدادات المتقدمة النشطة لخادم الفاكس.";
$text['description-advanced_fax_settings_test']['de-at'] = "Nachfolgend sind die Testergebnisse für die aktiven erweiterten Einstellungen des Faxservers aufgeführt.";
$text['description-advanced_fax_settings_test']['de-ch'] = "Nachfolgend sind die Testergebnisse für die aktiven erweiterten Einstellungen des Faxservers aufgeführt.";
$text['description-advanced_fax_settings_test']['de-de'] = "Nachfolgend sind die Testergebnisse für die aktiven erweiterten Einstellungen des Faxservers aufgeführt.";
$text['description-advanced_fax_settings_test']['el-gr'] = "Παρακάτω παρατίθενται τα αποτελέσματα των δοκιμών για τις ενεργές Ρυθμίσεις για προχωρημένους του διακομιστή φαξ.";
$text['description-advanced_fax_settings_test']['es-cl'] = "A continuación se muestran los resultados de la prueba de la configuración avanzada activa del servidor de fax.";
$text['description-advanced_fax_settings_test']['es-mx'] = "A continuación se muestran los resultados de la prueba de la configuración avanzada activa del servidor de fax.";
$text['description-advanced_fax_settings_test']['fr-ca'] = "Vous trouverez ci-dessous les résultats des tests effectués sur les paramètres avancés actifs du serveur de fax.";
$text['description-advanced_fax_settings_test']['fr-fr'] = "Vous trouverez ci-dessous les résultats des tests effectués sur les paramètres avancés actifs du serveur de fax.";
$text['description-advanced_fax_settings_test']['he-il'] = "להלן תוצאות הבדיקה עבור ההגדרות המתקדמות הפעילות של שרת הפקס.";
$text['description-advanced_fax_settings_test']['it-it'] = "Di seguito sono riportati i risultati dei test per le Impostazioni avanzate attive del server fax.";
$text['description-advanced_fax_settings_test']['ka-ge'] = "ქვემოთ მოცემულია ფაქსის სერვერის აქტიური „გაფართოებული პარამეტრების“ ტესტის შედეგები.";
$text['description-advanced_fax_settings_test']['nl-nl'] = "Hieronder vindt u de testresultaten voor de actieve geavanceerde instellingen van de faxserver.";
$text['description-advanced_fax_settings_test']['pl-pl'] = "Poniżej znajdują się wyniki testów dla aktywnych ustawień zaawansowanych serwera faksowego.";
$text['description-advanced_fax_settings_test']['pt-br'] = "Abaixo estão os resultados dos testes para as Configurações Avançadas ativas do servidor de fax.";
$text['description-advanced_fax_settings_test']['pt-pt'] = "Abaixo estão os resultados dos testes para as Definições Avançadas ativas do servidor de fax.";
$text['description-advanced_fax_settings_test']['ro-ro'] = "Mai jos sunt rezultatele testelor pentru Setările Avansate active ale serverului de fax.";
$text['description-advanced_fax_settings_test']['ru-ru'] = "Ниже представлены результаты тестирования активных расширенных настроек факс-сервера.";
$text['description-advanced_fax_settings_test']['sv-se'] = "Nedan visas testresultaten för de aktiva avancerade inställningarna för faxservern.";
$text['description-advanced_fax_settings_test']['uk-ua'] = "Нижче наведено результати тестування для активних додаткових налаштувань факс-сервера.";
$text['description-advanced_fax_settings_test']['tr-tr'] = "Aşağıda faks sunucusunun aktif Gelişmiş Ayarları için test sonuçları yer almaktadır.";
$text['description-advanced_fax_settings_test']['zh-cn'] = "以下是传真服务器当前高级设置的测试结果。";
$text['description-advanced_fax_settings_test']['ja-jp'] = "以下は、ファックス サーバーのアクティブな詳細設定のテスト結果です。";
$text['description-advanced_fax_settings_test']['ko-kr'] = "다음은 팩스 서버의 고급 설정에 대한 테스트 결과입니다.";
$text['header-settings']['en-us'] = "Settings";
$text['header-settings']['en-gb'] = "Settings";
$text['header-settings']['ar-eg'] = "الترتيبات";
$text['header-settings']['de-at'] = "Einstellungen";
$text['header-settings']['de-ch'] = "Einstellungen";
$text['header-settings']['de-de'] = "Einstellungen";
$text['header-settings']['el-gr'] = "Ρυθμίσεις";
$text['header-settings']['es-cl'] = "Ajustes";
$text['header-settings']['es-mx'] = "Ajustes";
$text['header-settings']['fr-ca'] = "Paramètres";
$text['header-settings']['fr-fr'] = "Paramètres";
$text['header-settings']['he-il'] = "הגדרות הגדרות";
$text['header-settings']['it-it'] = "Impostazioni impostazioni";
$text['header-settings']['ka-ge'] = "მორგება";
$text['header-settings']['nl-nl'] = "Instellingen";
$text['header-settings']['pl-pl'] = "Setting";
$text['header-settings']['pt-br'] = "Configurações";
$text['header-settings']['pt-pt'] = "Configurações";
$text['header-settings']['ro-ro'] = "Setări";
$text['header-settings']['ru-ru'] = "Настройка";
$text['header-settings']['sv-se'] = "Inställningar";
$text['header-settings']['uk-ua'] = "Налаштування";
$text['header-settings']['tr-tr'] = "Ayarlar";
$text['header-settings']['zh-cn'] = "设置";
$text['header-settings']['ja-jp'] = "設定";
$text['header-settings']['ko-kr'] = "설정";
$text['label-connection_string']['en-us'] = "Connection String";
$text['label-connection_string']['en-gb'] = "Connection String";
$text['label-connection_string']['ar-eg'] = "سلسلة الاتصال";
$text['label-connection_string']['de-at'] = "Verbindungszeichenfolge";
$text['label-connection_string']['de-ch'] = "Verbindungszeichenfolge";
$text['label-connection_string']['de-de'] = "Verbindungszeichenfolge";
$text['label-connection_string']['el-gr'] = "Συμβολοσειρά σύνδεσης";
$text['label-connection_string']['es-cl'] = "Cadena de conexión";
$text['label-connection_string']['es-mx'] = "Cadena de conexión";
$text['label-connection_string']['fr-ca'] = "Chaîne de connexion";
$text['label-connection_string']['fr-fr'] = "Chaîne de connexion";
$text['label-connection_string']['he-il'] = "מחרוזת חיבור";
$text['label-connection_string']['it-it'] = "Stringa di connessione";
$text['label-connection_string']['ka-ge'] = "კავშირის სტრიქონი";
$text['label-connection_string']['nl-nl'] = "Verbindingsreeks";
$text['label-connection_string']['pl-pl'] = "Ciąg połączenia";
$text['label-connection_string']['pt-br'] = "Cadeia de conexão";
$text['label-connection_string']['pt-pt'] = "Cadeia de ligação";
$text['label-connection_string']['ro-ro'] = "Șir de conexiune";
$text['label-connection_string']['ru-ru'] = "Строка подключения";
$text['label-connection_string']['sv-se'] = "Anslutningssträng";
$text['label-connection_string']['uk-ua'] = "Рядок підключення";
$text['label-connection_string']['tr-tr'] = "Bağlantı Dizisi";
$text['label-connection_string']['zh-cn'] = "连接字符串";
$text['label-connection_string']['ja-jp'] = "接続文字列";
$text['label-connection_string']['ko-kr'] = "연결 문자열";
$text['header-result']['en-us'] = "Result";
$text['header-result']['en-gb'] = "Result";
$text['header-result']['ar-eg'] = "النتيجة";
$text['header-result']['de-at'] = "Ergebnis";
$text['header-result']['de-ch'] = "Ergebnis";
$text['header-result']['de-de'] = "Ergebnis";
$text['header-result']['el-gr'] = "Αποτέλεσμα";
$text['header-result']['es-cl'] = "Resultado";
$text['header-result']['es-mx'] = "Resultado";
$text['header-result']['fr-ca'] = "Résultat ";
$text['header-result']['fr-fr'] = "Résultat ";
$text['header-result']['he-il'] = "תוצאה";
$text['header-result']['it-it'] = "Risultato";
$text['header-result']['ka-ge'] = "შედეგი";
$text['header-result']['nl-nl'] = "Resultaat";
$text['header-result']['pl-pl'] = "rezultat";
$text['header-result']['pt-br'] = "Resultado";
$text['header-result']['pt-pt'] = "Resultado";
$text['header-result']['ro-ro'] = "Rezultat";
$text['header-result']['ru-ru'] = "Результат";
$text['header-result']['sv-se'] = "Resultat";
$text['header-result']['uk-ua'] = "Почати";
$text['header-result']['tr-tr'] = "Sonuç";
$text['header-result']['zh-cn'] = "结果";
$text['header-result']['ja-jp'] = "結果";
$text['header-result']['ko-kr'] = "결과";
$text['label-connection_success']['en-us'] = "Connected Successfully";
$text['label-connection_success']['en-gb'] = "Connected Successfully";
$text['label-connection_success']['ar-eg'] = "تم الاتصال بنجاح";
$text['label-connection_success']['de-at'] = "Verbindung erfolgreich hergestellt.";
$text['label-connection_success']['de-ch'] = "Verbindung erfolgreich hergestellt.";
$text['label-connection_success']['de-de'] = "Verbindung erfolgreich hergestellt.";
$text['label-connection_success']['el-gr'] = "Συνδέθηκε με επιτυχία";
$text['label-connection_success']['es-cl'] = "Conectado exitosamente";
$text['label-connection_success']['es-mx'] = "Conectado exitosamente";
$text['label-connection_success']['fr-ca'] = "Connexion réussie";
$text['label-connection_success']['fr-fr'] = "Connexion réussie";
$text['label-connection_success']['he-il'] = "התחבר בהצלחה";
$text['label-connection_success']['it-it'] = "Connesso con successo";
$text['label-connection_success']['ka-ge'] = "წარმატებით დაკავშირდა";
$text['label-connection_success']['nl-nl'] = "Succesvol verbonden";
$text['label-connection_success']['pl-pl'] = "Połączono pomyślnie";
$text['label-connection_success']['pt-br'] = "Conexão estabelecida com sucesso.";
$text['label-connection_success']['pt-pt'] = "Ligação estabelecida com sucesso.";
$text['label-connection_success']['ro-ro'] = "Conectare reușită";
$text['label-connection_success']['ru-ru'] = "Успешное соединение установлено";
$text['label-connection_success']['sv-se'] = "Ansluten framgångsrikt";
$text['label-connection_success']['uk-ua'] = "Підключено успішно";
$text['label-connection_success']['tr-tr'] = "Bağlantı başarıyla kuruldu.";
$text['label-connection_success']['zh-cn'] = "连接成功";
$text['label-connection_success']['ja-jp'] = "接続に成功しました";
$text['label-connection_success']['ko-kr'] = "성공적으로 연결되었습니다";
$text['label-connection_failed']['en-us'] = "Connection Failed";
$text['label-connection_failed']['en-gb'] = "Connection Failed";
$text['label-connection_failed']['ar-eg'] = "فشل الاتصال";
$text['label-connection_failed']['de-at'] = "Verbindung fehlgeschlagen";
$text['label-connection_failed']['de-ch'] = "Verbindung fehlgeschlagen";
$text['label-connection_failed']['de-de'] = "Verbindung fehlgeschlagen";
$text['label-connection_failed']['el-gr'] = "Η σύνδεση απέτυχε";
$text['label-connection_failed']['es-cl'] = "Conexión fallida";
$text['label-connection_failed']['es-mx'] = "Conexión fallida";
$text['label-connection_failed']['fr-ca'] = "Conexión fallida";
$text['label-connection_failed']['fr-fr'] = "Échec de la connexion";
$text['label-connection_failed']['he-il'] = "החיבור נכשל";
$text['label-connection_failed']['it-it'] = "Connessione fallita";
$text['label-connection_failed']['ka-ge'] = "კავშირი ვერ მოხერხდა";
$text['label-connection_failed']['nl-nl'] = "Verbinding mislukt";
$text['label-connection_failed']['pl-pl'] = "Połączenie nieudane";
$text['label-connection_failed']['pt-br'] = "Conexão falhou";
$text['label-connection_failed']['pt-pt'] = "Conexão falhou";
$text['label-connection_failed']['ro-ro'] = "Conexiune eșuată";
$text['label-connection_failed']['ru-ru'] = "Соединение не удалось.";
$text['label-connection_failed']['sv-se'] = "Anslutningen misslyckades";
$text['label-connection_failed']['uk-ua'] = "Помилка підключення";
$text['label-connection_failed']['tr-tr'] = "Bağlantı başarısız oldu";
$text['label-connection_failed']['zh-cn'] = "连接失败";
$text['label-connection_failed']['ja-jp'] = "接続に失敗しました";
$text['label-connection_failed']['ko-kr'] = "연결 실패";
$text['label-advanced_fax_settings_not_found']['en-us'] = "Advanced Settings Not Found";
$text['label-advanced_fax_settings_not_found']['en-gb'] = "Advanced Settings Not Found";
$text['label-advanced_fax_settings_not_found']['ar-eg'] = "لم يتم العثور على الإعدادات المتقدمة";
$text['label-advanced_fax_settings_not_found']['de-at'] = "Erweiterte Einstellungen nicht gefunden";
$text['label-advanced_fax_settings_not_found']['de-ch'] = "Erweiterte Einstellungen nicht gefunden";
$text['label-advanced_fax_settings_not_found']['de-de'] = "Erweiterte Einstellungen nicht gefunden";
$text['label-advanced_fax_settings_not_found']['el-gr'] = "Δεν βρέθηκαν οι ρυθμίσεις για προχωρημένους";
$text['label-advanced_fax_settings_not_found']['es-cl'] = "Configuración avanzada no encontrada";
$text['label-advanced_fax_settings_not_found']['es-mx'] = "Configuración avanzada no encontrada";
$text['label-advanced_fax_settings_not_found']['fr-ca'] = "Paramètres avancés introuvables";
$text['label-advanced_fax_settings_not_found']['fr-fr'] = "Paramètres avancés introuvables";
$text['label-advanced_fax_settings_not_found']['he-il'] = "הגדרות מתקדמות לא נמצאו";
$text['label-advanced_fax_settings_not_found']['it-it'] = "Impostazioni avanzate non trovate";
$text['label-advanced_fax_settings_not_found']['ka-ge'] = "გაფართოებული პარამეტრები ვერ მოიძებნა";
$text['label-advanced_fax_settings_not_found']['nl-nl'] = "Geavanceerde instellingen niet gevonden";
$text['label-advanced_fax_settings_not_found']['pl-pl'] = "Nie znaleziono ustawień zaawansowanych";
$text['label-advanced_fax_settings_not_found']['pt-br'] = "Configurações avançadas não encontradas";
$text['label-advanced_fax_settings_not_found']['pt-pt'] = "Configurações avançadas não encontradas";
$text['label-advanced_fax_settings_not_found']['ro-ro'] = "Расширенные настройки не найдены";
$text['label-advanced_fax_settings_not_found']['ru-ru'] = "Расширенные настройки не найдены";
$text['label-advanced_fax_settings_not_found']['sv-se'] = "Avancerade inställningar hittades inte";
$text['label-advanced_fax_settings_not_found']['uk-ua'] = "Розширені налаштування не знайдено";
$text['label-advanced_fax_settings_not_found']['tr-tr'] = "Gelişmiş Ayarlar Bulunamadı";
$text['label-advanced_fax_settings_not_found']['zh-cn'] = "未找到高级设置";
$text['label-advanced_fax_settings_not_found']['ja-jp'] = "詳細設定が見つかりません";
$text['label-advanced_fax_settings_not_found']['ko-kr'] = "고급 설정을 찾을 수 없습니다.";
$text['label-testing']['en-us'] = "Testing";
$text['label-testing']['en-gb'] = "Testing";
$text['label-testing']['ar-eg'] = "الاختبار";
$text['label-testing']['de-at'] = "Testen";
$text['label-testing']['de-ch'] = "Testen";
$text['label-testing']['de-de'] = "Testen";
$text['label-testing']['el-gr'] = "Δοκιμές";
$text['label-testing']['es-cl'] = "Pruebas";
$text['label-testing']['es-mx'] = "Pruebas";
$text['label-testing']['fr-ca'] = "Essai";
$text['label-testing']['fr-fr'] = "Essai";
$text['label-testing']['he-il'] = "בּוֹחֵן";
$text['label-testing']['it-it'] = "Test";
$text['label-testing']['ka-ge'] = "Test";
$text['label-testing']['nl-nl'] = "Testen";
$text['label-testing']['pl-pl'] = "Testowanie";
$text['label-testing']['pt-br'] = "Testowanie";
$text['label-testing']['pt-pt'] = "Testando";
$text['label-testing']['ro-ro'] = "Testare";
$text['label-testing']['ru-ru'] = "Тестирование";
$text['label-testing']['sv-se'] = "Testning";
$text['label-testing']['uk-ua'] = "Тестування";
$text['label-testing']['tr-tr'] = "Test";
$text['label-testing']['zh-cn'] = "测试";
$text['label-testing']['ja-jp'] = "テスト";
$text['label-testing']['ko-kr'] = "테스트";
?> ?>

View File

@@ -151,7 +151,7 @@
if ($action == "add" && permission_exists('fax_extension_add')) { if ($action == "add" && permission_exists('fax_extension_add')) {
message::add($text['confirm-add']); message::add($text['confirm-add']);
} }
header("Location: fax.php"); header("Location: fax_advanced.php?id=".$fax_uuid);
return; return;
} }
@@ -189,6 +189,46 @@
$document['title'] = $text['title-fax_server_settings']; $document['title'] = $text['title-fax_server_settings'];
require_once "resources/header.php"; require_once "resources/header.php";
//test result layer
echo "<style>\n";
echo " #test_result_layer {\n";
echo " z-index: 999999;\n";
echo " position: absolute;\n";
echo " left: 0px;\n";
echo " top: 0px;\n";
echo " right: 0px;\n";
echo " bottom: 0px;\n";
echo " text-align: center;\n";
echo " vertical-align: middle;\n";
echo " }\n";
echo " #test_result_container {\n";
echo " display: block;\n";
echo " overflow: auto;\n";
echo " background-color: #fff;\n";
echo " padding: 25px 25px;\n";
if (http_user_agent('mobile')) {
echo " margin: 0;\n";
}
else {
echo " margin: auto 10%;\n";
}
echo " text-align: left;\n";
echo " -webkit-box-shadow: 0px 1px 20px #888;\n";
echo " -moz-box-shadow: 0px 1px 20px #888;\n";
echo " box-shadow: 0px 1px 20px #888;\n";
echo " }\n";
echo "</style>\n";
echo "<div id='test_result_layer' style='display: none;'>\n";
echo " <table cellpadding='0' cellspacing='0' border='0' width='100%' height='100%'>\n";
echo " <tr>\n";
echo " <td align='center' valign='middle'>\n";
echo " <span id='test_result_container'></span>\n";
echo " </td>\n";
echo " </tr>\n";
echo " </table>\n";
echo "</div>\n";
//advanced button js //advanced button js
echo "<script type='text/javascript' language='JavaScript'>\n"; echo "<script type='text/javascript' language='JavaScript'>\n";
echo " function add_sender() {\n"; echo " function add_sender() {\n";
@@ -205,10 +245,12 @@
echo " <div class='heading'><b>".$text['label-advanced_settings']."</b></div>\n"; echo " <div class='heading'><b>".$text['label-advanced_settings']."</b></div>\n";
echo " <div class='actions'>\n"; echo " <div class='actions'>\n";
echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$settings->get('theme', 'button_icon_back'),'id'=>'btn_back','link'=>'fax_edit.php?id='.$fax_uuid]); echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$settings->get('theme', 'button_icon_back'),'id'=>'btn_back','link'=>'fax_edit.php?id='.$fax_uuid]);
echo button::create(['type'=>'button','label'=>$text['button-test'],'icon'=>'tools','id'=>'test_button','style'=>'margin-left: 15px;','onclick'=>"this.blur(); fax_advanced_test();"]);
echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$settings->get('theme', 'button_icon_save'),'id'=>'btn_save','style'=>'margin-left: 15px;']); echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$settings->get('theme', 'button_icon_save'),'id'=>'btn_save','style'=>'margin-left: 15px;']);
echo " </div>\n"; echo " </div>\n";
echo " <div style='clear: both;'></div>\n"; echo " <div style='clear: both;'></div>\n";
echo "</div>\n"; echo "</div>\n";
echo $text['description-advanced_settings']."\n"; echo $text['description-advanced_settings']."\n";
echo "<br><br>\n"; echo "<br><br>\n";
@@ -431,6 +473,25 @@
echo "</form>"; echo "</form>";
echo "<br />\n"; echo "<br />\n";
//test script
echo "<script>\n";
echo " function fax_advanced_test() {\n";
echo " document.getElementById('test_button').innerHTML = \"<span class='fa-solid fa-gear fa-fw fa-spin'></span><span class='button-label pad'>".$text['label-testing']."</span>\";\n";
echo " $.ajax({\n";
echo " url: 'fax_advanced_test.php?id=".$fax_uuid."',\n";
echo " type: 'get',\n";
echo " processData: false,\n";
echo " contentType: false,\n";
echo " cache: false,\n";
echo " success: function(response){\n";
echo " $('#test_result_container').html(response);\n";
echo " $('#test_result_layer').fadeIn(400);\n";
echo " $('#test_button').html(\"<span class='fa-solid fa-tools fa-fw'></span><span class='button-label pad'>".$text['button-test']."</span>\");\n";
echo " }\n";
echo " });\n";
echo " };\n";
echo "</script>\n";
//show the footer //show the footer
require_once "resources/footer.php"; require_once "resources/footer.php";

View File

@@ -0,0 +1,156 @@
<?php
/*-
* Copyright (c) 2008-2025 Mark J Crane <markjcrane@fusionpbx.com>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
//includes files
require_once dirname(__DIR__, 2) . "/resources/require.php";
require_once "resources/check_auth.php";
require_once "resources/functions/object_to_array.php";
require_once "resources/functions/parse_message.php";
//check permissions
if (!permission_exists('fax_extension_advanced')) {
echo "access denied";
exit;
}
//add multi-lingual support
$language = new text;
$text = $language->get();
//get submitted id
$fax_uuid = !empty($_GET['id']) && is_uuid($_GET['id']) ? $_GET['id'] : null;
//get advanced fax settings
if (permission_exists('fax_extension_view')) {
//retrieve any fax ext
$sql = "select ";
$sql .= "f.fax_name, f.fax_extension, f.fax_email_connection_type, f.fax_email_connection_host, f.fax_email_connection_port, f.fax_email_connection_security, ";
$sql .= "f.fax_email_connection_validate, f.fax_email_connection_username, f.fax_email_connection_password, f.fax_email_connection_mailbox, f.fax_email_inbound_subject_tag ";
$sql .= "from v_fax as f ";
$sql .= "where f.domain_uuid = :domain_uuid ";
$sql .= "and f.fax_uuid = :fax_uuid ";
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$parameters['fax_uuid'] = $fax_uuid;
}
else {
//retrieve only fax ext assigned to user
$sql = "select ";
$sql .= "f.fax_name, f.fax_extension, f.fax_email_connection_type, f.fax_email_connection_host, f.fax_email_connection_port, f.fax_email_connection_security, ";
$sql .= "f.fax_email_connection_validate, f.fax_email_connection_username, f.fax_email_connection_password, f.fax_email_connection_mailbox, f.fax_email_inbound_subject_tag ";
$sql .= "from v_fax as f, v_fax_users as u ";
$sql .= "where f.fax_uuid = u.fax_uuid ";
$sql .= "and f.domain_uuid = :domain_uuid ";
$sql .= "and f.fax_uuid = :fax_uuid ";
$sql .= "and u.user_uuid = :user_uuid ";
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$parameters['fax_uuid'] = $fax_uuid;
$parameters['user_uuid'] = $_SESSION['user_uuid'];
}
$fax = $database->select($sql, $parameters, 'row');
unset($sql, $parameters);
//attempt connection
if (!empty($fax) && is_array($fax)) {
$fax_email_connection = "{".$fax["fax_email_connection_host"].":".$fax["fax_email_connection_port"]."/".$fax["fax_email_connection_type"];
$fax_email_connection .= !empty($fax["fax_email_connection_security"]) ? "/".$fax["fax_email_connection_security"] : "/notls";
$fax_email_connection .= "/".($fax["fax_email_connection_validate"] == false ? "no" : null)."validate-cert";
$fax_email_connection .= "}".$fax["fax_email_connection_mailbox"];
if (!$connection = @imap_open($fax_email_connection, $fax["fax_email_connection_username"], $fax["fax_email_connection_password"])) {
$connected = false;
$response = imap_errors();
}
else {
$connected = true;
//get message count
$message_count = imap_num_msg($connection);
$response = imap_errors();
imap_close($connection);
}
}
else {
$connected = false;
$response = $text['label-advanced_fax_settings_not_found'];
}
//show the content
echo "<input type='button' class='btn' style='float: right;' value='".$text['button-close']."' onclick=\"$('#test_result_layer').fadeOut(200);\">\n";
echo "<b>".$text['header-advanced_fax_settings_test']."</b>\n";
echo "<br><br>\n";
echo str_replace(['[NAME]','[EXT]'], ['<strong>'.$fax['fax_name'].'</strong>','<strong>'.$fax['fax_extension'].'</strong>'], $text['description-advanced_fax_settings_test'])."\n";
echo "<br><br><br>\n";
if (!empty($fax) && is_array($fax)) {
echo "<b>".$text['header-settings']."</b>\n";
echo "<br><br>\n";
echo "<table>\n";
foreach ($fax as $field => $value) {
if ($field == 'fax_email_connection_username' || $field == 'fax_email_connection_password') { continue; }
echo "<tr>\n";
echo "<td style='padding-right: 30px;'>".ucwords(str_replace(['_','fax email '],[' ',''], $field))."</td>\n";
echo "<td style='padding-right: 30px;'>";
if (is_bool($value)) {
echo !empty($value) ? 'True' : 'False';
}
else {
echo in_array($field, ['fax_name','fax_extension']) ? '<strong>'.($value ?? null).'</strong>' : ($value ?? null);
}
echo "</td>\n";
echo "<tr>\n";
}
echo "<tr>\n";
echo "<td style='padding-right: 30px;'>".$text['label-connection_string']."</td>\n";
echo "<td style='padding-right: 30px;'>".escape($fax_email_connection)."</td>\n";
echo "<tr>\n";
echo "</table>\n";
echo "<br><br>\n";
}
echo "<b>".$text['header-result']."</b>\n";
echo "<br><br>\n";
echo "<div style='width: 100%; max-height: 250px; overflow: auto; border: 1px solid ".($settings->get('theme', 'table_row_border_color') ?? '#c5d1e5')."; padding: 12px 15px; background-color: ".($settings->get('theme', 'table_row_background_color_light') ?? '#fff')."; font-family: monospace; font-size: 85%;'>\n";
echo ($connected ? $text['label-connection_success'] : $text['label-connection_failed']);
echo "<br><br>\n";
if (is_array($response)) {
foreach ($response as $message) {
echo $message."<br>\n";
}
}
else {
echo $response;
}
if (isset($message_count) && is_numeric($message_count)) {
echo $message_count.' Message'.($message_count != 1).' Found';
}
echo "</div>\n";
echo "<br><br>\n";
echo "<center>\n";
echo " <input type='button' class='btn' style='margin-top: 15px;' value='".$text['button-close']."' onclick=\"$('#test_result_layer').fadeOut(200);\">\n";
echo "</center>\n";