From 6c6a988c2bce1ac50481108b12e280c4acf66187 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Thu, 2 Oct 2025 11:42:30 -0400 Subject: [PATCH 01/24] Fix custom Favicon --- client/includes/header.php | 2 +- guest/includes/guest_header.php | 2 +- includes/header.php | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/includes/header.php b/client/includes/header.php index c272d6f2..1bf3e2b2 100644 --- a/client/includes/header.php +++ b/client/includes/header.php @@ -19,7 +19,7 @@ header("X-Frame-Options: DENY"); // Legacy - + diff --git a/guest/includes/guest_header.php b/guest/includes/guest_header.php index bc2a267e..b3f1d525 100644 --- a/guest/includes/guest_header.php +++ b/guest/includes/guest_header.php @@ -36,7 +36,7 @@ $session_company_name = $row['company_name']; Favicon If Fav Icon exists else use the default one --> - + diff --git a/includes/header.php b/includes/header.php index 2a9a49d6..0c11864d 100644 --- a/includes/header.php +++ b/includes/header.php @@ -19,9 +19,9 @@ header("X-Frame-Options: DENY"); <?= $session_company_name; ?> - + - + From 76c9933bafb5dc6adf30c75ebb029e337e71ba4d Mon Sep 17 00:00:00 2001 From: johnnyq Date: Thu, 2 Oct 2025 14:28:43 -0400 Subject: [PATCH 02/24] Update imap and smtp providers to allow empty string if empty do not execute mail queue --- admin/database_updates.php | 12 +++++++++--- admin/post/settings_mail.php | 8 ++++---- admin/settings_mail.php | 16 ++++++++-------- cron/mail_queue.php | 7 ++++++- db.sql | 6 +++--- includes/database_version.php | 2 +- 6 files changed, 31 insertions(+), 20 deletions(-) diff --git a/admin/database_updates.php b/admin/database_updates.php index 688a9daa..a8e044d0 100644 --- a/admin/database_updates.php +++ b/admin/database_updates.php @@ -4027,10 +4027,16 @@ if (LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION) { mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '2.3.5'"); } - // if (CURRENT_DATABASE_VERSION == '2.3.4') { - // // Insert queries here required to update to DB version 2.3.4 + if (CURRENT_DATABASE_VERSION == '2.3.5') { + mysqli_query($mysqli, "ALTER TABLE `settings` CHANGE `config_smtp_provider` `config_smtp_provider` VARCHAR(200) DEFAULT NULL"); + mysqli_query($mysqli, "ALTER TABLE `settings` CHANGE `config_imap_provider` `config_imap_provider` VARCHAR(200) DEFAULT NULL"); + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '2.3.6'"); + } + + // if (CURRENT_DATABASE_VERSION == '2.3.5') { + // // Insert queries here required to update to DB version 2.3.5 // // Then, update the database to the next sequential version - // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '2.3.5'"); + // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '2.3.6'"); // } } else { diff --git a/admin/post/settings_mail.php b/admin/post/settings_mail.php index daf479e3..d7b2e6a7 100644 --- a/admin/post/settings_mail.php +++ b/admin/post/settings_mail.php @@ -6,7 +6,7 @@ if (isset($_POST['edit_mail_smtp_settings'])) { validateCSRFToken($_POST['csrf_token']); - $config_smtp_provider = sanitizeInput($_POST['config_smtp_provider'] ?? 'standard_smtp'); + $config_smtp_provider = sanitizeInput($_POST['config_smtp_provider']); $config_smtp_host = sanitizeInput($_POST['config_smtp_host']); $config_smtp_port = intval($_POST['config_smtp_port'] ?? 0); $config_smtp_encryption = sanitizeInput($_POST['config_smtp_encryption']); @@ -22,7 +22,7 @@ if (isset($_POST['edit_mail_smtp_settings'])) { mysqli_query($mysqli, " UPDATE settings SET - config_smtp_provider = " . ($config_smtp_provider === 'none' ? "NULL" : "'$config_smtp_provider'") . ", + config_smtp_provider = '$config_smtp_provider', config_smtp_host = '$config_smtp_host', config_smtp_port = $config_smtp_port, config_smtp_encryption = '$config_smtp_encryption', @@ -48,7 +48,7 @@ if (isset($_POST['edit_mail_imap_settings'])) { validateCSRFToken($_POST['csrf_token']); - $config_imap_provider = sanitizeInput($_POST['config_imap_provider'] ?? 'standard_imap'); + $config_imap_provider = sanitizeInput($_POST['config_imap_provider']); $config_imap_host = sanitizeInput($_POST['config_imap_host']); $config_imap_port = intval($_POST['config_imap_port'] ?? 0); $config_imap_encryption = sanitizeInput($_POST['config_imap_encryption']); @@ -64,7 +64,7 @@ if (isset($_POST['edit_mail_imap_settings'])) { mysqli_query($mysqli, " UPDATE settings SET - config_imap_provider = " . ($config_imap_provider === 'none' ? "NULL" : "'$config_imap_provider'") . ", + config_imap_provider = '$config_imap_provider', config_imap_host = '$config_imap_host', config_imap_port = $config_imap_port, config_imap_encryption = '$config_imap_encryption', diff --git a/admin/settings_mail.php b/admin/settings_mail.php index 1b6acea1..eb0dee02 100644 --- a/admin/settings_mail.php +++ b/admin/settings_mail.php @@ -18,10 +18,10 @@ require_once "includes/inc_all_admin.php"; @@ -116,10 +116,10 @@ require_once "includes/inc_all_admin.php"; diff --git a/cron/mail_queue.php b/cron/mail_queue.php index 11993ef7..f77fdb1e 100644 --- a/cron/mail_queue.php +++ b/cron/mail_queue.php @@ -55,7 +55,7 @@ $config_smtp_port = intval($row['config_smtp_port']); $config_smtp_encryption = $row['config_smtp_encryption']; // SMTP provider + shared OAuth fields -$config_smtp_provider = $row['config_smtp_provider'] ?? 'standard_smtp'; // 'standard_smtp' | 'google_oauth' | 'microsoft_oauth' +$config_smtp_provider = $row['config_smtp_provider']; // 'standard_smtp' | 'google_oauth' | 'microsoft_oauth' $config_mail_oauth_client_id = $row['config_mail_oauth_client_id'] ?? ''; $config_mail_oauth_client_secret = $row['config_mail_oauth_client_secret'] ?? ''; $config_mail_oauth_tenant_id = $row['config_mail_oauth_tenant_id'] ?? ''; @@ -68,6 +68,11 @@ if ($config_enable_cron == 0) { exit("Cron: is not enabled -- Quitting.."); } +if (empty($config_smtp_provider)) { + logApp("Cron-Mail-Queue", "info", "SMTP sending skipped: provider not configured."); + exit(0); +} + /** ======================================================================= * Lock file * ======================================================================= */ diff --git a/db.sql b/db.sql index 8f3e0946..dad15b41 100644 --- a/db.sql +++ b/db.sql @@ -1981,7 +1981,7 @@ CREATE TABLE `settings` ( `company_id` int(11) NOT NULL, `config_current_database_version` varchar(10) NOT NULL, `config_start_page` varchar(200) DEFAULT 'clients.php', - `config_smtp_provider` enum('standard_smtp','google_oauth','microsoft_oauth') DEFAULT NULL, + `config_smtp_provider` varchar(200) DEFAULT NULL, `config_smtp_host` varchar(200) DEFAULT NULL, `config_smtp_port` int(5) DEFAULT NULL, `config_smtp_encryption` varchar(200) DEFAULT NULL, @@ -1989,7 +1989,7 @@ CREATE TABLE `settings` ( `config_smtp_password` varchar(200) DEFAULT NULL, `config_mail_from_email` varchar(200) DEFAULT NULL, `config_mail_from_name` varchar(200) DEFAULT NULL, - `config_imap_provider` enum('standard_imap','google_oauth','microsoft_oauth') DEFAULT NULL, + `config_imap_provider` varchar(200) DEFAULT NULL, `config_mail_oauth_client_id` varchar(255) DEFAULT NULL, `config_mail_oauth_client_secret` varchar(255) DEFAULT NULL, `config_mail_oauth_tenant_id` varchar(255) DEFAULT NULL, @@ -2819,4 +2819,4 @@ CREATE TABLE `vendors` ( /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2025-09-25 17:24:06 +-- Dump completed on 2025-10-02 14:27:24 diff --git a/includes/database_version.php b/includes/database_version.php index d83815ec..a2c67fc8 100644 --- a/includes/database_version.php +++ b/includes/database_version.php @@ -5,4 +5,4 @@ * It is used in conjunction with database_updates.php */ -DEFINE("LATEST_DATABASE_VERSION", "2.3.5"); +DEFINE("LATEST_DATABASE_VERSION", "2.3.6"); From 956f18430bf4915707c29ee12bc319791e3695af Mon Sep 17 00:00:00 2001 From: johnnyq Date: Fri, 3 Oct 2025 11:12:48 -0400 Subject: [PATCH 03/24] Fix Microsoft SSO Login in Client Portal, fix ticket templates due to regression from changing from user to agent --- admin/post/ticket_template.php | 4 ++-- client/login.php | 12 +++++++++++- client/login_microsoft.php | 11 ++++++++++- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/admin/post/ticket_template.php b/admin/post/ticket_template.php index eecd0d89..c968b6df 100644 --- a/admin/post/ticket_template.php +++ b/admin/post/ticket_template.php @@ -5,8 +5,8 @@ defined('FROM_POST_HANDLER') || die("Direct file access is not allowed"); // Import shared code from user-side tickets/tasks as we reuse functions -require_once '../user/post/ticket.php'; -require_once '../user/post/task.php'; +require_once '../agent/post/ticket.php'; +require_once '../agent/post/task.php'; if (isset($_POST['add_ticket_template'])) { diff --git a/client/login.php b/client/login.php index d0b6aff8..c3b0dea1 100644 --- a/client/login.php +++ b/client/login.php @@ -57,7 +57,17 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['login'])) { } else { - $sql = mysqli_query($mysqli, "SELECT * FROM users LEFT JOIN contacts ON user_id = contact_user_id LEFT JOIN clients ON contact_client_id = client_id WHERE user_email = '$email' AND client_archived_at IS NULL AND user_archived_at IS NULL AND user_type = 2 AND user_status = 1 LIMIT 1"); + $sql = mysqli_query($mysqli, "SELECT * FROM users + LEFT JOIN contacts ON user_id = contact_user_id + LEFT JOIN clients ON contact_client_id = client_id + WHERE user_email = '$email' + AND client_archived_at IS NULL + AND user_archived_at IS NULL + AND user_type = 2 + AND user_status = 1 + LIMIT 1" + ); + $row = mysqli_fetch_array($sql); $client_id = intval($row['contact_client_id']); $user_id = intval($row['user_id']); diff --git a/client/login_microsoft.php b/client/login_microsoft.php index c182a16d..64d60d06 100644 --- a/client/login_microsoft.php +++ b/client/login_microsoft.php @@ -100,7 +100,16 @@ if (isset($_POST['code']) && $_POST['state'] == session_id()) { $upn = mysqli_real_escape_string($mysqli, $msgraph_response["userPrincipalName"]); - $sql = mysqli_query($mysqli, "SELECT * FROM users LEFT JOIN contacts ON user_id = contact_user_id LEFT JOIN contact_client_id = client_id WHERE user_email = '$upn' AND user_archived_at IS NULL AND client_archived_at IS NULL AND user_type = 2 AND user_status = 1 LIMIT 1"); + $sql = mysqli_query($mysqli, "SELECT * FROM users + LEFT JOIN contacts ON user_id = contact_user_id + LEFT JOIN clients contact_client_id = client_id + WHERE user_email = '$upn' + AND user_archived_at IS NULL + AND client_archived_at IS NULL + AND user_type = 2 + AND user_status = 1 + LIMIT 1" + ); $row = mysqli_fetch_array($sql); $client_id = intval($row['contact_client_id']); $user_id = intval($row['user_id']); From 6e8c133a99e0a8d97942365629d023319283fdc3 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Fri, 3 Oct 2025 11:25:48 -0400 Subject: [PATCH 04/24] Fix Regressions in Vendor Templates updated path from ../user/post to ../agent/post --- admin/post/vendor_template.php | 2 +- agent/post.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/post/vendor_template.php b/admin/post/vendor_template.php index 09dfab16..34336267 100644 --- a/admin/post/vendor_template.php +++ b/admin/post/vendor_template.php @@ -5,7 +5,7 @@ defined('FROM_POST_HANDLER') || die("Direct file access is not allowed"); // Import shared code from user-side vendor management as we reuse functions -require_once '../user/post/vendor.php'; +require_once '../agent/post/vendor.php'; if (isset($_POST['add_vendor_template'])) { diff --git a/agent/post.php b/agent/post.php index b478c9c1..9f2f6f96 100644 --- a/agent/post.php +++ b/agent/post.php @@ -26,7 +26,7 @@ $module = str_ireplace('_details', '', $module); // Dynamically load admin-related module POST logic // Load all module POST logic -// Loads everything in post/user/ +// Loads everything in post // Eventually, it would be nice to only specifically load what we need like we do for admins foreach (glob("post/*.php") as $user_module) { From 5de2e7a3bd966f52fe7bae02677ce4bcdf526a2a Mon Sep 17 00:00:00 2001 From: johnnyq Date: Fri, 3 Oct 2025 11:36:27 -0400 Subject: [PATCH 05/24] If imap Encryption is blank then use notls in the ticket mail parser --- cron/ticket_email_parser.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cron/ticket_email_parser.php b/cron/ticket_email_parser.php index 34361c46..d82b115c 100644 --- a/cron/ticket_email_parser.php +++ b/cron/ticket_email_parser.php @@ -468,7 +468,7 @@ $validate_cert = true; // Defaults from settings (standard IMAP) $host = $config_imap_host; $port = (int)$config_imap_port; -$encr = !empty($config_imap_encryption) ? $config_imap_encryption : null; // 'ssl'|'tls'|null +$encr = !empty($config_imap_encryption) ? $config_imap_encryption : 'notls'; // 'ssl'|'tls'|'notls' $user = $config_imap_username; $pass = $config_imap_password; $auth = null; // 'oauth' for OAuth providers From 32bfd298a1da556df8cc911acb7d1935f49fdd0c Mon Sep 17 00:00:00 2001 From: johnnyq Date: Fri, 3 Oct 2025 17:37:25 -0400 Subject: [PATCH 06/24] Added Project Edit Function for Ticket --- agent/modals/ticket/ticket_edit_project.php | 65 +++++++++++++++++++++ agent/post/ticket.php | 22 +++++++ agent/ticket.php | 4 +- 3 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 agent/modals/ticket/ticket_edit_project.php diff --git a/agent/modals/ticket/ticket_edit_project.php b/agent/modals/ticket/ticket_edit_project.php new file mode 100644 index 00000000..b75232a1 --- /dev/null +++ b/agent/modals/ticket/ticket_edit_project.php @@ -0,0 +1,65 @@ + + + +
+ + + + + +
+ +$project_name for Ticket $ticket_prefix$ticket_number"); + + redirect(); + +} + if (isset($_POST['add_ticket_watcher'])) { enforceUserPermission('module_support', 2); diff --git a/agent/ticket.php b/agent/ticket.php index 383bfeb1..f3f50b7e 100644 --- a/agent/ticket.php +++ b/agent/ticket.php @@ -1227,9 +1227,9 @@ if (isset($_GET['ticket_id'])) {
Project
= 2) { ?> - +
From fd93ee326367c19a8a662fdf4aa4200216574aab Mon Sep 17 00:00:00 2001 From: johnnyq Date: Sat, 4 Oct 2025 19:20:34 -0400 Subject: [PATCH 07/24] Allow HTML for signatures --- agent/ticket.php | 2 +- agent/user/post/profile.php | 2 +- agent/user/user_details.php | 8 ++------ 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/agent/ticket.php b/agent/ticket.php index f3f50b7e..03333082 100644 --- a/agent/ticket.php +++ b/agent/ticket.php @@ -620,7 +620,7 @@ if (isset($_GET['ticket_id'])) { diff --git a/agent/user/post/profile.php b/agent/user/post/profile.php index f730bdb6..ab781f7b 100644 --- a/agent/user/post/profile.php +++ b/agent/user/post/profile.php @@ -12,7 +12,7 @@ if (isset($_POST['edit_your_user_details'])) { $name = sanitizeInput($_POST['name']); $email = sanitizeInput($_POST['email']); - $signature = sanitizeInput($_POST['signature']); + $signature = mysqli_escape_string($mysqli,$_POST['signature']); $existing_file_name = sanitizeInput(getFieldById('users', $session_user_id, 'user_avatar')); diff --git a/agent/user/user_details.php b/agent/user/user_details.php index d5c1ac25..1a6bb0a4 100644 --- a/agent/user/user_details.php +++ b/agent/user/user_details.php @@ -58,12 +58,8 @@ require_once "includes/inc_all_user.php";
-
-
- -
- -
+
From 01f6615ca0fe58ed7e1815ba48096ca89a1deb21 Mon Sep 17 00:00:00 2001 From: wrongecho Date: Mon, 6 Oct 2025 16:13:08 +0100 Subject: [PATCH 08/24] rm test --- admin/update.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/admin/update.php b/admin/update.php index b2ce779e..94178ae8 100644 --- a/admin/update.php +++ b/admin/update.php @@ -56,8 +56,6 @@ $git_log = shell_exec("git log $repo_branch..origin/$repo_branch --pretty=format

Ignore this warning at your own risk.

-
TEST
-
Update App
FORCE Update App
From d8803aaac2c5297adeb041b2ecdd4dd22c5766e0 Mon Sep 17 00:00:00 2001 From: wrongecho Date: Mon, 6 Oct 2025 16:32:42 +0100 Subject: [PATCH 09/24] prevent open redirects upon agent login --- login.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/login.php b/login.php index 7be23041..b40c0ea3 100644 --- a/login.php +++ b/login.php @@ -215,8 +215,13 @@ if (isset($_POST['login'])) { //} } - if (isset($_GET['last_visited'])) { + + // Redirect to last visited or config home + + if (isset($_GET['last_visited']) && (str_starts_with(base64_decode($_GET['last_visited']), '/agent') || str_starts_with(base64_decode($_GET['last_visited']), '/admin'))) { + redirect($_SERVER["REQUEST_SCHEME"] . "://" . $config_base_url . base64_decode($_GET['last_visited']) ); + } else { redirect("agent/$config_start_page"); } From 416a8d9a94b103afe4f0de761b579f18250a520f Mon Sep 17 00:00:00 2001 From: johnnyq Date: Mon, 6 Oct 2025 14:19:49 -0400 Subject: [PATCH 10/24] Fix to properly redirect to the setup page if config_enable_setup is not set or is 1 --- index.php | 25 +++++++++++++++++-------- login.php | 12 +++++++++++- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/index.php b/index.php index dac0e37c..79aa2303 100644 --- a/index.php +++ b/index.php @@ -1,28 +1,37 @@ Date: Mon, 6 Oct 2025 15:13:52 -0400 Subject: [PATCH 11/24] Update modal footer and header to user SERVER Document root with absolute path intead of relative --- CHANGELOG.md | 18 ++++++++++++++++++ includes/app_version.php | 2 +- includes/modal_header.php | 6 +++--- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5797ed84..c3b4f25c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,24 @@ This file documents all notable changes made to ITFlow. +## [25.10.1] + +### Fixes +- Fix regression missing custom Favicon. +- Update SMTP and IMAP provider to allow for empty strings, empty means disabled. +- Fix Client portal Microsoft SSO Logins. +- Fix regression in Vendor Templates. +- Fix refression in some broken links from user to agent. +- Fix Project edit. +- Prevent open redirects upon agent login. +- Fix regression on switching to Webklex IMAP to allow for no SSL/TLS in IMAP. +- Fix Setup Redirect not behaving properly when setup hasnt been performed. + +### Added / Changed +- Support for HTML Signatures. +- Add Edit Project Functionality in a ticket. + + ## [25.10] ### Breaking Changes diff --git a/includes/app_version.php b/includes/app_version.php index 5055c138..4e658786 100644 --- a/includes/app_version.php +++ b/includes/app_version.php @@ -5,4 +5,4 @@ * Update this file each time we merge develop into master. Format is YY.MM (add a .v if there is more than one release a month. */ -DEFINE("APP_VERSION", "25.10"); +DEFINE("APP_VERSION", "25.10.1"); diff --git a/includes/modal_header.php b/includes/modal_header.php index 695f098a..206d5349 100644 --- a/includes/modal_header.php +++ b/includes/modal_header.php @@ -1,8 +1,8 @@ Date: Mon, 6 Oct 2025 17:07:19 -0400 Subject: [PATCH 12/24] Update Guest header and footer to use Server Document Root var --- guest/includes/guest_footer.php | 2 +- guest/includes/guest_header.php | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/guest/includes/guest_footer.php b/guest/includes/guest_footer.php index 8421428e..01c63d4a 100644 --- a/guest/includes/guest_footer.php +++ b/guest/includes/guest_footer.php @@ -7,7 +7,7 @@ - + diff --git a/guest/includes/guest_header.php b/guest/includes/guest_header.php index b3f1d525..339d66ac 100644 --- a/guest/includes/guest_header.php +++ b/guest/includes/guest_header.php @@ -1,13 +1,13 @@ Date: Tue, 7 Oct 2025 12:34:26 -0400 Subject: [PATCH 13/24] Fix Missing Missing Country code in Guest View Ticket --- agent/post/client.php | 6 +++--- guest/guest_view_ticket.php | 14 +++++++++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/agent/post/client.php b/agent/post/client.php index e5ac145d..f34fcbba 100644 --- a/agent/post/client.php +++ b/agent/post/client.php @@ -40,9 +40,9 @@ if (isset($_POST['add_client'])) { $client_id = mysqli_insert_id($mysqli); - if (!file_exists("../uploads/clients/$client_id")) { - mkdir("../uploads/clients/$client_id"); - file_put_contents("../uploads/clients/$client_id/index.php", ""); + if (!file_exists($_SERVER['DOCUMENT_ROOT'] . "/uploads/clients/$client_id")) { + mkdir($_SERVER['DOCUMENT_ROOT'] . "/uploads/clients/$client_id"); + file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/uploads/clients/$client_id/index.php", ""); } // Create Referral if it doesn't exist diff --git a/guest/guest_view_ticket.php b/guest/guest_view_ticket.php index 619f20ce..bab520f6 100644 --- a/guest/guest_view_ticket.php +++ b/guest/guest_view_ticket.php @@ -17,7 +17,19 @@ if (!isset($_GET['ticket_id'], $_GET['url_key'])) { } // Company info -$company_sql_row = mysqli_fetch_array(mysqli_query($mysqli, "SELECT company_phone, company_website FROM companies, settings WHERE companies.company_id = settings.company_id AND companies.company_id = 1")); +$company_sql_row = mysqli_fetch_array(mysqli_query($mysqli, " + SELECT + company_phone, + company_phone_country_code, + company_website + FROM + companies, + settings + WHERE + companies.company_id = settings.company_id + AND companies.company_id = 1" +)); + $company_phone_country_code = nullable_htmlentities($company_sql_row['company_phone_country_code']); $company_phone = nullable_htmlentities(formatPhoneNumber($company_sql_row['company_phone'], $company_phone_country_code)); $company_website = nullable_htmlentities($company_sql_row['company_website']); From 16242be74e2d62df7278ef5559d6eb072c723162 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Tue, 7 Oct 2025 13:44:08 -0400 Subject: [PATCH 14/24] Update Client Nav to use Absolute links and updated more of the inc_alls to use Document Server Root --- admin/includes/inc_all_admin.php | 22 +++++++-------- admin/includes/side_nav.php | 2 +- agent/includes/inc_all.php | 22 +++++++-------- agent/includes/inc_all_client.php | 24 ++++++++-------- agent/includes/inc_client_overview_all.php | 20 +++++++------- agent/reports/includes/inc_all_reports.php | 20 +++++++------- agent/user/includes/inc_all_user.php | 21 +++++++------- client/includes/check_login.php | 6 ++-- client/includes/footer.php | 2 +- client/includes/header.php | 32 +++++++++++----------- client/includes/inc_all.php | 12 ++++---- guest/includes/guest_header.php | 10 +++---- includes/settings_localization_array.php | 1 - modals/notifications.php | 8 ++---- 14 files changed, 98 insertions(+), 104 deletions(-) diff --git a/admin/includes/inc_all_admin.php b/admin/includes/inc_all_admin.php index fb600215..8c051fba 100644 --- a/admin/includes/inc_all_admin.php +++ b/admin/includes/inc_all_admin.php @@ -1,16 +1,16 @@ Tell your admin: Your role does not have admin access."); } -require_once "../includes/header.php"; -require_once "../includes/top_nav.php"; -require_once "includes/side_nav.php"; -require_once "../includes/inc_wrapper.php"; -require_once "../includes/inc_alert_feedback.php"; -require_once "../includes/filter_header.php"; -require_once "../includes/app_version.php"; +require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/header.php'; +require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/top_nav.php'; +require_once 'includes/side_nav.php'; +require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/inc_wrapper.php'; +require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/inc_alert_feedback.php'; +require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/filter_header.php'; +require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/app_version.php'; diff --git a/admin/includes/side_nav.php b/admin/includes/side_nav.php index ee85e322..89b06517 100644 --- a/admin/includes/side_nav.php +++ b/admin/includes/side_nav.php @@ -1,6 +1,6 @@