From b4b5d53107f070303605659020eee358ab6ce7b1 Mon Sep 17 00:00:00 2001 From: Ajdin Lokvancic Date: Fri, 16 Jan 2026 11:04:43 +0100 Subject: [PATCH 1/2] Restrict script and stylesheet loading to pterosync pages Add checks to load scripts and styles only on pterosync addon pages. --- pterosync/hooks.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pterosync/hooks.php b/pterosync/hooks.php index 6aec1b2..f52b303 100644 --- a/pterosync/hooks.php +++ b/pterosync/hooks.php @@ -29,12 +29,19 @@ }); add_hook('AdminAreaHeadOutput', 1, function ($params) { + // Only load on pterosync addon pages + if (!isset($_GET['module']) || $_GET['module'] !== 'pterosync') { + return ''; + } $url = PteroSyncInstance::get()->cssPath; return '' . PHP_EOL; }); add_hook('AdminAreaFooterOutput', 1, function ($params) { - + // Only load on pterosync addon pages + if (!isset($_GET['module']) || $_GET['module'] !== 'pterosync') { + return ''; + } $url = PteroSyncInstance::get()->jsPath; $urls = '' . PHP_EOL; $urls .= ''; From 6e1a6c9888198920cc08a73aad8acd26537a0ce7 Mon Sep 17 00:00:00 2001 From: Ajdin Lokvancic Date: Fri, 16 Jan 2026 11:15:18 +0100 Subject: [PATCH 2/2] Correct hook when loading assets for pterosync admin area --- pterosync/hooks.php | 49 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/pterosync/hooks.php b/pterosync/hooks.php index f52b303..cb03b07 100644 --- a/pterosync/hooks.php +++ b/pterosync/hooks.php @@ -28,24 +28,49 @@ return $params; }); + add_hook('AdminAreaHeadOutput', 1, function ($params) { - // Only load on pterosync addon pages - if (!isset($_GET['module']) || $_GET['module'] !== 'pterosync') { - return ''; + // Only load on pterosync-related admin pages: + // - Product module settings (configproducts.php with module=pterosync) + // - Service details pages for pterosync products + $filename = $params['filename'] ?? basename($_SERVER['SCRIPT_NAME'], '.php'); + + // Check for product configuration with pterosync module + if ($filename === 'configproducts' && isset($_REQUEST['module']) && $_REQUEST['module'] === 'pterosync') { + $url = PteroSyncInstance::get()->cssPath; + return '' . PHP_EOL; + } + + // Check for service details page - let it load there as the service may be pterosync + if ($filename === 'clientsservices' && isset($_REQUEST['id'])) { + $url = PteroSyncInstance::get()->cssPath; + return '' . PHP_EOL; } - $url = PteroSyncInstance::get()->cssPath; - return '' . PHP_EOL; + + return ''; }); add_hook('AdminAreaFooterOutput', 1, function ($params) { - // Only load on pterosync addon pages - if (!isset($_GET['module']) || $_GET['module'] !== 'pterosync') { - return ''; + // Only load on pterosync-related admin pages + $filename = $params['filename'] ?? basename($_SERVER['SCRIPT_NAME'], '.php'); + + // Check for product configuration with pterosync module + if ($filename === 'configproducts' && isset($_REQUEST['module']) && $_REQUEST['module'] === 'pterosync') { + $url = PteroSyncInstance::get()->jsPath; + $urls = '' . PHP_EOL; + $urls .= ''; + return $urls; } - $url = PteroSyncInstance::get()->jsPath; - $urls = '' . PHP_EOL; - $urls .= ''; - return $urls; + + // Check for service details page + if ($filename === 'clientsservices' && isset($_REQUEST['id'])) { + $url = PteroSyncInstance::get()->jsPath; + $urls = '' . PHP_EOL; + $urls .= ''; + return $urls; + } + + return ''; }); add_hook('ClientAreaHeadOutput', 1, function ($params) {