# Project State ## Project Reference See: .paul/PROJECT.md (updated 2026-05-08) **Core value:** Uzytkownicy moga szybko i bezpiecznie kupic bilety online oraz otrzymac natychmiastowe potwierdzenie zakupu. **Current focus:** v0.4 Purchase Redirect Hardening - COMPLETE ## Current Position Milestone: v0.4 Purchase Redirect Hardening - COMPLETE Phase: 1 of 1 (Purchase Redirect Hardening) - Complete Plan: 05-01 complete Status: Milestone complete - ready for next milestone Last activity: 2026-05-08 - Phase 5 complete, v0.4 shipped Progress: - Milestone: [##########] 100% - Phase 5: [##########] 100% ## Loop Position Current loop state: ``` PLAN ---> APPLY ---> UNIFY ok ok ok [Loop complete - milestone complete] ``` ## Accumulated Context ### Codebase Mapped Date: 2026-04-26 Documents: `.paul/codebase/` (8 files - stack, architecture, structure, conventions, testing, integrations, concerns, db_schema) ### GTM Status - GTM-TW9WCD9J already integrated in templates/site/layout-logged.php. - layout-unlogged.php is not rendered; view/class.Site.php always uses layout-logged.php. ### Decisions - 2026-04-19: Event purchase emitted on order-confirm, not on przelewy24. - 2026-04-19: Ecommerce payload built in backend and safely serialized into the view. - 2026-04-26: Event purchase moved to przelewy24 (post-order, pre-payment) to capture all orders. - 2026-04-26: `cookieNoticePro.init()` used instead of `$.fn.cookieNoticePro()`. - 2026-04-26: Consent Mode v2 default-denied initialized before the GTM snippet. - 2026-05-08: Undefined `injectScripts()` calls removed from CookieNoticePro instead of adding a no-op stub. - 2026-05-08: Manual redirect pause confirmed purchase fires; saved consent must be restored before GTM/purchase. ### Current Plan Context - Plan path: `.paul/phases/05-purchase-redirect-hardening/05-01-PLAN.md`. - Current uncommitted source changes include `templates/site/layout-logged.php` consent restore and `templates/tickets/przelewy24.php` temporary manual redirect button. - Applied changes: `templates/tickets/przelewy24.php` now guards purchase with `sessionStorage` per transaction and auto-submits to Przelewy24 after a 5-second countdown; `templates/site/layout-logged.php` preserves saved consent restore before GTM. - Final UI adjustment: visible fallback button removed; redirect message is a centered Bootstrap alert with countdown. - Verification passed: PHP lint for both modified templates, grep checks for purchase guard/countdown/consent restore, and user browser approval. - Summary: `.paul/phases/05-purchase-redirect-hardening/05-01-SUMMARY.md`. - Existing unrelated uncommitted change: `.vscode/ftp-kr.sync.cache.json` must remain untouched. ### Deferred Issues None. ### Blockers/Concerns None. ### Git State Last commit: current phase commit (`feat(05-purchase-redirect-hardening): harden purchase redirect tracking`) Branch: main Feature branches merged: none ## Session Continuity Last session: 2026-05-08 Stopped at: v0.4 milestone complete Next action: Start next milestone when needed Resume file: .paul/phases/05-purchase-redirect-hardening/05-01-SUMMARY.md --- *STATE.md - Updated after every significant action*