- 26 May, 2026 2 commits
-
-
Mahmoud Aglan authored
Auth::csrfField() doesn't exist — replaced all 24 occurrences across org modules with the correct <input type="hidden" name="_csrf" value="<?= Auth::csrfToken() ?>">. Also fixed org-leaderboards index.php which was actually the org-board view (using $org variable that wasn't passed by the index action), renamed it to org-board.php and created a proper index.php for global rankings. Fixed org_members column name (user_id → player_id) in org-applications controller. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
Full public-facing live tournament system: - Public pages at /live/{slug} with no auth required - 5 visual themes (default, neon, minimal, royal, arena) - Live standings, pairings, bracket with auto-refresh polling - Countdown timer, player roster, results feed, timeline - Prize display, announcements feed, photo gallery - QR code sharing, social share, embeddable widget - SEO meta tags (OG, Twitter Cards, JSON-LD) - Tournament ad slots with impression/click tracking - Analytics tracking (views, sections, referrers) - Admin config panel: visibility toggles, custom CSS, slug management - Mobile responsive with dark/light mode support - Print-optimized view New DB tables: tournament_announcements, tournament_ad_slots, tournament_page_views, tournament_media Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
- 25 May, 2026 11 commits
-
-
Mahmoud Aglan authored
- Update variables.css surfaces to match brand navy (#152132) - Add sidebar-bg and input-bg CSS variables with fallbacks - Add "Reset to Brand Identity" button in branding settings - Add resetColors controller action that reverts all colors to their default_value from platform_theme - Reset live DB colors to brand defaults Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
- Add 18 org ecosystem modules: frames, invites, applications, chat, treasury, challenges, achievements, transfers, recruitment, events, content, leaderboards, partnerships, loyalty, rosters, training, media, spotlights (controllers + views + CSS assets) - Add core services: SupabaseStorage, OrgPermissions, ThemeService - Add migration 003 (23 new tables, RLS policies, indexes) - Fix games edit not saving (wrong column names: icon→icon_url, matchmaking_config→config) - Fix branding colors not reflecting (added ThemeService to inject DB theme colors as CSS variable overrides at render time) - Update permissions.php with new module access for admin/org roles - Update sidebar with org ecosystem navigation section - Add 120+ new routes for all org modules Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
-
Mahmoud Aglan authored
API returns {bots: [...], count: N} not a flat array. Also fixed pool stats mapping (pool_alive/pool_idle) and portrait URLs to use full Stockfish API base URL. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
- ads: remove non-existent columns (advertiser, placement, cpm, title, body, click_url, image_url), use actual schema (campaign_type, target_slots, target_games, budget_daily) - moderation: resolution→action_taken, resolved_by→reviewed_by (UUID), resolved_at→reviewed_at - tournaments: el3ab_tournament_players→tournament_registrations, swiss_tournament_id→swiss_api_tournament_id - players: remove email from insert (not in profiles), banned_at removed, use ban_expires_at - notifications: remove is_broadcast (not in schema), detect broadcast by null user_id - settings: is_editable→is_secret, handle JSONB value column - auth: last_login→last_login_at - Created el3ab_tournament_rounds table on server Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
Table renames: transactions→economy_transactions, organizations→el3ab_organizations Column fixes: user_id→player_id, last_active_at→last_seen_at, reported_id→reported_player_id, organizer_id→created_by, actor→actor_id, entity_type→resource_type, entity_id→resource_id Schema match: economy_transactions uses type credit/debit + reason + source_id, audit_log uses actor_id/resource_type/resource_id/details, org_members uses player_id, ad_campaigns uses spent_total. Created admin_users, approval_requests, workflow_rules tables on server. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
-
Mahmoud Aglan authored
Complete overhaul from single-admin to multi-role multi-org system: - Auth: multi-user login from admin_users table with 9 roles (superadmin, admin, moderator, org_admin, org_manager, tournament_organizer, sponsor, charity, viewer) - Permissions: granular permission matrix with org-scoping - RuleEngine: event-driven workflow automation - Users module: full CRUD for admin user management - Workflows module: approval queue, automation rules, org requests - Dashboard: role-aware with scoped data per role - Sidebar: permission-filtered navigation per role - Topbar: shows role badge next to username - Login: supports all user types Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
- Moved sidebar from left to right for proper RTL layout - Added full customization panel at /branding with 20 live UI preferences: sidebar width, font size, card style, animation speed, accent color, table density, toast position, content width, sidebar style, border radius, time format, number format, reduce motion, high contrast, color blind modes, focus mode, sounds, auto save, page transitions, compact header - All preferences persist in localStorage and apply instantly - Added customization.css + customization.js engine Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
-