PDO::ERRMODE_EXCEPTION] ); $pdo->prepare("INSERT INTO admin_activity_log (admin_id, action, description, created_at) VALUES (?, 'superlog_exit', ?, NOW())") ->execute([$_SESSION['superlog_admin_id'], "Superlog: exited {$targetType} portal ({$targetEmail})"]); } catch (Exception $e) { /* silent */ } } // Clear ALL portal session variables but keep superlog validation $portalVars = [ // Member portal 'user_id', 'user_email', 'logged_in', 'login_time', // Partner portal 'partner_logged_in', 'partner_id', 'partner_email', 'partner_company', 'partner_login_time', // Client portal 'client_id', 'client_code', 'client_email', 'client_name', 'contact_person', 'client_banned', 'client_overdue_invoices', 'ban_checked_at', // Superlog target info (clear these but keep validation) 'is_superlog', 'superlog_target_email', 'superlog_target_type', ]; foreach ($portalVars as $var) { unset($_SESSION[$var]); } // Check if superlog session is still valid to offer re-entry $canReenter = isset($_SESSION['superlog_validated']) && (time() - ($_SESSION['superlog_token_time'] ?? 0) < 1800); ?>
You have safely exited the impersonation session. No activity was logged on the user's account.