This commit is contained in:
2026-05-07 14:57:59 +02:00
parent c4a485e530
commit 811069a25c
35 changed files with 2980 additions and 30 deletions

View File

@@ -0,0 +1,29 @@
# 2026-05-07
## Co zrobiono
- [Faza 9, Plan 04] Globalna sync iCal (tryb wspólny kalendarz) + nowy widget "wszystkie jachty"
- Settings: nowe pole "Tryb synchronizacji iCal" (per_yacht / global) z whitelistą i bezpiecznym defaultem
- ICal_Import: rozgałęzienie `run_per_yacht_mode()` / `run_global_calendar_mode()`, nowa stała `GLOBAL_CALENDAR_SOURCE`, niezależny cleanup obu trybów
- REST: nowy endpoint `GET /availability/all` (timed 12:00→12:00, kolory z palety per-jacht, privacy w title)
- Frontend: widget Elementor `Calendar_Widget_All` + shortcode `[yacht_calendar_all]` z layoutem 2-kolumnowym (kalendarz + formularz inquiry z wyborem jachtu)
- Privacy hardening: REST nie wystawia `customer_name` w title eventów (defense-in-depth: JS `eventContent` zwraca pusty html)
- UX iteracje po checkpoincie: ciemny styl kalendarza (emulacja `/rezerwacja-maja/`), select w spójnym stylu z innymi inputami, instrukcja, server-side legenda, kolor wspólnych eventów `#7fb3d5` (jasnoniebieski)
- Bump wersji pluginu 1.0.0 → 1.1.0
## Zmienione pliki
- `wp-content/plugins/yacht-booking-system/yacht-booking-system.php`
- `wp-content/plugins/yacht-booking-system/includes/class-settings.php`
- `wp-content/plugins/yacht-booking-system/includes/class-installer.php`
- `wp-content/plugins/yacht-booking-system/includes/class-yacht-booking.php`
- `wp-content/plugins/yacht-booking-system/admin/class-admin.php`
- `wp-content/plugins/yacht-booking-system/integrations/ical/class-ical-import.php`
- `wp-content/plugins/yacht-booking-system/api/class-rest-controller.php`
- `wp-content/plugins/yacht-booking-system/frontend/class-shortcode.php`
- `wp-content/plugins/yacht-booking-system/frontend/class-calendar-widget-all.php` (nowy)
- `wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar-all.css` (nowy)
- `wp-content/plugins/yacht-booking-system/frontend/assets/js/calendar-all.js` (nowy)
- `test-overlap-bookings.php` (test helper, do skasowania z FTP po teście)
- `.paul/phases/09-finalizacja/09-04-PLAN.md`
- `.paul/phases/09-finalizacja/09-04-SUMMARY.md`