diff --git a/Layout/andom-tec/header.php b/Layout/andom-tec/header.php index 0a71e3700..6813341bb 100644 --- a/Layout/andom-tec/header.php +++ b/Layout/andom-tec/header.php @@ -55,6 +55,7 @@ + diff --git a/Layout/default/VueViews/WarehouseStocktakePWA.php b/Layout/default/VueViews/WarehouseStocktakePWA.php index 9c65502bb..8da06d02c 100644 --- a/Layout/default/VueViews/WarehouseStocktakePWA.php +++ b/Layout/default/VueViews/WarehouseStocktakePWA.php @@ -1,4 +1,12 @@ id) { + $openreplayUserId = (string) $user->id; + } +} ?> @@ -32,6 +40,34 @@ } + + + + diff --git a/Layout/default/includes/openreplay.php b/Layout/default/includes/openreplay.php new file mode 100644 index 000000000..b82a4148f --- /dev/null +++ b/Layout/default/includes/openreplay.php @@ -0,0 +1,79 @@ + + * + * Variables that can be set before including: + * - $openreplayUserType: 'internal' (default) or 'external' + * - $openreplayDisabled: set to true to disable tracking + */ + +if (!empty($openreplayDisabled)) return; + +$openreplayUserId = ''; +$openreplayUserName = ''; +$openreplayUserType = $openreplayUserType ?? 'internal'; +$openreplayMetadata = []; + +// Get user info for internal users +if (class_exists('mfUser') && class_exists('mfLoginController') && mfLoginController::isLoggedIn()) { + $user = mfUser::singleton(); + if ($user && $user->id) { + $openreplayUserId = (string) $user->id; + $openreplayUserName = $user->username ?? ''; + $openreplayMetadata['userType'] = $openreplayUserType; + $openreplayMetadata['username'] = $openreplayUserName; + } +} + +// Allow override from JSGlobals (for PWA contexts) +if (isset($JSGlobals['OPENREPLAY_USER_ID'])) { + $openreplayUserId = (string) $JSGlobals['OPENREPLAY_USER_ID']; +} +if (isset($JSGlobals['OPENREPLAY_USER_TYPE'])) { + $openreplayUserType = $JSGlobals['OPENREPLAY_USER_TYPE']; + $openreplayMetadata['userType'] = $openreplayUserType; +} +if (isset($JSGlobals['OPENREPLAY_COMPANY_ID'])) { + $openreplayMetadata['companyId'] = $JSGlobals['OPENREPLAY_COMPANY_ID']; +} + +// Disable on dev environment if needed +$openreplayEnabled = true; +if (defined('MFAPPNAME') && MFAPPNAME === 'devthetool') { + // Optionally disable on dev - comment out to enable on dev too + // $openreplayEnabled = false; +} + +if ($openreplayEnabled): +?> + + diff --git a/Layout/default/vueHeader3.php b/Layout/default/vueHeader3.php index f4a126f50..fe4ede8ca 100644 --- a/Layout/default/vueHeader3.php +++ b/Layout/default/vueHeader3.php @@ -69,6 +69,8 @@ + +