* * 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 = []; if (class_exists('mfUser') && class_exists('mfLoginController') && mfLoginController::isLoggedIn()) { $user = mfUser::singleton(); if ($user && $user->id) { $openreplayUserId = !empty($user->email) ? $user->email : (string) $user->id; $openreplayUserName = $user->username ?? ''; $openreplayMetadata['userType'] = $openreplayUserType; $openreplayMetadata['username'] = $openreplayUserName; $openreplayMetadata['workerId'] = (string) $user->id; } } // 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): ?>