prepare("SELECT id, org_id FROM transit_org_admins WHERE id=? LIMIT 1"); $st->execute([$adminId]); $admin = $st->fetch(); if (!$admin) jsonError('Admin not found', 404); $transit_con->prepare("UPDATE transit_org_admins SET is_active=? WHERE id=?") ->execute([$isActive ? 1 : 0, $adminId]); // إبطال جلساته الحالية فوراً عند التعليق if (!$isActive) { $sessions = $transit_con->prepare("SELECT token_hash FROM transit_sessions WHERE admin_id=?"); $sessions->execute([$adminId]); foreach ($sessions->fetchAll(PDO::FETCH_COLUMN) as $hash) { if ($redis) $redis->del("transit:session:{$hash}"); } $transit_con->prepare("DELETE FROM transit_sessions WHERE admin_id=?")->execute([$adminId]); } appLog("[ADMIN][TRANSIT][ORG][admin_toggle] admin={$adminId} is_active={$isActive}"); jsonSuccess(['admin_id' => $adminId, 'is_active' => (bool)$isActive]);