update
This commit is contained in:
7
.claude/settings.local.json
Normal file
7
.claude/settings.local.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"mcp__codebase-memory-mcp__list_projects"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,52 +1,25 @@
|
||||
# Project: szkoleniauryzaj.pl
|
||||
# Projekt: szkoleniauryzaj.pl
|
||||
|
||||
## What This Is
|
||||
**Utworzono:** 2026-05-19
|
||||
|
||||
Serwis edukacyjny na WordPressie z katalogiem szkoleń, systemem rezerwacji i płatnościami online.
|
||||
## Nazwa
|
||||
szkoleniauryzaj.pl
|
||||
|
||||
## Core Value
|
||||
## Krotki opis
|
||||
Serwis edukacyjny oparty o WordPressa z katalogiem szkolen, systemem rezerwacji i platnosciami online. Produkty WooCommerce reprezentuja szkolenia; platnosci obsluguje brama PayU; forum dziala na bbPress.
|
||||
|
||||
Strona internetowa na WordPress ze szkoleniami — użytkownicy mogą przeglądać katalog szkoleń, rezerwować miejsca i płacić online.
|
||||
## Wartosc rdzenna
|
||||
Umozliwienie kursantom przegladania, rezerwowania i oplacania szkolen w jednym miejscu oraz prowadzenia spolecznosci wokol oferty edukacyjnej.
|
||||
|
||||
## Current State
|
||||
## Aktualny status
|
||||
Produkcja. Bieżace prace dotycza utrzymania i rozbudowy funkcji (m.in. RODO/Consent Mode v2, Facebook Pixel, drobne usprawnienia motywu i sklepu).
|
||||
|
||||
| Attribute | Value |
|
||||
|-----------|-------|
|
||||
| Version | 0.1.0 |
|
||||
| Status | In Progress |
|
||||
| Last Updated | 2026-04-27 |
|
||||
|
||||
## Requirements
|
||||
|
||||
### Validated ✓
|
||||
- ✓ Consent Mode v2 defaults (all denied) przed GTM — Phase 1
|
||||
- ✓ Facebook Pixel nie odpala bez zgody marketingowej — Phase 1
|
||||
- ✓ PixelYourSite honoruje kategorie zgody (marketing/analytics) — Phase 1
|
||||
- ✓ Early consent update dla powracających użytkowników (eliminacja race condition) — Phase 1
|
||||
|
||||
### Active
|
||||
- [ ] Konfiguracja GTM kontenera — tagi/triggery consent-aware (deferred z Phase 1)
|
||||
|
||||
### Out of Scope
|
||||
- Natywna integracja PYS z Cookie Notice Pro — Cookie Notice Pro to niestandardowy plugin Flerosoft, nie standardowy `cookie-notice`
|
||||
|
||||
## Constraints
|
||||
- WordPress 6.0.2, PHP (shared hosting FTP deployment)
|
||||
- Motyw Divi (parent) + body-relax (child) — customizacje w Divi/functions.php (deployowany przez FTP)
|
||||
- Cookie Notice Pro (Flerosoft) — custom jQuery plugin, nie WP plugin
|
||||
|
||||
## Key Decisions
|
||||
|
||||
| Decision | Rationale | Phase |
|
||||
|----------|-----------|-------|
|
||||
| Kod RODO w Divi/functions.php (nie child theme) | Pliki deployowane przez FTP — Divi jest aktywnym zestawem deploywanych plików | Phase 1 |
|
||||
| fbq noop zamiast remove_action | remove_action zawodny dla HFCM static method; noop universalnie blokuje wszystkie źródła pixela | Phase 1 |
|
||||
| wp_unslash() przy odczycie $_COOKIE | wp_magic_quotes() w WP stosuje addslashes na cookies; bez wp_unslash() json_decode zwraca null | Phase 1 |
|
||||
| PHP filtry pys_disable_*_by_gdpr zamiast natywnej integracji PYS | Cookie Notice Pro nie jest wspierany przez PYS free | Phase 1 |
|
||||
|
||||
## Success Criteria
|
||||
- ✓ Użytkownicy mogą przeglądać katalog szkoleń, rezerwować miejsca i płacić online
|
||||
- ✓ GTM i Facebook Pixel nie uruchamiają się przed wyrażeniem zgody (RODO compliance)
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-27 after Phase 1*
|
||||
## Trwale wymagania i ograniczenia
|
||||
- CMS: WordPress.
|
||||
- Motyw nadrzedny: Divi (nie edytowac bezposrednio — nadpisywane przy aktualizacji).
|
||||
- Aktywny motyw: child theme `body-relax` w `wp-content/themes/body-relax/` — tu trafiaja wszystkie customizacje.
|
||||
- E-commerce: WooCommerce + brama platnosci PayU.
|
||||
- Forum: bbPress.
|
||||
- Baza danych: MySQL, schema `garbary_szkury`, prefiks tabel `wp_`.
|
||||
- Deployment: FTP (ftp-kr).
|
||||
- Zgodnosc z RODO: aktywny Consent Mode v2 i blokada Facebook Pixel do czasu zgody.
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
# Roadmap: szkoleniauryzaj.pl
|
||||
|
||||
## Overview
|
||||
|
||||
Serwis edukacyjny na WordPressie z katalogiem szkoleń, systemem rezerwacji i płatnościami online.
|
||||
|
||||
## Current Milestone
|
||||
|
||||
**v0.1 Initial Release** (v0.1.0)
|
||||
Status: In progress
|
||||
Phases: 1 of 1+ complete
|
||||
|
||||
## Phases
|
||||
|
||||
| Phase | Name | Plans | Status | Completed |
|
||||
|-------|------|-------|--------|-----------|
|
||||
| 1 | RODO / Cookie Consent Compliance | 1 | ✅ Complete | 2026-04-27 |
|
||||
|
||||
## Phase Details
|
||||
|
||||
### Phase 1: RODO / Cookie Consent Compliance ✅
|
||||
|
||||
**Goal:** Zapewnić zgodność z RODO — GTM i Facebook Pixel nie uruchamiają się przed wyrażeniem zgody.
|
||||
|
||||
**Plans:**
|
||||
- `01-01`: Google Consent Mode v2 + PixelYourSite GDPR filter + fbq noop ✅
|
||||
|
||||
**Result:** Facebook Pixel zablokowany bez zgody marketingowej (fbq noop), Consent Mode v2 early update dla powracających użytkowników, PYS filtry per-kategoria.
|
||||
|
||||
---
|
||||
*Roadmap updated: 2026-04-27 — Phase 1 complete*
|
||||
@@ -1,56 +1,30 @@
|
||||
# Project State
|
||||
# STATE — szkoleniauryzaj.pl
|
||||
|
||||
## Project Reference
|
||||
**Aktualizacja:** 2026-05-19
|
||||
**Tryb:** plan-first
|
||||
|
||||
See: .paul/PROJECT.md (updated 2026-04-27 after Phase 1)
|
||||
|
||||
**Core value:** Strona internetowa na WordPress ze szkoleniami
|
||||
**Current focus:** v0.1 Initial Release — Phase 1 complete, milestone w toku
|
||||
|
||||
## Current Position
|
||||
|
||||
Milestone: v0.1 Initial Release
|
||||
Phase: 1 of 1 (RODO / Cookie Consent Compliance) — COMPLETE
|
||||
Plan: 01-01 DONE
|
||||
Status: Phase 1 complete, milestone w toku
|
||||
Last activity: 2026-04-27 — Phase 1 zamknięta, git commit 1006894
|
||||
|
||||
Progress:
|
||||
- Milestone: [██████████] Phase 1/1 complete
|
||||
- Phase 1: [██████████] 100%
|
||||
## Aktywna praca
|
||||
Brak aktywnego planu — petla domknieta.
|
||||
Ostatni plan: `.paul/plans/20260519-2336-cookienoticepro-dostosuj/` (PLAN + SUMMARY) — CookieNoticePro "Odrzuc"→"Dostosuj", "Akceptuj"→"Zatwierdz". 4/4 zadania, 0 odchylen.
|
||||
Pozostalo poza petla: manualny UAT w przegladarce + deployment FTP (cookienoticepro.script.js, Divi/functions.php).
|
||||
|
||||
## Loop Position
|
||||
|
||||
```
|
||||
PLAN ──▶ APPLY ──▶ UNIFY
|
||||
✓ ✓ ✓ [Loop complete]
|
||||
```
|
||||
✓ ✓ ✓ [Petla domknieta — gotowe do kolejnego PLAN]
|
||||
|
||||
## Accumulated Context
|
||||
## Nastepna sugerowana akcja
|
||||
- UAT + deployment ostatniej zmiany (poza petla PAUL).
|
||||
- `$paul-plan` — kandydat (R1): przeniesienie modulu CookieNoticePro + blokow `szkolenia_*` z Divi do child theme `body-relax`.
|
||||
|
||||
### Decisions
|
||||
- Kod RODO w `Divi/functions.php` (nie child theme) — deployowany przez FTP
|
||||
- Cookie Notice Pro = custom jQuery plugin Flerosoft, nie WP plugin — brak natywnej integracji z PYS
|
||||
- fbq noop (wp_head priority 1) — universalna blokada pixela, niezależna od źródła
|
||||
- wp_unslash() wymagane przed json_decode($_COOKIE) — WordPress addslashes na cookies
|
||||
- Filtry pys_disable_*_by_gdpr zamiast natywnej integracji PYS
|
||||
## Kontekst legacy
|
||||
Pliki `.paul/ROADMAP.md` i `.paul/milestones/` sa opcjonalne i nie sa wymagane w trybie plan-first. Wczesniejsze fazy (np. `01-rodo-cookie-consent`) zostaly oznaczone jako usuniete w git i pozostaja jedynie jako kontekst historyczny.
|
||||
|
||||
### Git State
|
||||
- Last commit: 1006894
|
||||
- Branch: main
|
||||
## Quality Radar
|
||||
- Wlaczony (lekki tryb domyslny).
|
||||
- Raporty: `.paul/codebase/impact_map.md`, `.paul/codebase/quality_risks.md`, `.paul/codebase/tooling_status.md`.
|
||||
|
||||
### Deferred Issues
|
||||
- Konfiguracja GTM kontenera (tagi/triggery consent-aware) — poza scope fazy 1
|
||||
|
||||
### Blockers/Concerns
|
||||
- Brak
|
||||
|
||||
## Session Continuity
|
||||
|
||||
Last session: 2026-04-27
|
||||
Stopped at: Phase 1 complete, UNIFY zamknięty, git commit 1006894
|
||||
Next action: Definiowanie Phase 2 lub nowego milestone — /paul:plan
|
||||
Resume file: .paul/ROADMAP.md
|
||||
|
||||
---
|
||||
*STATE.md — Updated after every significant action*
|
||||
### Codebase Mapped
|
||||
Data: 2026-05-19
|
||||
Dokumenty: `.paul/codebase/` (stack, architecture, conventions, testing, integrations, db_schema, impact_map, quality_risks, tooling_status)
|
||||
Quality Radar: degraded (graf codebase-memory-mcp nie zbudowany — repo to pelna instalacja WordPress; mapowanie ograniczone do kodu wlasnego)
|
||||
Najpilniejsze ryzyka: R1 (kod wlasny w parent theme Divi — ryzyko utraty przy update), R2 (konflikt tekstow add-to-cart child vs Divi). Szczegoly: `quality_risks.md`.
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
# Project State
|
||||
|
||||
## Project Reference
|
||||
|
||||
See: .paul/PROJECT.md (updated 2026-04-26)
|
||||
|
||||
**Core value:** Strona internetowa na WordPress ze szkoleniami
|
||||
**Current focus:** RODO compliance — zakończone
|
||||
|
||||
## Current Position
|
||||
|
||||
Milestone: v0.1 Initial Release
|
||||
Phase: 1 of 1 (RODO / Cookie Consent Compliance) — COMPLETE
|
||||
Plan: 01-01 DONE
|
||||
Status: APPLY complete, SUMMARY created
|
||||
Last activity: 2026-04-27 — Plan 01-01 wykonany i przetestowany
|
||||
|
||||
Progress:
|
||||
- Milestone: [██████████] 100%
|
||||
- Phase 1: [██████████] 100%
|
||||
|
||||
## Loop Position
|
||||
|
||||
Current loop state:
|
||||
```
|
||||
PLAN ──▶ APPLY ──▶ UNIFY
|
||||
✓ ✓ ○ [Gotowe do /paul:unify]
|
||||
```
|
||||
|
||||
## Accumulated Context
|
||||
|
||||
### Decisions
|
||||
- Cookie Notice Pro = custom jQuery plugin Flerosoft, w `Divi/libs/CookieNoticePro/` — nie standardowy WP plugin
|
||||
- Cookies: `cnp_consent` (true/false), `cnp_prefs` (JSON URL-encoded array kategorii)
|
||||
- `cookies.php` includowany w `header.php` linia 4 (przed wp_head linia 28) — Consent Mode v2 defaults już OK
|
||||
- PYS natywna integracja z `cookie-notice` nie ma zastosowania (to inny plugin)
|
||||
- Rozwiązanie: PHP fbq noop (priority 1) + early consent update + granularne filtry pys_disable_*_by_gdpr
|
||||
- **wp_magic_quotes()** w WP stosuje addslashes na $_COOKIE — wymagane wp_unslash() przed json_decode()
|
||||
- **Źródło fbq**: HFCM (Header Footer Code Manager) — snippet w DB, nie PYS/woosea bezpośrednio
|
||||
- **Podejście fbq noop**: definicja window.fbq jako no-op przed wszystkimi skryptami — universalna blokada
|
||||
|
||||
### Deferred Issues
|
||||
- Konfiguracja GTM kontenera (tagi/triggery consent-aware) — poza scope planu 01-01
|
||||
|
||||
### Blockers/Concerns
|
||||
- Brak
|
||||
|
||||
## Session Continuity
|
||||
|
||||
Last session: 2026-04-27
|
||||
Stopped at: Plan 01-01 complete, SUMMARY created
|
||||
Next action: /paul:unify
|
||||
Resume file: .paul/phases/01-rodo-cookie-consent/01-01-SUMMARY.md
|
||||
|
||||
---
|
||||
*STATE.md — Updated after every significant action*
|
||||
@@ -1,15 +0,0 @@
|
||||
# 2026-04-27
|
||||
|
||||
## Co zrobiono
|
||||
|
||||
- [Phase 1, Plan 01] RODO: Google Consent Mode v2 + blokada Facebook Pixel bez zgody
|
||||
- Dodano fbq noop (wp_head priority 1) — blokuje pixel ze wszystkich źródeł gdy brak zgody marketingowej
|
||||
- Dodano early gtag consent update dla powracających użytkowników — eliminuje race condition z GTM
|
||||
- Dodano granularne filtry PixelYourSite: pys_disable_facebook/analytics/bing/google_ads_by_gdpr
|
||||
- Dodano blokadę woo-product-feed-pro (AdTribes) własnego pixela Facebook
|
||||
- Odkryto i naprawiono: WordPress wp_magic_quotes() łamie json_decode($_COOKIE) — fix: wp_unslash()
|
||||
- Odkryto źródło fbq: HFCM (Header Footer Code Manager) snippet w bazie danych
|
||||
|
||||
## Zmienione pliki
|
||||
|
||||
- `wp-content/themes/Divi/functions.php`
|
||||
15
.paul/changelog/2026-05-19.md
Normal file
15
.paul/changelog/2026-05-19.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# 2026-05-19
|
||||
|
||||
## Co zrobiono
|
||||
|
||||
- [Plan 20260519-2336-cookienoticepro-dostosuj] CookieNoticePro: przycisk "Odrzuć" → "Dostosuj" (rozwija listę kategorii), "Akceptuj" → "Zatwierdź" gdy lista widoczna.
|
||||
- Dodano `confirmBtnLabel: "Zatwierdź"` w config; relabel `declineInfoBtnLabel` na "Dostosuj".
|
||||
- Przebudowa handlera `#cookieReject` — otwiera listę kategorii zamiast odrzucać (odrzucenie = odznacz + Zatwierdź).
|
||||
- Synchronizacja etykiety `#cookieAccept` w handlerze `#cookieSettings` (zębatka).
|
||||
- Bump wersji skryptu `own-custom-script` 1.0 → 1.1 (cache-busting).
|
||||
- Pozostaje manualny UAT w przeglądarce; ryzyko R1 (kod w motywie Divi) odłożone.
|
||||
|
||||
## Zmienione pliki
|
||||
|
||||
- `wp-content/themes/Divi/libs/CookieNoticePro/cookienoticepro.script.js`
|
||||
- `wp-content/themes/Divi/functions.php`
|
||||
@@ -1,94 +1,32 @@
|
||||
# Architecture
|
||||
# Architektura
|
||||
|
||||
> Generated by /paul:map-codebase — 2026-04-26
|
||||
**Aktualizacja:** 2026-05-19
|
||||
|
||||
## Overview
|
||||
## Model ogolny
|
||||
Standardowa instalacja WordPress (monolit PHP). Cala logika dziala przez system hookow WP (`add_action` / `add_filter`). Brak warstwy aplikacyjnej poza WP — nie ma kontrolerow/serwisow w sensie frameworkowym; "routing" zapewnia WordPress (template hierarchy + WooCommerce/bbPress).
|
||||
|
||||
Production e-learning platform. Courses are WooCommerce products. Users browse, reserve/buy spots, and join a bbPress forum community. All page layouts are built via Divi Visual Builder; PHP customizations live in the child theme.
|
||||
## Punkty wejscia
|
||||
- `index.php` → `wp-blog-header.php` → `wp-load.php` → `wp-settings.php` (bootstrap WP).
|
||||
- `wp-cron.php` — zadania cykliczne WP.
|
||||
- `cron-products.php` (root) — wlasny skrypt CRON uruchamiany zewnetrznie; laduje `wp-load.php`, przechodzi po wszystkich produktach i ustawia status `draft` gdy minela data oferty (ACF `end_date_of_the_offer`).
|
||||
|
||||
## Directory Structure
|
||||
## Gdzie zyje kod wlasny (istotne dla planowania)
|
||||
1. **`wp-content/themes/body-relax/functions.php`** (~114 linii)
|
||||
- `wcs_custom_get_availability` — komunikaty dostepnosci miejsc na szkolenie (odmiana liczebnikow PL) na podstawie `stock_quantity`.
|
||||
- `bbloomer_custom_add_to_cart_single_product` / `bbloomer_archive_custom_cart_button_text` — teksty przyciskow koszyka zalezne od kategorii produktu (`webinar`, `ksiazka` → "Kup teraz", reszta → "Rezerwuj miejsce"). UWAGA: nadpisywane przez Divi — patrz `quality_risks.md`.
|
||||
2. **`wp-content/themes/Divi/functions.php`** (linie ~8830-8974) — bloki wstrzyknięte recznie do parent theme:
|
||||
- Teksty WooCommerce: `woocommerce_add_to_cart_button_text_single/archives` ("Zapisz się"), `change_proceed_to_checkout_text`, `my_custom_checkout_text`.
|
||||
- Cookies/RODO: `set_cookie_consent_status`, enqueue `CookieNoticePro` (`add_custom_css`, `enqueue_custom_script`), oraz blok Consent Mode v2 (`szkolenia_*`) — patrz `integrations.md`.
|
||||
- Shortcode `podcasts_list` → render `Divi/includes/podcasts-list.php`.
|
||||
3. **`wp-content/themes/Divi/libs/CookieNoticePro/`** — wlasna implementacja banera cookie (`cookies.php`, `*.script.js`, `*.style.css`).
|
||||
4. **`wp-content/mu-plugins/installatron_hide_status_test.php`** — wylacza test Site Health auto-updatow.
|
||||
|
||||
```
|
||||
szkoleniauryzaj.pl/
|
||||
├── wp-config.php — DB config, WP settings, filesystem perms
|
||||
├── .htaccess — Apache rewrites + Wordfence WAF rules
|
||||
├── .user.ini — Wordfence WAF auto_prepend_file
|
||||
├── cron-products.php — CUSTOM: auto-unpublish products past offer end date
|
||||
├── wp-content/
|
||||
│ ├── themes/
|
||||
│ │ ├── body-relax/ — ACTIVE child theme (all custom code here)
|
||||
│ │ ├── Divi/ — Parent theme (53 MB, do NOT edit)
|
||||
│ │ └── twentytwentytwo/ — Inactive
|
||||
│ ├── plugins/ — 45 plugins (~200 MB total)
|
||||
│ ├── mu-plugins/
|
||||
│ │ └── installatron_hide_status_test.php — Disables WP auto-update nag
|
||||
│ └── uploads/ — Media (server-only, not in repo)
|
||||
├── .vscode/
|
||||
│ ├── ftp-kr.json — FTP deployment config
|
||||
│ ├── sftp.json — SFTP alternative config
|
||||
│ └── settings.json — SCSS compiler config
|
||||
└── .paul/ — Project management (not deployed)
|
||||
```
|
||||
## Przeplyw domenowy (szkolenia = produkty)
|
||||
- Szkolenie = produkt WooCommerce (`post_type=product`). Kategorie `product_cat` (m.in. `webinar`, `ksiazka`) sterują tekstami przyciskow.
|
||||
- "Liczba wolnych miejsc" = `stock_quantity` produktu; prezentacja przez `woocommerce_get_availability`.
|
||||
- Data wygasniecia oferty = pole ACF `end_date_of_the_offer`; egzekwowane przez `cron-products.php`.
|
||||
- Platnosc: WooCommerce checkout → brama PayU (`woo-payu-payment-gateway`).
|
||||
- Forum spolecznosci: bbPress.
|
||||
|
||||
## Active Child Theme: body-relax
|
||||
|
||||
```
|
||||
body-relax/
|
||||
├── functions.php — WooCommerce hooks, button text, stock display
|
||||
├── style.css — Theme header + responsive CSS (981/768/480px breakpoints)
|
||||
├── screenshot.jpg — Theme preview
|
||||
└── divi-children-engine/
|
||||
├── divi_children_engine.php — Loader (includes all engine files)
|
||||
├── css/
|
||||
│ └── custom-metabox.css — Admin metabox styling
|
||||
└── includes/
|
||||
├── divi_children_functions.php — 2060 lines: Divi customizer extensions, CSS injection
|
||||
├── custom_codes.php — Admin UI for CSS classes/IDs + "magic codes"
|
||||
└── divi-mods/
|
||||
└── divi_mod_functions.php — Overrides et_pb_blog and et_pb_cta shortcodes
|
||||
```
|
||||
|
||||
## Customization Layers (top → bottom)
|
||||
|
||||
1. **Divi Visual Builder** — Page/post content (drag-drop, stored as post meta)
|
||||
2. **body-relax/functions.php** — WooCommerce filters (stock text, CTA button labels)
|
||||
3. **divi-children-engine** — Customizer extensions, admin UI, Divi shortcode overrides
|
||||
4. **Divi parent theme** — Core styling, builder components, page templates
|
||||
5. **WooCommerce** — Product system (courses = products, bookings = orders)
|
||||
6. **45 Plugins** — SEO, analytics, payments, security, media feeds
|
||||
7. **WordPress core** — Database, hook system, REST API
|
||||
|
||||
## Key Custom Functions
|
||||
|
||||
| File | Function | What it does |
|
||||
|------|----------|-------------|
|
||||
| `functions.php:30` | `wcs_custom_get_availability()` | Polish stock text: "Duża ilość wolnych miejsc", countdown for last 1-4 spots, "WSZYSTKIE MIEJSCA WYKUPIONE" |
|
||||
| `functions.php:92` | `bbloomer_custom_add_to_cart_single_product()` | Changes "Add to Cart" by category: webinar/book → "Kup teraz", course → "Rezerwuj miejsce" |
|
||||
| `functions.php:108` | `bbloomer_archive_custom_cart_button_text()` | Same logic for archive/shop pages |
|
||||
| `cron-products.php` | (standalone) | Reads ACF `end_date_of_the_offer`, sets product to draft when offer expires |
|
||||
|
||||
## Hooks Registered in functions.php
|
||||
|
||||
| Type | Hook | Function |
|
||||
|------|------|---------|
|
||||
| `add_action` | `wp_enqueue_scripts` | `dce_load_divi_stylesheet()` — enqueues Divi parent CSS |
|
||||
| `add_filter` | `woocommerce_get_availability` | `wcs_custom_get_availability()` |
|
||||
| `add_filter` | `woocommerce_product_single_add_to_cart_text` | `bbloomer_custom_add_to_cart_single_product()` |
|
||||
| `add_filter` | `woocommerce_product_add_to_cart_text` | `bbloomer_archive_custom_cart_button_text()` |
|
||||
|
||||
## Data Flow: Course Purchase
|
||||
|
||||
```
|
||||
User → Shop/Archive page
|
||||
→ WooCommerce product (course) with custom "Rezerwuj miejsce" button
|
||||
→ Cart → Checkout (with NIP field, custom fields)
|
||||
→ PayU payment gateway (BLIK/card/bank transfer)
|
||||
→ Order confirmation → bbPress forum access (community)
|
||||
```
|
||||
|
||||
## Database
|
||||
|
||||
- Name: `garbary_szkury`
|
||||
- Prefix: `wp_`
|
||||
- Host: localhost
|
||||
- Key custom data: ACF fields on products (e.g., `end_date_of_the_offer`)
|
||||
## Warstwa silnika Divi Children
|
||||
- `divi-children-engine/divi_children_engine.php` laduje `includes/divi_children_functions.php` (~2060 linii, boilerplate silnika — brak terminow projektu) oraz `includes/custom_codes.php` (metabox "Custom Code" w edytorze stron — rowniez boilerplate).
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
# Concerns & Technical Debt
|
||||
|
||||
> Generated by /paul:map-codebase — 2026-04-26
|
||||
|
||||
## CRITICAL
|
||||
|
||||
### 1. Credentials committed to git
|
||||
- **wp-config.php**: DB password in version history
|
||||
- **.vscode/ftp-kr.json**: FTP credentials in version history (host, user, password, path)
|
||||
- **Action**: Rotate both passwords. Add `wp-config.php` and `.vscode/ftp-kr.json` to `.gitignore`.
|
||||
|
||||
### 2. FTP auto-upload to production with no staging
|
||||
- `autoUpload: true` in `.vscode/ftp-kr.json` — every file save goes live immediately
|
||||
- No review step, no staging environment
|
||||
- **Action**: Disable autoUpload for risky changes; test locally first.
|
||||
|
||||
### 3. bbPress — 100+ core plugin files modified
|
||||
- Git shows every file in `wp-content/plugins/bbpress/` as modified
|
||||
- Next bbPress update will silently overwrite all customizations
|
||||
- **Action**: Document what was changed and why. Move custom logic to a custom plugin or mu-plugin using bbPress hooks/filters.
|
||||
|
||||
## HIGH
|
||||
|
||||
### 4. No .gitignore
|
||||
- Sensitive files (wp-config.php, ftp-kr.json) are tracked
|
||||
- Uploads, cache, and build artifacts can be accidentally committed
|
||||
- **Files to add to .gitignore**: `wp-config.php`, `.vscode/ftp-kr.json`, `.vscode/sftp.json`, `wp-content/uploads/`, `wp-content/cache/`, `*.log`
|
||||
|
||||
### 5. Deprecated PHP in divi-children-engine
|
||||
- `extract(shortcode_atts(...))` in `divi-mods/divi_mod_functions.php:28` — deprecated PHP 8.0+, security risk
|
||||
- `query_posts()` in same file — deprecated, should use `WP_Query`
|
||||
- **Action**: Replace `extract()` with explicit variable assignments when touching this file.
|
||||
|
||||
### 6. AJAX handler without nonce verification
|
||||
- `custom_selectors_action_callback()` in `custom_codes.php` processes `$_POST['selector']` without sanitization or nonce check
|
||||
- **Action**: Add `check_ajax_referer()` and `sanitize_text_field()` before the `set_theme_mod()` call.
|
||||
|
||||
### 7. No error logging
|
||||
- `WP_DEBUG = false` with no `WP_DEBUG_LOG` — silent failures in production
|
||||
- **Action**: Enable `WP_DEBUG_LOG = true`, `WP_DEBUG_DISPLAY = false` to log errors server-side without exposing them.
|
||||
|
||||
## MEDIUM
|
||||
|
||||
### 8. Inline JavaScript using deprecated jQuery methods
|
||||
- `custom_codes.php` uses `.toggle()` (removed in jQuery 3.9+) via inline PHP-embedded JS
|
||||
- **Action**: Replace with `.slideToggle()` or vanilla JS when modifying this area.
|
||||
|
||||
### 9. Hardcoded Polish strings without i18n
|
||||
- `functions.php`: stock text, email address hardcoded as string literals
|
||||
- `cron-products.php`: hardcoded Polish date strings
|
||||
- No `.pot` / `.po` / `.mo` files; uses `woocommerce` text domain instead of `body-relax`
|
||||
- **Action**: Wrap new strings in `__('...', 'body-relax')`, create proper text domain.
|
||||
|
||||
### 10. Child theme author URL uses HTTP
|
||||
- `style.css` Author URI: `http://www.body-relax.baumer.vot.pl` (HTTP, not HTTPS)
|
||||
- Minor, but update to HTTPS when touching the file.
|
||||
|
||||
### 11. FTP over plain FTP (not SFTP)
|
||||
- `.vscode/ftp-kr.json` uses unencrypted FTP protocol
|
||||
- Credentials and file contents transmitted in plaintext
|
||||
- **Action**: Switch to SFTP (port 22) if host supports it.
|
||||
|
||||
## LOW
|
||||
|
||||
### 12. Poor git commit history
|
||||
- All recent commits are "Save" — no meaningful history for auditing or rollback
|
||||
- **Action**: Use conventional commit messages going forward.
|
||||
|
||||
### 13. Divi Children Engine version 1.0.4
|
||||
- Relatively old; last update date unclear
|
||||
- Non-standard approach that may conflict with Divi updates
|
||||
- Low urgency, but track for compatibility issues when Divi updates.
|
||||
|
||||
### 14. AUTOMATIC_UPDATER_DISABLED = true
|
||||
- All updates are manual; security patches may be missed
|
||||
- Acceptable if monitored; ensure a process exists to apply patches.
|
||||
@@ -1,71 +1,31 @@
|
||||
# Conventions
|
||||
# Konwencje
|
||||
|
||||
> Generated by /paul:map-codebase — 2026-04-26
|
||||
**Aktualizacja:** 2026-05-19
|
||||
|
||||
## PHP Conventions
|
||||
## Ogolne
|
||||
- Standard WordPress: cala logika przez hooki (`add_action` / `add_filter`), brak frameworka MVC.
|
||||
- Customizacje POWINNY trafiac do child theme `body-relax` (CLAUDE.md). W praktyce czesc kodu wlasnego jest w `Divi/functions.php` — to odstepstwo, nie wzorzec do naśladowania (patrz `quality_risks.md`).
|
||||
|
||||
### Current state (in existing code)
|
||||
- **Style**: Procedural, no OOP
|
||||
- **Naming**: snake_case with descriptive prefixes (`wcs_`, `bbloomer_`, `Divichild_`) — inconsistent across files
|
||||
- **PHP version**: Basic PHP 5.x compatible constructs (no type hints, no match expressions)
|
||||
- **Comments**: Minimal; PHPDoc used in divi-children-engine but not in functions.php
|
||||
## Nazewnictwo funkcji
|
||||
- Brak jednego spojnego prefiksu. Wystepuja rownolegle:
|
||||
- `szkolenia_*` — nowszy kod RODO/Consent (najlepszy wzorzec, namespacing przez prefiks marki).
|
||||
- `bbloomer_*` / `wcs_*` — funkcje wklejone z poradnikow (businessbloomer.com) — zachowane oryginalne nazwy.
|
||||
- `woocommerce_add_to_cart_button_text_*`, `my_custom_checkout_text`, `change_proceed_to_checkout_text` — nazwy generyczne, ryzyko kolizji z innym kodem/wtyczkami.
|
||||
- **Rekomendacja dla nowego kodu:** prefiks `szkolenia_` dla wszystkich wlasnych funkcji.
|
||||
|
||||
### Convention to follow when adding new code
|
||||
- **Function prefix**: Use `szkolenia_` or `body_relax_` for all new functions
|
||||
- **Security**: Always sanitize input (`sanitize_text_field()`), verify nonces for AJAX (`wp_verify_nonce()`), escape output (`esc_html()`, `wp_kses_post()`)
|
||||
- **Hooks**: Register all hooks inside functions, not at file root level
|
||||
- **Translations**: Wrap all user-facing strings in `__()` / `_e()` — text domain: `body-relax`
|
||||
## Jezyk
|
||||
- Teksty UI dla uzytkownika: polski (czesto na sztywno w kodzie zamiast przez `__()` z prawidlowa domena tlumaczen).
|
||||
- Tlumaczenia WooCommerce nadpisywane przez filtr `gettext` (kruche — zalezne od dokladnego stringu zrodlowego).
|
||||
- Komentarze: mieszanka PL/EN.
|
||||
|
||||
## CSS Conventions
|
||||
## Frontend
|
||||
- jQuery jako zalezność skryptow (`array('jquery')`).
|
||||
- Wlasne assety w parent theme: `Divi/custom-code.js`, `Divi/libs/CookieNoticePro/`. Skrypty enqueue z wersjonowaniem recznym (`'1.0'`).
|
||||
|
||||
### Current state
|
||||
- Plain CSS (no preprocessor in production, SCSS compilation configured in VS Code)
|
||||
- No BEM; simple semantic class names (`.icon_tags`, `.icon_profile`)
|
||||
- ID-based selectors in admin CSS (anti-pattern)
|
||||
- Hard-coded hex colors
|
||||
- Breakpoints: 981px, 768px, 767px, 480px
|
||||
## Bezpieczenstwo / sanityzacja
|
||||
- Nowszy kod RODO poprawnie uzywa `wp_unslash()`, `esc_js()`, `json_decode` z walidacja `is_array()`.
|
||||
- Starszy kod: `custom_selectors_action_callback` czyta `$_POST['selector']` bez sanityzacji/nonce (boilerplate Divi Children) — patrz `quality_risks.md`.
|
||||
|
||||
### Convention to follow
|
||||
- Namespace custom classes with `br-` prefix (e.g., `.br-availability-message`)
|
||||
- Keep front-end CSS in `style.css`, admin CSS in `divi-children-engine/css/`
|
||||
- Use SCSS variables for colors if using the Live Sass compiler
|
||||
|
||||
## JavaScript Conventions
|
||||
|
||||
### Current state
|
||||
- Inline jQuery in PHP strings (no separate .js files in theme)
|
||||
- Uses deprecated `.toggle()` (removed in jQuery 3.9+)
|
||||
- References global `ajaxurl`
|
||||
|
||||
### Convention to follow
|
||||
- Put new JS in separate files under `wp-content/themes/body-relax/js/`
|
||||
- Enqueue via `wp_enqueue_script()` with jQuery dependency
|
||||
- Use `wp_localize_script()` to pass ajaxurl and nonces
|
||||
- Use `const`/`let`, avoid deprecated jQuery methods
|
||||
|
||||
## File Placement
|
||||
|
||||
| What to add | Where |
|
||||
|------------|-------|
|
||||
| WooCommerce filters/hooks | `wp-content/themes/body-relax/functions.php` |
|
||||
| Admin UI / metaboxes | `wp-content/themes/body-relax/divi-children-engine/includes/` |
|
||||
| Standalone cron scripts | Root of repo (like `cron-products.php`) |
|
||||
| New plugin | `wp-content/plugins/` with own directory |
|
||||
| Custom styles | `wp-content/themes/body-relax/style.css` |
|
||||
|
||||
## Git Conventions
|
||||
|
||||
### Current state
|
||||
- Commit messages are all "Save" (no meaningful history)
|
||||
- No `.gitignore` file
|
||||
|
||||
### Convention to follow
|
||||
- Use conventional commits: `feat:`, `fix:`, `chore:`, `style:`
|
||||
- Example: `feat: add availability countdown for last 3 spots`
|
||||
|
||||
## Deployment Notes
|
||||
|
||||
- FTP auto-upload is ON — every file save syncs to production immediately
|
||||
- Do not edit Divi parent theme files (overwritten on update)
|
||||
- Do not edit plugin files directly (overwritten on update) — use hooks/filters in theme instead
|
||||
- The bbPress plugin is currently an exception (100+ modified files) — this is a known risk
|
||||
## Dane domenowe
|
||||
- Pola dodatkowe produktow przez ACF (np. `end_date_of_the_offer`).
|
||||
- Kategorie produktow (`product_cat`) jako przelaczniki logiki (`webinar`, `ksiazka`).
|
||||
|
||||
@@ -1,69 +1,26 @@
|
||||
# Database Schema
|
||||
# Schemat bazy danych
|
||||
|
||||
> Generated by /paul:map-codebase — 2026-04-26
|
||||
> Note: WordPress core not in local repo — schema below is derived from config + plugin inventory.
|
||||
**Aktualizacja:** 2026-05-19
|
||||
|
||||
## Connection
|
||||
## Podstawy
|
||||
- **Baza:** MySQL, schema `garbary_szkury` (`wp-config.php`).
|
||||
- **Prefiks tabel:** `wp_`.
|
||||
- **Migracje:** brak wlasnych migracji w kodzie. Schemat zarzadzany przez WordPress + wtyczki (tworzenie/aktualizacja tabel przy instalacji/aktualizacji wtyczek). Edycja schematu nie odbywa sie przez repo.
|
||||
|
||||
- **Database**: `garbary_szkury`
|
||||
- **Prefix**: `wp_`
|
||||
- **Host**: localhost
|
||||
- **Charset**: UTF-8
|
||||
## Standardowe tabele WordPress (prefiks `wp_`)
|
||||
- `wp_posts`, `wp_postmeta` — wpisy, strony oraz produkty (`post_type=product`) i ich metadane (m.in. pola ACF).
|
||||
- `wp_options` — ustawienia (w tym `theme_mods`, np. `set_theme_mod` z `custom_codes.php`).
|
||||
- `wp_terms`, `wp_term_taxonomy`, `wp_term_relationships` — taksonomie, w tym `product_cat` (kategorie `webinar`, `ksiazka`, ...).
|
||||
- `wp_users`, `wp_usermeta`, `wp_comments`, `wp_commentmeta`.
|
||||
|
||||
## Standard WordPress Tables
|
||||
## Dane domenowe (przez metadane, nie wlasne tabele)
|
||||
- **Produkty = szkolenia:** `post_type=product` w `wp_posts`.
|
||||
- `stock_quantity` (WooCommerce) → liczba wolnych miejsc (logika `wcs_custom_get_availability`).
|
||||
- Pole ACF `end_date_of_the_offer` (w `wp_postmeta`) → data wygasniecia oferty (`cron-products.php` ustawia status `draft`).
|
||||
- `product_cat` → przelaczniki tekstow przyciskow.
|
||||
- **WooCommerce:** zamowienia, koszyk, klienci w tabelach/metadanych Woo (`wp_wc_*`, `wp_woocommerce_*` zaleznie od wersji/HPOS).
|
||||
- **bbPress:** fora/tematy/odpowiedzi jako custom post types w `wp_posts`.
|
||||
|
||||
| Table | Purpose |
|
||||
|-------|---------|
|
||||
| `wp_posts` | All content: pages, posts, WooCommerce products, bbPress topics/replies |
|
||||
| `wp_postmeta` | Post custom fields (includes ACF fields, WooCommerce product data) |
|
||||
| `wp_users` | User accounts |
|
||||
| `wp_usermeta` | User meta (WooCommerce customer data, roles) |
|
||||
| `wp_options` | Site settings, theme mods, plugin config, Divi builder settings |
|
||||
| `wp_terms` | Categories, tags, product categories, bbPress forums |
|
||||
| `wp_term_taxonomy` | Taxonomy definitions |
|
||||
| `wp_term_relationships` | Post ↔ term relationships |
|
||||
| `wp_comments` | Comments |
|
||||
| `wp_commentmeta` | Comment meta |
|
||||
|
||||
## WooCommerce Tables
|
||||
|
||||
| Table | Purpose |
|
||||
|-------|---------|
|
||||
| `wp_woocommerce_sessions` | Customer sessions |
|
||||
| `wp_woocommerce_api_keys` | REST API keys |
|
||||
| `wp_woocommerce_attribute_taxonomies` | Product attribute definitions |
|
||||
| `wp_woocommerce_downloadable_product_permissions` | Digital product access |
|
||||
| `wp_woocommerce_order_items` | Order line items |
|
||||
| `wp_woocommerce_order_itemmeta` | Order item meta |
|
||||
| `wp_woocommerce_tax_rates` | Tax configuration |
|
||||
| `wp_woocommerce_tax_rate_locations` | Tax rate geo rules |
|
||||
| `wp_woocommerce_shipping_zones` | Shipping zones |
|
||||
| `wp_woocommerce_shipping_zone_locations` | Zone locations |
|
||||
| `wp_woocommerce_shipping_zone_methods` | Zone shipping methods |
|
||||
| `wp_woocommerce_payment_tokens` | Saved payment tokens (PayU) |
|
||||
| `wp_woocommerce_payment_tokenmeta` | Payment token meta |
|
||||
| `wp_wc_product_meta_lookup` | Product search/filter cache |
|
||||
| `wp_wc_tax_rate_classes` | Tax classes |
|
||||
| `wp_wc_webhooks` | WooCommerce webhooks |
|
||||
|
||||
## Key Custom Fields (ACF — stored in wp_postmeta)
|
||||
|
||||
| Field key | Post type | Purpose |
|
||||
|-----------|-----------|---------|
|
||||
| `end_date_of_the_offer` | `product` | Offer expiry date; read by `cron-products.php` to auto-unpublish |
|
||||
|
||||
## bbPress Tables
|
||||
|
||||
| Table | Purpose |
|
||||
|-------|---------|
|
||||
| Uses `wp_posts` | Forum, topic, reply post types |
|
||||
| Uses `wp_postmeta` | Forum/topic meta |
|
||||
| Uses `wp_terms` | Forum taxonomy |
|
||||
|
||||
## Notes
|
||||
|
||||
- Products (courses) are stored as `wp_posts` with `post_type = 'product'`
|
||||
- Course categories are `wp_terms` under `product_cat` taxonomy
|
||||
- Custom "Rezerwuj miejsce" / stock behavior driven by `wp_postmeta` stock fields + ACF `end_date_of_the_offer`
|
||||
- Divi page builder content stored as serialized shortcodes in `wp_posts.post_content`
|
||||
- Divi customizer settings (from divi-children-engine) stored in `wp_options` as `theme_mods_body-relax`
|
||||
## Uwagi
|
||||
- Brak wersjonowania schematu w repo — przy planowaniu zmian danych operowac na meta/taksonomiach WP, nie zakladac wlasnych tabel.
|
||||
- Ciasteczka (nie DB) jako zrodlo zgody RODO: `cnp_consent`, `cnp_prefs`, `cookie_consent`.
|
||||
|
||||
43
.paul/codebase/impact_map.md
Normal file
43
.paul/codebase/impact_map.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Impact Map
|
||||
|
||||
**Tryb:** full (map-codebase)
|
||||
**Aktualizacja:** 2026-05-19
|
||||
|
||||
## Domeny / moduly i ich pliki
|
||||
|
||||
### 1. E-commerce / szkolenia (WooCommerce)
|
||||
- `wp-content/themes/body-relax/functions.php` — dostepnosc miejsc (`wcs_custom_get_availability`), teksty przyciskow wg kategorii.
|
||||
- `wp-content/themes/Divi/functions.php` (~8830-8852) — teksty przyciskow ("Zapisz się"), teksty checkout.
|
||||
- `cron-products.php` — wygaszanie ofert (status `draft`) wg ACF `end_date_of_the_offer`.
|
||||
- Wtyczki: `woocommerce`, `woo-payu-payment-gateway`, `woocommerce-nip`, `flexible-checkout-fields`, `woo-checkout-field-editor-pro`, `woo-product-filter`, `woo-product-feed-pro`.
|
||||
- **Hidden coupling:** kategorie `product_cat` (`webinar`, `ksiazka`) sterują logika tekstow w DWOCH miejscach (child + Divi) → zmiana kategorii wymaga przejrzenia obu.
|
||||
|
||||
### 2. RODO / Consent Mode v2 / tracking
|
||||
- `wp-content/themes/Divi/functions.php` (~8854-8974) — caly blok `szkolenia_*` + cookies.
|
||||
- `wp-content/themes/Divi/libs/CookieNoticePro/` (`cookies.php`, `cookienoticepro.script.js`, `cookienoticepro.style.css`).
|
||||
- `wp-content/themes/Divi/custom-code.js`.
|
||||
- Wtyczki sprzężone: `duracelltomi-google-tag-manager` (GTM), `pixelyoursite`, `header-footer-code-manager`, `woo-product-feed-pro`, `google-site-kit`, `beautiful-and-responsive-cookie-consent`.
|
||||
- **Hidden coupling:** logika zalezy od ciasteczek `cnp_consent` / `cnp_prefs` ustawianych przez Cookie Notice Pro — zmiana nazw/formatu ciasteczek zlamie cala warstwe zgody. Helper `szkolenia_cnp_has_preference` to single source of truth dla odczytu zgody.
|
||||
|
||||
### 3. Tresci / spolecznosc
|
||||
- `wp-content/themes/Divi/functions.php` — shortcode `podcasts_list`.
|
||||
- `wp-content/themes/Divi/includes/podcasts-list.php` — render.
|
||||
- Wtyczki: `bbpress`, `instagram-feed`, `youtube-feed-pro`, `elfsight-youtube-gallery-cc`, `popups`.
|
||||
|
||||
### 4. Silnik motywu (child)
|
||||
- `wp-content/themes/body-relax/divi-children-engine/` — boilerplate Divi Children (metabox custom CSS, ladowanie parent style). Zwykle nie wymaga zmian.
|
||||
|
||||
### 5. Konfiguracja / infrastruktura
|
||||
- `wp-config.php` (DB, debug), `.htaccess`, `.user.ini`.
|
||||
- `wp-content/mu-plugins/installatron_hide_status_test.php`.
|
||||
- `wordfence-waf.php`, `.htpasswd_blokada`.
|
||||
|
||||
## Obszary weryfikacji manualnej przy zmianach
|
||||
- Teksty koszyka/checkout: strona produktu, archiwum, koszyk, przycisk zamowienia.
|
||||
- Komunikaty dostepnosci miejsc dla roznych `stock_quantity`.
|
||||
- Sciezka PayU (sandbox).
|
||||
- Baner cookie + zachowanie GTM/PYS/Facebook Pixel przed/po zgodzie (Network, Tag Assistant).
|
||||
- Wygaszanie ofert (`cron-products.php`).
|
||||
|
||||
## Testy
|
||||
- Brak automatycznych. Weryfikacja manualna — patrz `testing.md`.
|
||||
@@ -1,56 +1,41 @@
|
||||
# External Integrations
|
||||
# Integracje
|
||||
|
||||
> Generated by /paul:map-codebase — 2026-04-26
|
||||
**Aktualizacja:** 2026-05-19
|
||||
|
||||
## Payment Processing
|
||||
## Platnosci
|
||||
- **PayU** przez `woo-payu-payment-gateway`. Checkout WooCommerce → przekierowanie do PayU.
|
||||
- **woocommerce-nip** — NIP / dane do faktury w procesie zamowienia.
|
||||
- Pola checkout dostosowane przez `flexible-checkout-fields` / `woo-checkout-field-editor-pro`.
|
||||
|
||||
| Service | Plugin | Version | Notes |
|
||||
|---------|--------|---------|-------|
|
||||
| PayU | woo-payu-payment-gateway | 2.0.13 | Methods: card, BLIK, bank transfer, PayPo, Twisto, installments |
|
||||
## Tracking / marketing (kluczowe dla RODO)
|
||||
- **Google Tag Manager** przez `duracelltomi-google-tag-manager` (GTM4WP).
|
||||
- **PixelYourSite (PYS)** — Facebook/Meta Pixel, Bing, Google Ads, GA.
|
||||
- **Google Site Kit** — Search Console / Analytics.
|
||||
- **Header Footer Code Manager (HFCM)** — wstrzykiwanie wlasnych snippetow (m.in. marketingowych) do `<head>`.
|
||||
- **woo-product-feed-pro (AdTribes)** — feed produktowy + wlasny Facebook Pixel w `wp_footer` (`woosea_add_facebook_pixel`).
|
||||
|
||||
## Analytics & Marketing
|
||||
## RODO / Consent Mode v2 (kod wlasny w `Divi/functions.php`)
|
||||
Warstwa zgody oparta o ciasteczka **Cookie Notice Pro** (`cnp_consent`, `cnp_prefs` — JSON z kategoriami). Implementacja w `Divi/functions.php` (linie ~8886-8974):
|
||||
- `szkolenia_cnp_has_preference($type)` — centralny helper czytajacy zgode z `$_COOKIE` (`marketing` / `analytics`).
|
||||
- `szkolenia_block_fbq_noop` (`wp_head`, prio 1) — neutralizuje `fbq` (noop) gdy brak zgody marketingowej; blokuje Facebook Pixel ze wszystkich zrodel.
|
||||
- `szkolenia_consent_early_update` (`wp_head`, prio 1) — wczesny `gtag('consent','update', ...)` PHP-side dla powracajacych uzytkownikow (eliminuje race condition z GTM).
|
||||
- Filtry `pys_disable_*_by_gdpr` → `szkolenia_pys_marketing_consent` / `szkolenia_pys_analytics_consent` — PYS honoruje kategorie zgody.
|
||||
- `szkolenia_block_woosea_facebook_pixel` (`wp_footer`) — usuwa pixel AdTribes bez zgody.
|
||||
- `szkolenia_block_hfcm_header` (`wp_head`, prio 9) — usuwa snippet HFCM bez zgody.
|
||||
- Wlasny baner: `Divi/libs/CookieNoticePro/` (`cookies.php`, JS, CSS) + `set_cookie_consent_status` (ustawia ciasteczko `cookie_consent`).
|
||||
|
||||
| Service | Plugin | Version | Purpose |
|
||||
|---------|--------|---------|---------|
|
||||
| Google Analytics | Google Site Kit | 1.128.1 | Site analytics |
|
||||
| Google Tag Manager | GTM4WP | 1.22.3 | Tag container |
|
||||
| Facebook Pixel | PixelYourSite | — | Conversion tracking |
|
||||
| Google Shopping | Woo Product Feed PRO | 13.3.2 | Product feeds for Google, Bing, etc. |
|
||||
UWAGA: caly kod RODO jest w PARENT theme Divi → ryzyko utraty przy aktualizacji Divi. Patrz `quality_risks.md`.
|
||||
|
||||
## Social Media
|
||||
## Tresci / spolecznosc
|
||||
- **bbPress** — forum.
|
||||
- **Instagram Feed**, **YouTube Feed Pro** / Elfsight — osadzenia social.
|
||||
- Shortcode `podcasts_list` (`Divi/functions.php` + `Divi/includes/podcasts-list.php`).
|
||||
|
||||
| Service | Plugin | Version | Purpose |
|
||||
|---------|--------|---------|---------|
|
||||
| Instagram | Smash Balloon Instagram Feed | 6.1.6 | Feed display |
|
||||
| YouTube | Elfsight YouTube Gallery CC | 3.5.0 | Gallery embed |
|
||||
| YouTube | YouTube Feed Pro | — | Feed display |
|
||||
| Facebook Messenger | FB Messenger Live Chat | 1.5.0 | Live chat widget |
|
||||
## SEO
|
||||
- Yoast (`wordpress-seo`), `google-sitemap-plugin`, `sitemap.xml` (root).
|
||||
|
||||
## Hosting & Infrastructure
|
||||
## Bezpieczenstwo
|
||||
- `wordfence-waf.php` (WAF), `gotmls`, `honeypot`, `really-simple-ssl`, `password-protected`.
|
||||
|
||||
| Service | Details |
|
||||
|---------|---------|
|
||||
| Hosting | Cyber-Folks shared hosting (`s165.cyber-folks.pl`) |
|
||||
| App management | Installatron (handles updates; auto-update disabled in WP) |
|
||||
| FTP deployment | ftp-kr VS Code extension, auto-upload enabled |
|
||||
| SSL | Really Simple SSL plugin + server certificate |
|
||||
|
||||
## Security
|
||||
|
||||
| Service | Method |
|
||||
|---------|--------|
|
||||
| Wordfence WAF | `.htaccess` + `.user.ini` auto_prepend_file |
|
||||
| GDPR Cookie consent | Beautiful & Responsive Cookie Consent plugin |
|
||||
| Spam protection | WP Armour / Honeypot |
|
||||
| Malware scanning | GoTMLS plugin |
|
||||
|
||||
## Email
|
||||
|
||||
- Contact email hardcoded in theme: `szkolenia@kursymasazu.com`
|
||||
- WooCommerce order emails (via WordPress mail / likely server sendmail)
|
||||
|
||||
## Scheduled Tasks
|
||||
|
||||
| Script | Trigger | Purpose |
|
||||
|--------|---------|---------|
|
||||
| `cron-products.php` | External cron call | Auto-unpublish WooCommerce products when ACF `end_date_of_the_offer` passes |
|
||||
## Deployment / utrzymanie
|
||||
- FTP (ftp-kr, `.vscode/`). Installatron zarzadza aktualizacjami (mu-plugin `installatron_hide_status_test.php`).
|
||||
|
||||
48
.paul/codebase/quality_risks.md
Normal file
48
.paul/codebase/quality_risks.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Quality Risks
|
||||
|
||||
**Tryb:** full (map-codebase)
|
||||
**Aktualizacja:** 2026-05-19
|
||||
|
||||
> jscpd i ast-grep sa wylaczone polityka (`config.md`). Ponizsze ustalenia pochodza z analizy recznej (rg + odczyt plikow).
|
||||
|
||||
## KRYTYCZNE
|
||||
|
||||
### R1. Kod wlasny w PARENT theme Divi (ryzyko utraty przy aktualizacji)
|
||||
- Pliki: `wp-content/themes/Divi/functions.php` (linie ~8830-8974), `Divi/libs/CookieNoticePro/`, `Divi/custom-code.js`, `Divi/includes/podcasts-list.php`.
|
||||
- CLAUDE.md wprost zabrania edycji Divi ("nadpisywane przy aktualizacji"), a mimo to caly blok RODO/Consent Mode v2, teksty WooCommerce i shortcode `podcasts_list` sa w parent theme.
|
||||
- **Skutek:** aktualizacja Divi skasuje zgodnosc RODO i logike sklepu bez ostrzezenia.
|
||||
- **Rekomendacja:** przeniesc bloki `szkolenia_*`, teksty Woo, enqueue CookieNoticePro i shortcode do `body-relax/functions.php`; pliki `libs/CookieNoticePro/`, `custom-code.js`, `includes/podcasts-list.php` przeniesc do child theme. To prawdopodobny pierwszy duzy plan.
|
||||
|
||||
### R2. Konflikt source-of-truth: teksty przyciskow "add to cart"
|
||||
- `body-relax/functions.php`: filtr `woocommerce_product_single_add_to_cart_text` → `bbloomer_custom_add_to_cart_single_product` ("Kup teraz" / "Rezerwuj miejsce" wg kategorii).
|
||||
- `Divi/functions.php`: TEN SAM filtr → `woocommerce_add_to_cart_button_text_single` ("Zapisz się").
|
||||
- Oba na domyslnym priorytecie; parent (Divi) laduje po child, wiec **wygrywa "Zapisz się"** — logika kategorii z child theme jest martwa.
|
||||
- To samo dotyczy `woocommerce_product_add_to_cart_text` (archiwum).
|
||||
- **Rekomendacja:** zdecydowac jedno zrodlo prawdy, usunac duplikat. Sprzeczne teksty ("Kup teraz"/"Rezerwuj" vs "Zapisz się") sugeruja niedokonczona migracje.
|
||||
|
||||
## WYSOKIE
|
||||
|
||||
### R3. Brak nonce/sanityzacji w AJAX boilerplate
|
||||
- `body-relax/divi-children-engine/includes/custom_codes.php` (`custom_selectors_action_callback`): czyta `$_POST['selector']` i wola `set_theme_mod` bez weryfikacji nonce i bez sanityzacji. To kod silnika Divi Children (admin-only `wp_ajax_`), ale pozostaje powierzchnia ryzyka. Nie modyfikowac bez potrzeby; jesli dotykane — dodac `check_ajax_referer` + `sanitize_*`.
|
||||
|
||||
### R4. Kruche tlumaczenia przez filtr `gettext`
|
||||
- `Divi/functions.php` `change_proceed_to_checkout_text` dopasowuje dokladny string "Proceed to checkout". Aktualizacja WooCommerce zmieniajaca string zlamie tlumaczenie po cichu. Preferowac Loco Translate / poprawna domene.
|
||||
|
||||
## SREDNIE
|
||||
|
||||
### R5. Nazewnictwo generyczne (ryzyko kolizji)
|
||||
- Funkcje globalne bez prefiksu: `my_custom_checkout_text`, `woocommerce_add_to_cart_button_text_single/archives`, `add_custom_css`, `enqueue_custom_script`. Ryzyko kolizji z wtyczkami/przyszlym kodem. Nowy kod: prefiks `szkolenia_` (wzorzec z bloku RODO).
|
||||
|
||||
### R6. Skrypt CRON dostepny przez HTTP
|
||||
- `cron-products.php` (root) laduje `wp-load.php` i modyfikuje produkty; wypisuje dane (echo). Jesli osiagalny publicznie, pozwala wymusic przeliczenie i wycieka tytuly/ID produktow. Zabezpieczyc (token/IP/CLI-only) i wyciszyc echo na produkcji.
|
||||
|
||||
### R7. Hardkodowane progi liczebnikow miejsc
|
||||
- `wcs_custom_get_availability` (`body-relax/functions.php`) ma rozpisane zakresy 1, 2-4, 5-21, 22-24, ... do 51 z recznymi formami PL. Powyzej 51 brak obslugi (brak `availability` dla >51). Latwo o blad; rozwazyc funkcje odmiany liczebnikow zamiast drabinki `if`.
|
||||
|
||||
## Akceptowane / niskie
|
||||
- `divi_children_functions.php` (~2060 linii) — boilerplate silnika, brak terminow projektu; nie wymaga refaktoru.
|
||||
- `installatron_hide_status_test.php` — celowe wylaczenie testu Site Health (Installatron zarzadza updatami). OK.
|
||||
|
||||
## Dlug strukturalny
|
||||
- Brak testow automatycznych (patrz `testing.md`).
|
||||
- Brak wersjonowania zaleznosci wlasnych (brak composer/npm dla kodu projektu).
|
||||
20
.paul/codebase/radar/codebase-memory-full.txt
Normal file
20
.paul/codebase/radar/codebase-memory-full.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
Quality Radar — full scan note
|
||||
Timestamp: 2026-05-19
|
||||
|
||||
codebase-memory-mcp: dostepne. Projekt NIE zostal zindeksowany do grafu.
|
||||
Decyzja: pelne indeksowanie pominiete swiadomie. Repozytorium to kompletna
|
||||
instalacja WordPress (>18 000 plikow sledzonych w git: rdzen WP, motyw Divi,
|
||||
~45 wtyczek third-party). Indeksowanie calosci dawaloby olbrzymi graf zdominowany
|
||||
przez kod vendora i niski sygnal dla planowania.
|
||||
|
||||
Zakres mapowania ograniczony do kodu wlasnego projektu:
|
||||
- wp-content/themes/body-relax/ (child theme — wszystkie customizacje wg CLAUDE.md)
|
||||
- wlasne bloki wstrzykniete do wp-content/themes/Divi/functions.php (linie ~8830-8974)
|
||||
- wp-content/themes/Divi/libs/CookieNoticePro/, custom-code.js, includes/podcasts-list.php
|
||||
- cron-products.php (root)
|
||||
- wp-content/mu-plugins/installatron_hide_status_test.php
|
||||
|
||||
Fallback uzyty: rg / grep + bezposredni odczyt plikow.
|
||||
|
||||
Sugestia: jezeli potrzebny graf, zindeksowac wybiorczo tylko katalog
|
||||
wp-content/themes/body-relax oraz wlasne pliki, nie cale repo.
|
||||
23
.paul/codebase/radar/codebase-memory-post-apply.txt
Normal file
23
.paul/codebase/radar/codebase-memory-post-apply.txt
Normal file
@@ -0,0 +1,23 @@
|
||||
Quality Radar — post-apply note
|
||||
Timestamp: 2026-05-19
|
||||
Plan: 20260519-2336-cookienoticepro-dostosuj
|
||||
|
||||
Status: degraded (graf codebase-memory-mcp nie zbudowany — repo = pelna instalacja WordPress).
|
||||
Metoda: analiza recznej zmiany (git diff) + node --check skladni JS.
|
||||
|
||||
Zmienione pliki:
|
||||
- wp-content/themes/Divi/libs/CookieNoticePro/cookienoticepro.script.js (+config confirmBtnLabel, relabel declineInfoBtnLabel "Odrzuc"->"Dostosuj", przebudowa handlerow #cookieReject i #cookieSettings)
|
||||
- wp-content/themes/Divi/functions.php (bump wersji enqueue own-custom-script 1.0 -> 1.1)
|
||||
|
||||
Kontrole:
|
||||
- node --check cookienoticepro.script.js: OK (brak bledow skladni).
|
||||
- grep "Odrzuc": wystepuje tylko w komentarzu, brak w UI.
|
||||
- Etykiety: settingsBtnLabel "Dostosuj", acceptBtnLabel "Akceptuj", confirmBtnLabel "Zatwierdz", declineInfoBtnLabel "Dostosuj".
|
||||
|
||||
Niezmienione (boundaries zachowane):
|
||||
- Nazwy ciasteczek cnp_consent / cnp_prefs / cnp_gconsent_*.
|
||||
- Wartosci kategorii preferences/marketing/analytics i necessary.
|
||||
- Format zapisu encodeURIComponent(JSON.stringify(prefs)).
|
||||
- Logika googleConsentModeHandler i bloki szkolenia_* w Divi/functions.php.
|
||||
|
||||
Pozostala weryfikacja: manualna w przegladarce (UAT) — nie wykonywalna z CLI.
|
||||
@@ -1,71 +1,33 @@
|
||||
# Technology Stack
|
||||
# Stack
|
||||
|
||||
> Generated by /paul:map-codebase — 2026-04-26
|
||||
**Aktualizacja:** 2026-05-19
|
||||
|
||||
## Core Platform
|
||||
## Rdzen
|
||||
- **CMS:** WordPress (pelna instalacja w katalogu repo).
|
||||
- **Jezyk:** PHP (motywy, wtyczki), JavaScript/jQuery (frontend), CSS.
|
||||
- **Baza danych:** MySQL — schema `garbary_szkury`, prefiks tabel `wp_` (`wp-config.php`).
|
||||
- **Serwer:** Apache (obecne `.htaccess`, `.user.ini`), PHP-FPM/CGI (`.user.ini`).
|
||||
|
||||
| Layer | Technology | Version |
|
||||
|-------|-----------|---------|
|
||||
| CMS | WordPress | Core deployed server-side (not in repo) |
|
||||
| PHP | Minimum 5.6.20, recommended 7.4+ | Runtime on Cyber-Folks |
|
||||
| Database | MySQL | DB: `garbary_szkury`, prefix `wp_`, host: localhost |
|
||||
| Web Server | Apache | .htaccess-based routing |
|
||||
## Motyw
|
||||
- **Parent:** Divi (`wp-content/themes/Divi/`) — komercyjny motyw Elegant Themes. NIE edytowac (nadpisywany przy aktualizacji) — patrz `quality_risks.md`.
|
||||
- **Child (aktywny):** `body-relax` (`wp-content/themes/body-relax/`) — tu maja trafiac customizacje.
|
||||
- **Divi Children Engine:** `wp-content/themes/body-relax/divi-children-engine/` — scaffold third-party (Divi Children plugin) ladowany przez `functions.php`. Nie zawiera logiki specyficznej dla projektu.
|
||||
|
||||
## Themes
|
||||
|
||||
| Theme | Role | Version | Path |
|
||||
|-------|------|---------|------|
|
||||
| body-relax | Active child theme | 1.0 | `wp-content/themes/body-relax/` |
|
||||
| Divi | Parent theme (ET) | Current on server | `wp-content/themes/Divi/` |
|
||||
| Divi Children Engine | Customizer extension | 1.0.4 | `wp-content/themes/body-relax/divi-children-engine/` |
|
||||
|
||||
## Key Plugins
|
||||
|
||||
### E-Commerce
|
||||
- **WooCommerce** v6.8.1 — Core e-commerce (courses as products)
|
||||
- **PayU Payment Gateway** v2.0.13 — Polish payment processor (card, BLIK, bank transfer, PayPo, Twisto)
|
||||
- **WooCommerce NIP** v1.1.0 — Polish tax ID field at checkout
|
||||
- **Flexible Checkout Fields** v3.4.2 — Custom checkout field management
|
||||
- **Checkout Field Editor** v1.9.1 — Additional field customization
|
||||
|
||||
### Content & SEO
|
||||
- **Advanced Custom Fields (ACF)** v6.2.1 — Custom fields (notably `end_date_of_the_offer` on products)
|
||||
- **Yoast SEO** v19.6.1 — SEO management
|
||||
- **Google Site Kit** v1.128.1 — Analytics integration
|
||||
- **GTM4WP** v1.22.3 — Google Tag Manager
|
||||
- **CMB2** v2.10.1 — Custom meta boxes framework
|
||||
|
||||
### Community
|
||||
- **bbPress** v2.6.9 — Forum software (NOTE: 100+ files modified — see concerns)
|
||||
|
||||
### Security
|
||||
- **Really Simple SSL** v5.3.4 — HTTPS / cookie hardening
|
||||
- **Wordfence WAF** — Web application firewall (via `.htaccess` + `.user.ini`)
|
||||
- **Password Protected** v2.7.1 — Site-wide password protection
|
||||
|
||||
### Media & Social
|
||||
- **Smash Balloon Instagram Feed** v6.1.6
|
||||
- **Elfsight YouTube Gallery CC** v3.5.0
|
||||
- **FB Messenger Live Chat** v1.5.0
|
||||
- **PixelYourSite** — Facebook/analytics pixel
|
||||
|
||||
### Admin Tools
|
||||
- **Loco Translate** v2.6.14 — Translation management
|
||||
- **WP-Optimize** v3.2.14 — DB/image/cache optimization
|
||||
- **Header/Footer Code Manager** — Custom code injection
|
||||
- **Supreme Modules Lite for Divi** v2.4.1 — Divi module extensions
|
||||
|
||||
## Build Tools
|
||||
|
||||
| Tool | Purpose | Config |
|
||||
|------|---------|--------|
|
||||
| Live Sass Compile (VS Code) | SCSS → CSS, compressed, autoprefixed | `.vscode/settings.json` |
|
||||
| FTP-KR (VS Code extension) | Auto-deploy to production | `.vscode/ftp-kr.json` |
|
||||
## Kluczowe wtyczki (third-party)
|
||||
- **E-commerce:** `woocommerce`, `woo-payu-payment-gateway` (PayU), `woocommerce-nip` (NIP na fakturze), `flexible-checkout-fields` / `woo-checkout-field-editor-pro`, `woo-product-filter`, `woo-product-feed-pro` (AdTribes — feed produktowy + wlasny Facebook Pixel), `woocommerce-product-stock-alert`.
|
||||
- **Forum:** `bbpress`.
|
||||
- **Pola / metadane:** `advanced-custom-fields` (ACF), `cmb2`.
|
||||
- **Marketing / tracking:** `duracelltomi-google-tag-manager` (GTM4WP), `pixelyoursite` (PYS), `google-site-kit`, `header-footer-code-manager` (HFCM).
|
||||
- **RODO / cookies:** `beautiful-and-responsive-cookie-consent`, wlasny CookieNoticePro (`Divi/libs/CookieNoticePro/`).
|
||||
- **SEO:** `wordpress-seo` (Yoast), `google-sitemap-plugin`, `taxonomy-terms-order`.
|
||||
- **Bezpieczenstwo:** `gotmls`, `honeypot`, `really-simple-ssl`, `password-protected`, `wordfence-waf.php` (root).
|
||||
- **Media / UI:** `instagram-feed`, `youtube-feed-pro`, `elfsight-youtube-gallery-cc`, `popups`, `tinymce-advanced`, `wp-smart-editor`, `wp-smart-preloader`.
|
||||
- **Utrzymanie:** `wp-optimize`, `wp-sweep`, `loco-translate`, `disable-update-notifications`.
|
||||
|
||||
## Deployment
|
||||
- FTP (ftp-kr — konfiguracja w `.vscode/`).
|
||||
- Installatron zarzadza aktualizacjami aplikacji (mu-plugin wylacza test Site Health dla auto-updatow).
|
||||
|
||||
- **Method**: FTP auto-upload (ftp-kr VS Code extension)
|
||||
- **Host**: s165.cyber-folks.pl
|
||||
- **Remote root**: `/domains/szkoleniauryzaj.pl/public_html/`
|
||||
- **Auto-upload**: ENABLED (any file save triggers upload)
|
||||
- **Excluded from sync**: `.git/`, `.vscode/`, `.serena/`, `.paul/`, `CLAUDE.md`
|
||||
## Konfiguracja
|
||||
- `wp-config.php` — DB, `WP_DEBUG` wylaczony (`define('WP_DEBUG', false)`).
|
||||
- `.user.ini`, `.htaccess` — konfiguracja PHP/Apache.
|
||||
|
||||
@@ -1,34 +1,22 @@
|
||||
# Testing
|
||||
# Testy
|
||||
|
||||
> Generated by /paul:map-codebase — 2026-04-26
|
||||
**Aktualizacja:** 2026-05-19
|
||||
|
||||
## Current State
|
||||
## Stan obecny
|
||||
- **Brak automatycznych testow** w kodzie wlasnym. Nie znaleziono katalogu `tests/` w child theme, ani konfiguracji PHPUnit / Jest / Playwright dla logiki projektu.
|
||||
- W repo obecny byl jedynie tymczasowy katalog `.playwright-mcp/` z logami konsoli i snapshotami stron z sesji manualnej (oznaczony jako usuniety w git) — to artefakty debugowania, nie suite testowa.
|
||||
- Brak pipeline CI (deployment przez FTP).
|
||||
|
||||
**No automated testing detected.**
|
||||
## Weryfikacja w praktyce
|
||||
- Manualna na produkcji / srodowisku live.
|
||||
- `cron-products.php` mozna uruchomic recznie w przegladarce — wypisuje liste produktow i daty oferty (echo), wiec sluzy jako prosty self-check.
|
||||
|
||||
- No PHPUnit configuration
|
||||
- No `tests/` directory in the theme or custom code
|
||||
- No CI/CD pipeline (no GitHub Actions, no Gitlab CI)
|
||||
- No linting configuration (no `.editorconfig`, `phpcs.xml`, `.eslintrc`)
|
||||
- No staging environment detected (direct FTP to production)
|
||||
## Rekomendowane obszary do weryfikacji manualnej przy zmianach
|
||||
- Teksty przyciskow koszyka i checkout (single product, archiwum, koszyk, "zloz zamowienie").
|
||||
- Komunikaty dostepnosci miejsc dla roznych wartosci `stock_quantity` (odmiana liczebnikow PL).
|
||||
- Sciezka platnosci WooCommerce → PayU (sandbox).
|
||||
- Baner cookie + Consent Mode v2: zachowanie GTM/PixelYourSite/Facebook Pixel przed i po zgodzie (analytics vs marketing) — sprawdzac w Network/Tag Assistant.
|
||||
- Automatyczne przenoszenie wygaslych ofert do `draft` (`cron-products.php`).
|
||||
|
||||
## Manual Testing
|
||||
|
||||
Deployment is done via FTP auto-upload directly to production. All testing is effectively manual QA on the live site.
|
||||
|
||||
## Risk Areas Without Tests
|
||||
|
||||
| Area | Risk |
|
||||
|------|------|
|
||||
| WooCommerce filters (stock text, button labels) | Regressions visible to customers |
|
||||
| cron-products.php | Silent failures leave expired products published |
|
||||
| PayU gateway | Payment failures affect revenue |
|
||||
| bbPress (modified) | Plugin updates will overwrite custom changes without notice |
|
||||
|
||||
## Recommended First Steps
|
||||
|
||||
If adding testing to this project:
|
||||
1. Add a local WordPress environment (LocalWP or DDEV)
|
||||
2. Add PHPUnit + wp-env or Brain Monkey for unit tests on custom functions
|
||||
3. Add PHP_CodeSniffer with WordPress coding standards for static analysis
|
||||
4. Add a staging FTP target in ftp-kr.json before going live with changes
|
||||
## Komendy build/lint/test
|
||||
- Brak — projekt nie ma narzedzi build (brak `package.json`/`composer.json` dla kodu wlasnego). Edycja plikow PHP/JS bezposrednio.
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
# TODO
|
||||
|
||||
> Luźny parking pomysłów, rzeczy do sprawdzenia, rzeczy które mogą nigdy nie być wdrożone.
|
||||
> Nie wymaga formalności — wrzucaj co chcesz.
|
||||
30
.paul/codebase/tooling_status.md
Normal file
30
.paul/codebase/tooling_status.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# Tooling Status
|
||||
|
||||
**Timestamp:** 2026-05-19
|
||||
**Tryb skanu:** full (map-codebase)
|
||||
**Status:** degraded (graf nie zbudowany — patrz nizej)
|
||||
|
||||
## Narzedzia
|
||||
- **codebase-memory-mcp:** dostepne, ale projekt NIE zostal zindeksowany do grafu. Pelne indeksowanie pominiete swiadomie — repo to kompletna instalacja WordPress (>18 000 plikow: rdzen WP + Divi + ~45 wtyczek third-party). Indeks calosci bylby zdominowany przez kod vendora. Mapowanie wykonano metoda recznej analizy zakresu kodu wlasnego.
|
||||
- **jscpd:** disabled by policy (`quality_radar.tools.jscpd: false`).
|
||||
- **ast-grep:** disabled by policy (`quality_radar.tools.ast_grep: false`).
|
||||
|
||||
## Probowane komendy / metoda
|
||||
- `mcp__codebase-memory-mcp__list_projects` → projekt nieobecny w indeksie.
|
||||
- `git ls-files` + `git show` (analiza struktury i commitow RODO).
|
||||
- `rg`/`grep` po hookach `add_action`/`add_filter`/`add_shortcode` w kodzie wlasnym.
|
||||
- Bezposredni odczyt: `body-relax/functions.php`, `custom_codes.php`, `Divi/functions.php` (8828-8882), `cron-products.php`, mu-plugin.
|
||||
|
||||
## Sciezki surowych wynikow
|
||||
- `.paul/codebase/radar/codebase-memory-full.txt`
|
||||
|
||||
## Post-apply (2026-05-19) — plan 20260519-2336-cookienoticepro-dostosuj
|
||||
- Status: degraded (graf nie zbudowany). Kontrola: `node --check` na `cookienoticepro.script.js` → OK.
|
||||
- Zmienione: `Divi/libs/CookieNoticePro/cookienoticepro.script.js`, `Divi/functions.php`.
|
||||
- Raport: `.paul/codebase/radar/codebase-memory-post-apply.txt`.
|
||||
- Boundaries zachowane (nazwy ciasteczek, wartosci kategorii, format zapisu prefs).
|
||||
|
||||
## Nastepna akcja
|
||||
- `$paul-unify` — domkniecie petli dla planu CookieNoticePro (po manualnym UAT).
|
||||
- Opcjonalnie: zindeksowac wybiorczo tylko `wp-content/themes/body-relax/` + wlasne pliki (nie cale repo), jesli potrzebny graf wywolan.
|
||||
- `$paul-plan` — kandydat: przeniesienie kodu wlasnego z Divi parent theme do child theme `body-relax` (ryzyka R1 + R2 w `quality_risks.md`).
|
||||
@@ -1,9 +1,9 @@
|
||||
# Project Config
|
||||
# Konfiguracja projektu PAUL
|
||||
|
||||
**Project:** szkoleniauryzaj.pl
|
||||
**Created:** 2026-04-26
|
||||
**Projekt:** szkoleniauryzaj.pl
|
||||
**Utworzono:** 2026-05-19
|
||||
|
||||
## Project Settings
|
||||
## Ustawienia projektu
|
||||
|
||||
```yaml
|
||||
project:
|
||||
@@ -11,23 +11,43 @@ project:
|
||||
version: 0.0.0
|
||||
```
|
||||
|
||||
## Integrations
|
||||
## Integracje
|
||||
|
||||
### Quality Radar
|
||||
|
||||
```yaml
|
||||
quality_radar:
|
||||
enabled: true
|
||||
auto_install: true
|
||||
tools:
|
||||
codebase_memory_mcp: true
|
||||
jscpd: false # manual/on-demand duplicate scan
|
||||
ast_grep: false # manual/on-demand structural pattern scan
|
||||
reports:
|
||||
update_on_plan: true
|
||||
update_on_apply: true
|
||||
update_on_verify: true
|
||||
```
|
||||
|
||||
### SonarQube
|
||||
|
||||
```yaml
|
||||
sonarqube:
|
||||
enabled: false
|
||||
reason: "User declined during init"
|
||||
```
|
||||
|
||||
## Preferences
|
||||
## Preferencje
|
||||
|
||||
```yaml
|
||||
preferences:
|
||||
auto_commit: false
|
||||
verbose_output: false
|
||||
parallel_agents: false
|
||||
plan_storage: plans
|
||||
state_autocompress: true
|
||||
state_autocompress_max_lines: 500
|
||||
```
|
||||
|
||||
---
|
||||
*Config created: 2026-04-26*
|
||||
|
||||
*Konfiguracja utworzona: 2026-05-19*
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
# API
|
||||
|
||||
> Endpointy, kontrakty request/response, autentykacja.
|
||||
@@ -1,3 +0,0 @@
|
||||
# ARCHITECTURE
|
||||
|
||||
> Struktura klas, modulow, przeplywow i zaleznosci w projekcie.
|
||||
@@ -1,3 +0,0 @@
|
||||
# DB_SCHEMA
|
||||
|
||||
> Schemat bazy danych — tabele, kolumny, FK, indeksy.
|
||||
@@ -1,3 +0,0 @@
|
||||
# DECISIONS
|
||||
|
||||
> Kluczowe decyzje techniczne i ich uzasadnienia.
|
||||
@@ -1,3 +0,0 @@
|
||||
# STACK
|
||||
|
||||
> Stack technologiczny, wersje, zaleznosci, srodowisko.
|
||||
@@ -1,3 +0,0 @@
|
||||
# TECH_CHANGELOG
|
||||
|
||||
> Chronologiczny log zmian technicznych — co i dlaczego.
|
||||
@@ -1,3 +0,0 @@
|
||||
# TODO
|
||||
|
||||
> Luzny parking pomyslow, rzeczy do sprawdzenia.
|
||||
@@ -1,82 +0,0 @@
|
||||
{"ts":"2026-04-26T21:35:51Z","tool":"Bash","cmd":"mkdir -p .paul/phases .paul/codebase && echo \"Created\"\",\"description\":\"Create .paul directory structure\"},\"tool_response\":{\"stdout\":\"Created\",\"stderr\":\"\",\"interrupted\":false,\"isIma","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:36:37Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\db_schema.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:36:42Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\todo.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:36:49Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\PROJECT.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:36:55Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\ROADMAP.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:37:04Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:38:39Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\CLAUDE.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:39:52Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\config.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:03Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git status --short | head -30\"},\"tool_response\":{\"stdout\":\" M .vscode/ftp-kr.json\\n M .vscode/ftp-kr.sync.cache.json\\n M wp","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:09Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git diff wp-content/plugins/bbpress/bbpress.php | head -100\"},\"tool_response\":{\"stdout\":\"warning: in the working copy of 'wp-","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:14Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git diff --stat wp-content/plugins/bbpress/ | tail -20\"},\"tool_response\":{\"stdout\":\"warning: in the working copy of 'wp-conte","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:16Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && grep -r \"TODO\\\\|FIXME\\\\|HACK\" wp-content/themes/ 2>/dev/null | head -20\"},\"tool_response\":{\"stdout\":\"wp-content/themes/","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:18Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && find wp-content/themes -type f -name \"*.php\" -o -name \"*.js\" | xargs grep -l \"http://\" | head -10\"},\"tool_response\":{\"std","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:23Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins\" && for dir in */; do head -50 \"${dir%/}/${dir%/}.php\" 2>/dev/null | grep -E \"Plugin Name|Version|Description\" | head -3;","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:24Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && grep -r \"szkoleniauryzaj.pl\\\\|baumer.vot.pl\" wp-content/themes/body-relax/ 2>/dev/null\"},\"tool_response\":{\"stdout\":\"wp-co","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:26Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git diff .vscode/ftp-kr.json\"},\"tool_response\":{\"stdout\":\"diff --git a/.vscode/ftp-kr.json b/.vscode/ftp-kr.json\\nindex ae47","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:28Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && head -50 .vscode/ftp-kr.sync.cache.json\"},\"tool_response\":{\"stdout\":\"{\\n \"ftp://s165.cyber-folks.pl@garbary\": {\\n \"d","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:32Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && grep -r \"mysql_\\\\|ereg_\\\\|eval(\\\\|extract(\" wp-content/themes/body-relax/ 2>/dev/null | grep -v \".min.js\"\"},\"tool_respo","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:34Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git log --oneline -20\"},\"tool_response\":{\"stdout\":\"1b95f03 Save\\nd893e42 Save\\nce22917 Save\\n20c85ba Save\\n98e970c New co","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:34Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/woo-payu-payment-gateway\" && head -50 woocommerce-gateway-payu.php 2>/dev/null || head -50 woo-payu-payment-gateway.php 2>/de","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:36Z","tool":"Bash","cmd":"tree -L 3 \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl/wp-content/themes/body-relax/\" 2>/dev/null | head -80\"},\"tool_response\":{\"stdout\":\"\",\"stderr\":\"\",\"interrupted\":fals","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:38Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && wc -l .vscode/ftp-kr.sync.cache.json && du -h .vscode/ftp-kr.sync.cache.json\"},\"tool_response\":{\"stdout\":\"9162 .vscode/ftp-kr","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:38Z","tool":"Bash","cmd":"wc -l \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl/wp-content/themes/body-relax\"/*.php \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl/wp-content/themes/body-relax/divi-c","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:38Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && grep -c \"modified.*true\" .vscode/ftp-kr.sync.cache.json\"},\"tool_response\":{\"stdout\":\"5\",\"stderr\":\"\",\"interrupted\":fa","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:40Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/advanced-custom-fields\" && head -30 acf.php 2>/dev/null || head -30 advanced-custom-fields.php 2>/dev/null || find . -maxdept","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:40Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git diff wp-content/plugins/bbpress/bbpress.php | grep \"^+\" | head -30\"},\"tool_response\":{\"stdout\":\"warning: in the working","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:42Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/wordpress-seo\" && head -40 wp-seo.php 2>/dev/null || head -40 wp-seo-main.php 2>/dev/null || find . -maxdepth 1 -name \"*.php","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:44Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/google-site-kit\" && head -40 google-site-kit.php 2>/dev/null || find . -maxdepth 1 -name \"*.php\" -type f | head -1 | xargs ","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:44Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git diff --no-index /dev/null wp-content/plugins/bbpress/bbpress.php 2>&1 | grep -A 5 \"^@@\" | head -50\"},\"tool_response\":{\"st","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:46Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && file wp-content/plugins/bbpress/bbpress.php && file wp-content/plugins/bbpress/bbpress.php.orig 2>/dev/null || echo \"No orig file\","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:48Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git log --oneline wp-content/plugins/bbpress/bbpress.php | head -5\"},\"tool_response\":{\"stdout\":\"0d932ce first commit\",\"stde","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:49Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl\" && head -30 wp-load.php 2>/dev/null && echo \"---\" && head -30 wp-blog-header.php 2>/dev/null\"},\"tool_response\":{\"stdout\":\"<?php\\n/**\\","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:50Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && grep -n \"DB_PASSWORD\" wp-config.php\"},\"tool_response\":{\"stdout\":\"31:define('DB_PASSWORD', \"g)6(3B22]9%^iPT\");\",\"stderr\","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:55Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && find . -name \"wp-config.php\" -o -name \".env\" -o -name \".env.local\" 2>/dev/null | grep -v node_modules\"},\"tool_response\":{\","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:57Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git status | grep \"modified\" | wc -l\"},\"tool_response\":{\"stdout\":\"10660\",\"stderr\":\"\",\"interrupted\":false,\"isImage\"","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:57Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git log --oneline -10 2>/dev/null || echo \"Not a git repo or no commits\"\"},\"tool_response\":{\"stdout\":\"1b95f03 Save\\nd893e4","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:41:58Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git diff HEAD wp-content/plugins/bbpress/ --stat | tail -5\"},\"tool_response\":{\"stdout\":\"fatal: option '--stat' must come befo","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:00Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && grep -n \"query_posts\\\\|the_posts\\\\|wp_get_recent_posts\" wp-content/themes/body-relax/divi-children-engine/includes/divi-mods/","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:04Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git status --short | grep -E \"^\\\\s*M\" | wc -l\"},\"tool_response\":{\"stdout\":\"10660\",\"stderr\":\"\",\"interrupted\":false,","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:08Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl\" && grep -r \"\\\\$wp_version\" . --include=\"*.php\" 2>/dev/null | grep -v \"plugins\\\\|themes\" | head -5\"},\"tool_response\":{\"stdout\":\"","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:09Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git config --get remote.origin.url 2>/dev/null\"},\"tool_response\":{\"stdout\":\"https://git.project-pro.pl/Project-Pro/szkoleniau","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:10Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/really-simple-ssl\" && head -30 rlrsssl-really-simple-ssl.php 2>/dev/null | grep -E \"Version|Plugin Name\"\"},\"tool_response","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:11Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl\" && git log --oneline | head -20\"},\"tool_response\":{\"stdout\":\"1b95f03 Save\\nd893e42 Save\\nce22917 Save\\n20c85ba Save\\n98e970c New comp","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:17Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl\" && find . -maxdepth 2 -type d | sort\"},\"tool_response\":{\"stdout\":\".\\n./.git\\n./.git/hooks\\n./.git/info\\n./.git/logs\\n./.git/objects\","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:20Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/themes\" && du -sh * 2>/dev/null\"},\"tool_response\":{\"stdout\":\"276K\\tbody-relax\\n53M\\tDivi\\n1,0K\\tindex.php\\n6,7M\\ttwentyt","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:21Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins\" && for plugin in */; do echo \"=== $plugin ===\" && head -20 \"${plugin%/}/${plugin%/}.php\" 2>/dev/null | grep -E \"Plugin ","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:23Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl\" && sed -n '14,25p' wp-settings.php\"},\"tool_response\":{\"stdout\":\" * @since 1.0.0\\n */\\ndefine( 'WPINC', 'wp-includes' );\\n\\n/**\\n * V","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:27Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins\" && du -sh */ 2>/dev/null | sort -rh | head -20\"},\"tool_response\":{\"stdout\":\"40M\\twoocommerce/\\n17M\\tadvanced-custom","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:27Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl\" && sed -n '25,50p' wp-settings.php\"},\"tool_response\":{\"stdout\":\" * @global string $wp_version The WordPress version string.\\","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:27Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl\" && head -100 wp-settings.php | tail -50\"},\"tool_response\":{\"stdout\":\"/**\\n * If not already configured, `$blog_id` will default to 1 in ","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:30Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins\" && ls -d */ | sed 's/\\\\///' | sort\"},\"tool_response\":{\"stdout\":\"advanced-custom-fields\\nbbpress\\nbeautiful-and-res","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:38Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl\" && head -30 cron-products.php\"},\"tool_response\":{\"stdout\":\"<?php\\r\\nrequire( dirname( __FILE__ ) . '/wp-load.php' );\\r\\n\\r\\n$curren","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:39Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/themes/Divi\" && head -20 style.css && echo \"---\" && ls functions.php 2>/dev/null && echo \"Divi has functions.php\"\"},\"tool_respo","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:43Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/cmb2\" && head -30 bootstrap.php 2>/dev/null | grep -E \"Version|Plugin Name|Version\" || head -30 init.php 2>/dev/null | grep","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:43Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/google-sitemap-plugin\" && head -40 google-sitemap-plugin.php 2>/dev/null | grep -E \"Version|Plugin Name|Description\"\"},\"t","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:47Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/woocommerce-nip\" && head -40 woocommerce-nip.php 2>/dev/null | grep -E \"Version|Plugin Name|Description|Author\"\"},\"tool_r","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:48Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/duracelltomi-google-tag-manager\" && head -40 duracelltomi-google-tag-manager-for-wordpress.php 2>/dev/null | grep -E \"Versio","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:49Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/woo-checkout-field-editor-pro\" && head -40 checkout-form-designer.php 2>/dev/null | grep -E \"Version|Plugin Name|Description","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:49Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/loco-translate\" && head -40 loco.php 2>/dev/null | grep -E \"Version|Plugin Name|Description\"\"},\"tool_response\":{\"stdout","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:52Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/woocommerce-product-stock-alert\" && head -50 product_stock_alert.php 2>/dev/null | grep -E \"Version|Plugin Name|Description\","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:53Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/woo-product-feed-pro\" && head -50 woocommerce-sea.php 2>/dev/null | grep -E \"Version|Plugin Name|Description\"\"},\"tool_res","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:53Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/pixelyoursite\" && head -50 pixelyoursite.php 2>/dev/null | grep -E \"Version|Plugin Name|Description\"\"},\"tool_response\":{","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:42:53Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/szkoleniauryzaj.pl/wp-content/plugins/popups\" && head -50 popups.php 2>/dev/null | grep -E \"Version|Plugin Name|Description\"\"},\"tool_response\":{\"stdout\":\" ","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:44:06Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && find wp-content/plugins -name \"*.php\" -exec grep -l \"eval\\\\|assert\\\\|create_function\" {} \\\\; 2>/dev/null | head -10\"},\"","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:44:08Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && grep -r \"define.*WP_DEBUG_LOG\\\\|define.*WP_DEBUG_DISPLAY\" wp-config.php\"},\"tool_response\":{\"stdout\":\"\",\"stderr\":\"\",\","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:44:08Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && ls -la .git 2>/dev/null | head -5\"},\"tool_response\":{\"stdout\":\"total 2297\\ndrwxr-xr-x 1 jacek 197121 0 kwi 26 23:42 .\","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:44:16Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && grep -n \"FS_METHOD\\\\|FS_CHMOD\" wp-config.php\"},\"tool_response\":{\"stdout\":\"58:define('FS_METHOD','direct');define('FS_CHMO","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:44:16Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && head -20 .gitignore 2>/dev/null || echo \"No .gitignore\"\"},\"tool_response\":{\"stdout\":\"No .gitignore\",\"stderr\":\"\",\"inte","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:44:16Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && stat wp-config.php 2>&1 | head -10\"},\"tool_response\":{\"stdout\":\" File: wp-config.php\\n Size: 3677 \\tBlocks: 4 ","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:45:18Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\stack.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:45:47Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\architecture.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:46:05Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\conventions.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:46:16Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\integrations.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:46:24Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\testing.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:46:46Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\concerns.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:47:03Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\db_schema.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:52:06Z","tool":"Bash","cmd":"mkdir -p \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\phases\\\\01-rodo-cookie-consent\"\"},\"tool_response\":{\"stdout\":\"\",\"stderr\":\"\",\"interrupted\":false,\"isIma","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:53:14Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\phases\\\\01-rodo-cookie-consent\\\\01-01-PLAN.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:53:25Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\ROADMAP.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:53:42Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:57:35Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\phases\\\\01-rodo-cookie-consent\\\\01-01-PLAN.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T21:57:55Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
@@ -1,31 +0,0 @@
|
||||
{"ts":"2026-04-26T22:01:09Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\phases\\\\01-rodo-cookie-consent\\\\01-01-PLAN.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:01:14Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:01:26Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:02:56Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\body-relax\\\\functions.php","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:03:01Z","tool":"Bash","cmd":"php -l \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\body-relax\\\\functions.php\"\"},\"tool_response\":{\"stdout\":\"No syntax errors detected in C:\\\\visua","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:08:20Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\body-relax\\\\functions.php","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:08:30Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:08:35Z","tool":"Bash","cmd":"php -l \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php\" && php -l \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-cont","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:20:27Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:20:34Z","tool":"Bash","cmd":"php -l \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php\" 2>&1\",\"description\":\"Check PHP syntax of Divi/functions.php\"},\"tool_respons","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:25:49Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:25:55Z","tool":"Bash","cmd":"php -l \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php\" 2>&1\",\"description\":\"Check PHP syntax\"},\"tool_response\":{\"stdout\":\"No s","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:33:58Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:34:03Z","tool":"Bash","cmd":"php -l \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php\" 2>&1\",\"description\":\"Check PHP syntax\"},\"tool_response\":{\"stdout\":\"No s","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:37:54Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:38:00Z","tool":"Bash","cmd":"php -l \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php\" 2>&1\",\"description\":\"Check PHP syntax\"},\"tool_response\":{\"stdout\":\"No s","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:39:20Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:39:26Z","tool":"Bash","cmd":"php -l \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php\" 2>&1\",\"description\":\"Check PHP syntax\"},\"tool_response\":{\"stdout\":\"No s","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:41:17Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:41:23Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:41:28Z","tool":"Bash","cmd":"php -l \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php\" 2>&1\",\"description\":\"Check PHP syntax\"},\"tool_response\":{\"stdout\":\"No s","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:43:00Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\phases\\\\01-rodo-cookie-consent\\\\01-01-SUMMARY.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:44:24Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git log --oneline -5 2>&1\",\"description\":\"Get recent git commits\"},\"tool_response\":{\"stdout\":\"b073e00 update\\n1b95f03 Sa","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:45:14Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\phases\\\\01-rodo-cookie-consent\\\\01-01-SUMMARY.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:45:26Z","tool":"Bash","cmd":"mkdir -p \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\changelog\" 2>/dev/null; echo \"ok\"\",\"description\":\"Ensure changelog directory exists\"},\"tool_response\":{\"std","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:45:35Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\changelog\\\\2026-04-27.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:46:10Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\PROJECT.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:46:24Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\ROADMAP.md","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:46:32Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git add .paul/ wp-content/themes/Divi/functions.php && git status 2>&1\",\"description\":\"Stage phase files for commit\"},\"tool_r","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:46:42Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && git commit -m \"$(cat <<'EOF'\\nfeat(01-rodo-cookie-consent): RODO compliance — Consent Mode v2 + Facebook Pixel blokada\\n\\nPha","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-04-26T22:47:04Z","tool":"Bash","cmd":"cd \"C:\\\\visual studio code\\\\projekty\\\\szkoleniauryzaj.pl\" && echo \"=STATE=\" && grep -E \"Phase:|Version:|Status:|focus:\" .paul/STATE.md && echo \"=PROJECT=\" && grep -E \"Version|Status|Las","cwd":"/c/visual studio code/projekty/szkoleniauryzaj.pl"}
|
||||
35
.paul/governance/governance_2026-05-19.jsonl
Normal file
35
.paul/governance/governance_2026-05-19.jsonl
Normal file
@@ -0,0 +1,35 @@
|
||||
{"ts":"2026-05-19T21:22:38Z","tool":"Bash","cmd":"mkdir -p .paul/plans .paul/codebase/radar .paul/rules/ast-grep .paul/rules/jscpd .paul/changelog .paul/handoffs && ls .paul/\",\"description\":\"Create PAUL directory structure\"},\"tool_response\":{\","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:22:53Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\PROJECT.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:23:04Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:23:12Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\config.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:23:23Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\impact_map.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:23:32Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\quality_risks.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:23:41Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\tooling_status.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:29:21Z","tool":"Bash","cmd":"git show 10068945 -- wp-content/themes/Divi/functions.php 2>/dev/null | head -130\",\"description\":\"View RODO additions to Divi functions.php\"},\"tool_response\":{\"stdout\":\"commit 100689450b1bbd","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:30:04Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\radar\\\\codebase-memory-full.txt","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:30:17Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\stack.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:30:35Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\architecture.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:30:49Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\conventions.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:31:01Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\testing.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:31:16Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\integrations.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:31:29Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\db_schema.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:31:45Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\impact_map.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:32:10Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\quality_risks.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:32:25Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\tooling_status.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:32:32Z","tool":"Edit","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:36:59Z","tool":"Bash","cmd":"date +\"%Y%m%d-%H%M\"; mkdir -p \".paul/plans/$(date +%Y%m%d-%H%M)-cookienoticepro-dostosuj\" && echo \"created\"; ls .paul/plans/\",\"description\":\"Get timestamp and create plan dir\"},\"tool_respo","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:37:51Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\plans\\\\20260519-2336-cookienoticepro-dostosuj\\\\PLAN.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:37:58Z","tool":"Edit","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:40:05Z","tool":"Edit","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\plans\\\\20260519-2336-cookienoticepro-dostosuj\\\\PLAN.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:40:12Z","tool":"Edit","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\plans\\\\20260519-2336-cookienoticepro-dostosuj\\\\PLAN.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:40:49Z","tool":"Edit","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\libs\\\\CookieNoticePro\\\\cookienoticepro.script.js","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:40:55Z","tool":"Edit","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\libs\\\\CookieNoticePro\\\\cookienoticepro.script.js","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:41:01Z","tool":"Edit","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\libs\\\\CookieNoticePro\\\\cookienoticepro.script.js","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:41:06Z","tool":"Edit","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\wp-content\\\\themes\\\\Divi\\\\functions.php","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:41:13Z","tool":"Bash","cmd":"F=\"wp-content/themes/Divi/libs/CookieNoticePro/cookienoticepro.script.js\"; echo \"=== labels ===\"; grep -n \"declineInfoBtnLabel\\\\|confirmBtnLabel\\\\|acceptBtnLabel\\\\|settingsBtnLabel\" \"$F\"","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:41:32Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\radar\\\\codebase-memory-post-apply.txt","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:41:40Z","tool":"Edit","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\codebase\\\\tooling_status.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:41:48Z","tool":"Edit","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:43:43Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\plans\\\\20260519-2336-cookienoticepro-dostosuj\\\\SUMMARY.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:43:51Z","tool":"Write","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\changelog\\\\2026-05-19.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
{"ts":"2026-05-19T21:44:01Z","tool":"Edit","file":"c:\\\\visual-studio-code\\\\projekty\\\\szkoleniauryzaj.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual-studio-code/projekty/szkoleniauryzaj.pl"}
|
||||
@@ -1,269 +0,0 @@
|
||||
---
|
||||
phase: 01-rodo-cookie-consent
|
||||
plan: 01
|
||||
type: execute
|
||||
wave: 1
|
||||
depends_on: []
|
||||
files_modified:
|
||||
- wp-content/themes/body-relax/functions.php
|
||||
autonomous: false
|
||||
delegation: off
|
||||
---
|
||||
|
||||
<objective>
|
||||
## Goal
|
||||
Dokończyć integrację RODO: zablokować PixelYourSite (Facebook Pixel) gdy brak zgody oraz naprawić scenariusz powracającego użytkownika w Consent Mode v2.
|
||||
|
||||
## Purpose
|
||||
Audyt kodu wykazał:
|
||||
- `cookies.php` (Divi `header.php` linia 4, przed `wp_head()`) już ustawia Consent Mode v2 defaults (all denied) — AC-4 jest spełnione ✅
|
||||
- `googleConsentModeHandler()` w JS aktualizuje consent po `window.load` — działa dla nowych użytkowników ✅
|
||||
- **Problem 1:** dla powracających użytkowników (mają cookie `cnp_consent=true`) GTM czeka maks. 500ms (`wait_for_update`), a consent update przychodzi z JS po załadowaniu strony — ryzyko race condition na wolnych połączeniach ⚠️
|
||||
- **Problem 2:** PixelYourSite ładuje Facebook Pixel server-side (PHP), niezależnie od cookies zgody — nie honoruje `cnp_consent` ❌
|
||||
|
||||
Cookies ustawiane przez Cookie Notice Pro (Flerosoft jQuery plugin w `Divi/libs/CookieNoticePro/`):
|
||||
- `cnp_consent` = `"true"` (akceptacja) lub `"false"` (odmowa)
|
||||
- `cnp_prefs` = JSON URL-encoded, np. `["necessary","marketing","analytics"]`
|
||||
|
||||
## Output
|
||||
`wp-content/themes/body-relax/functions.php` — dodane dwie funkcje:
|
||||
1. Early consent update (wp_head priority 1) — PHP odczytuje `cnp_consent`/`cnp_prefs`, wywołuje `gtag('consent', 'update', ...)` przed snippetem GTM — eliminuje race condition
|
||||
2. PixelYourSite GDPR filter — granularnie blokuje pixele na podstawie kategorii zgody
|
||||
</objective>
|
||||
|
||||
<context>
|
||||
## Project Context
|
||||
@.paul/PROJECT.md
|
||||
|
||||
## Source Files
|
||||
@wp-content/themes/body-relax/functions.php
|
||||
@wp-content/themes/Divi/libs/CookieNoticePro/cookies.php
|
||||
@wp-content/themes/Divi/libs/CookieNoticePro/cookienoticepro.script.js
|
||||
@wp-content/themes/Divi/header.php
|
||||
@wp-content/plugins/pixelyoursite/includes/class-events-manager.php
|
||||
@wp-content/plugins/pixelyoursite/includes/functions-gdpr.php
|
||||
</context>
|
||||
|
||||
<acceptance_criteria>
|
||||
|
||||
## AC-1: Powracający użytkownik — brak race condition w Consent Mode
|
||||
```gherkin
|
||||
Given użytkownik ma cookie cnp_consent="true" i cnp_prefs zawierający "marketing","analytics"
|
||||
When strona się ładuje
|
||||
Then w <head> PRZED snippetem GTM pojawia się gtag('consent', 'update', {all: 'granted'})
|
||||
And GTM tagi śledzące mogą się uruchomić od razu (nie czekają na JS po window.load)
|
||||
```
|
||||
|
||||
## AC-2: Granularna blokada PixelYourSite
|
||||
```gherkin
|
||||
Given brak cookie cnp_consent lub cnp_consent="false"
|
||||
When PHP renderuje stronę
|
||||
Then PixelYourSite nie wstrzykuje kodu Facebook Pixel (fbq) na stronie
|
||||
```
|
||||
|
||||
## AC-3: Kategorie zgody honorowane przez PixelYourSite
|
||||
```gherkin
|
||||
Given cnp_consent="true" ale cnp_prefs NIE zawiera "marketing"
|
||||
When PHP renderuje stronę
|
||||
Then Facebook Pixel jest zablokowany (brak kategorii marketing)
|
||||
And jeśli cnp_prefs zawiera "analytics" — pixele analityczne działają
|
||||
```
|
||||
|
||||
## AC-4: Consent Mode v2 defaults — już działa, nie psuć
|
||||
```gherkin
|
||||
Given cookies.php jest includowany w header.php linia 4 (przed wp_head)
|
||||
When strona się ładuje
|
||||
Then gtag('consent', 'default', {all: 'denied'}) jest ustawione przed GTM — NIE ZMIENIAJ tego mechanizmu
|
||||
```
|
||||
|
||||
</acceptance_criteria>
|
||||
|
||||
<tasks>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 1: Early consent update dla powracających użytkowników</name>
|
||||
<files>wp-content/themes/body-relax/functions.php</files>
|
||||
<action>
|
||||
Dodaj na końcu pliku funkcję hookowaną do `wp_head` z priorytetem 1.
|
||||
|
||||
Cel: gdy użytkownik ma już cookie `cnp_consent=true`, PHP odczytuje je server-side
|
||||
i wstrzykuje `gtag('consent', 'update', ...)` PRZED snippetem GTM (GTM enqueuje się
|
||||
przez wp_head, który odpala hooki w kolejności priorytetów — nasz priority 1 jest pierwszy).
|
||||
|
||||
Dla nowych użytkowników (brak cookie) — funkcja nic nie robi, defaults z cookies.php wystarczą.
|
||||
|
||||
```php
|
||||
add_action( 'wp_head', 'szkolenia_consent_early_update', 1 );
|
||||
function szkolenia_consent_early_update() {
|
||||
$consent = isset( $_COOKIE['cnp_consent'] ) ? $_COOKIE['cnp_consent'] : '';
|
||||
if ( $consent !== 'true' ) {
|
||||
return; // Nowy użytkownik lub odmowa — defaults z cookies.php wystarczą
|
||||
}
|
||||
|
||||
$prefs = [];
|
||||
if ( isset( $_COOKIE['cnp_prefs'] ) ) {
|
||||
$decoded = json_decode( urldecode( $_COOKIE['cnp_prefs'] ), true );
|
||||
if ( is_array( $decoded ) ) {
|
||||
$prefs = $decoded;
|
||||
}
|
||||
}
|
||||
|
||||
$analytics = in_array( 'analytics', $prefs ) ? 'granted' : 'denied';
|
||||
$marketing = in_array( 'marketing', $prefs ) ? 'granted' : 'denied';
|
||||
?>
|
||||
<script>
|
||||
// Early consent update — powracający użytkownik (server-side cookie check)
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
if (typeof gtag !== 'function') { function gtag(){dataLayer.push(arguments);} }
|
||||
gtag('consent', 'update', {
|
||||
'analytics_storage': '<?php echo esc_js( $analytics ); ?>',
|
||||
'ad_storage': '<?php echo esc_js( $marketing ); ?>',
|
||||
'ad_user_data': '<?php echo esc_js( $marketing ); ?>',
|
||||
'ad_personalization': '<?php echo esc_js( $marketing ); ?>'
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
```
|
||||
|
||||
UWAGA: `cookies.php` (z Divi) już definiuje `dataLayer` i `gtag` — `if (typeof gtag !== 'function')` jest zabezpieczeniem na wypadek gdyby kolejność kiedyś się zmieniła. Nie usuwaj.
|
||||
UWAGA: Nie modyfikuj `cookies.php` ani żadnego pliku w `wp-content/themes/Divi/` ani `wp-content/plugins/`.
|
||||
UWAGA: Dodaj na końcu pliku, za istniejącym kodem.
|
||||
</action>
|
||||
<verify>
|
||||
1. `php -l wp-content/themes/body-relax/functions.php` — brak błędów
|
||||
2. W przeglądarce z cookie `cnp_consent=true` (ustaw ręcznie w DevTools): DevTools → Elements → `<head>` — szukaj `gtag('consent', 'update'` — powinno być PRZED skryptem GTM
|
||||
3. W przeglądarce bez cookie: brak `gtag('consent', 'update'` w źródle — tylko `gtag('consent', 'default'` z cookies.php
|
||||
</verify>
|
||||
<done>AC-1 spełnione: early consent update dla powracających użytkowników</done>
|
||||
</task>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 2: PixelYourSite GDPR filter z granularnymi kategoriami</name>
|
||||
<files>wp-content/themes/body-relax/functions.php</files>
|
||||
<action>
|
||||
Dodaj po Task 1 granularne filtry WordPress dla PixelYourSite.
|
||||
|
||||
PixelYourSite używa filtrów:
|
||||
- `pys_disable_by_gdpr` — blokuje WSZYSTKIE pixele (zwróć true = zablokuj)
|
||||
- `pys_disable_facebook_by_gdpr` — tylko Facebook Pixel
|
||||
- `pys_disable_analytics_by_gdpr` — tylko Google Analytics
|
||||
- `pys_disable_bing_by_gdpr` — tylko Microsoft/Bing Ads
|
||||
|
||||
Mapowanie kategorii Cookie Notice Pro → typy pikseli:
|
||||
- "marketing" → Facebook Pixel, Bing Ads
|
||||
- "analytics" → Google Analytics
|
||||
|
||||
```php
|
||||
add_filter( 'pys_disable_facebook_by_gdpr', 'szkolenia_pys_marketing_consent' );
|
||||
add_filter( 'pys_disable_bing_by_gdpr', 'szkolenia_pys_marketing_consent' );
|
||||
function szkolenia_pys_marketing_consent( $disabled ) {
|
||||
if ( $disabled ) return true;
|
||||
return ! szkolenia_cnp_has_preference( 'marketing' );
|
||||
}
|
||||
|
||||
add_filter( 'pys_disable_analytics_by_gdpr', 'szkolenia_pys_analytics_consent' );
|
||||
add_filter( 'pys_disable_google_ads_by_gdpr', 'szkolenia_pys_marketing_consent' );
|
||||
function szkolenia_pys_analytics_consent( $disabled ) {
|
||||
if ( $disabled ) return true;
|
||||
return ! szkolenia_cnp_has_preference( 'analytics' );
|
||||
}
|
||||
|
||||
function szkolenia_cnp_has_preference( $type ) {
|
||||
if ( ! isset( $_COOKIE['cnp_consent'] ) || $_COOKIE['cnp_consent'] !== 'true' ) {
|
||||
return false;
|
||||
}
|
||||
if ( ! isset( $_COOKIE['cnp_prefs'] ) ) {
|
||||
return false;
|
||||
}
|
||||
$prefs = json_decode( urldecode( $_COOKIE['cnp_prefs'] ), true );
|
||||
return is_array( $prefs ) && in_array( $type, $prefs, true );
|
||||
}
|
||||
```
|
||||
|
||||
UWAGA: Filtry `pys_disable_*_by_gdpr` zwracają `true` = zablokuj, `false` = pozwól.
|
||||
UWAGA: `szkolenia_cnp_has_preference` jest funkcją pomocniczą — zdefiniuj ją tylko raz.
|
||||
UWAGA: Nie dodawaj `pys_disable_by_gdpr` (globalnego) — granularne filtry są bardziej precyzyjne i nie zablokują Pinterest jeśli będzie potrzebny.
|
||||
</action>
|
||||
<verify>
|
||||
1. `php -l wp-content/themes/body-relax/functions.php` — brak błędów
|
||||
2. Tryb incognito (brak cookies): DevTools → Elements → Ctrl+F szukaj `fbq(` — NIE powinno być w źródle
|
||||
3. Z cookie `cnp_consent=true` i `cnp_prefs=["necessary","marketing","analytics"]` (URL-encoded, ustaw w DevTools): `fbq(` powinno być widoczne w źródle
|
||||
4. Z cookie `cnp_consent=true` i `cnp_prefs=["necessary","analytics"]` (bez marketing): `fbq(` NIE powinno być (marketing zablokowany)
|
||||
</verify>
|
||||
<done>AC-2 i AC-3 spełnione: PixelYourSite honoruje kategorię "marketing" i "analytics"</done>
|
||||
</task>
|
||||
|
||||
<task type="checkpoint:human-verify" gate="blocking">
|
||||
<what-built>
|
||||
Dwie funkcje w `wp-content/themes/body-relax/functions.php`:
|
||||
1. `szkolenia_consent_early_update()` — PHP early gtag update dla powracających użytkowników
|
||||
2. `szkolenia_pys_*_consent` filtry — granularna blokada PixelYourSite
|
||||
</what-built>
|
||||
<how-to-verify>
|
||||
**Test A — Nowy użytkownik (brak zgody):**
|
||||
1. Otwórz stronę w trybie incognito
|
||||
2. DevTools → Network: BRAK requestów do `facebook.com/tr`
|
||||
3. DevTools → Elements → `<head>`: widoczny `gtag('consent', 'default', {...denied...})` z cookies.php, brak `gtag('consent', 'update', ...)`
|
||||
4. DevTools → Elements: brak `fbq(` w kodzie strony
|
||||
|
||||
**Test B — Powracający użytkownik (pełna zgoda):**
|
||||
1. DevTools → Application → Cookies → dodaj:
|
||||
- `cnp_consent` = `true`
|
||||
- `cnp_prefs` = `%5B%22necessary%22%2C%22preferences%22%2C%22marketing%22%2C%22analytics%22%5D`
|
||||
2. Odśwież stronę (NIE incognito)
|
||||
3. DevTools → Elements → `<head>`: widoczny `gtag('consent', 'update', {all: 'granted'})` PRZED snippetem GTM
|
||||
4. DevTools → Elements: widoczny `fbq(` w kodzie strony
|
||||
|
||||
**Test C — Użytkownik zaakceptował tylko analitykę (bez marketingu):**
|
||||
1. Ustaw cookies: `cnp_consent=true`, `cnp_prefs=%5B%22necessary%22%2C%22analytics%22%5D`
|
||||
2. Odśwież
|
||||
3. DevTools → Elements: BRAK `fbq(` (Facebook zablokowany bo brak "marketing")
|
||||
4. `gtag('consent', 'update', {...})`: `analytics_storage: 'granted'`, `ad_storage: 'denied'`
|
||||
|
||||
**Test D — Kliknięcie "Akceptuj" w banerze:**
|
||||
1. Wyczyść cookies, odśwież stronę incognito — baner powinien się pojawić
|
||||
2. Kliknij "Akceptuj"
|
||||
3. Odśwież stronę — cookie `cnp_consent=true` powinno być ustawione
|
||||
4. Network tab: widoczne requesty Facebook Pixel
|
||||
</how-to-verify>
|
||||
<resume-signal>Wpisz "approved" jeśli wszystkie testy przeszły, lub opisz co nie działa</resume-signal>
|
||||
</task>
|
||||
|
||||
</tasks>
|
||||
|
||||
<boundaries>
|
||||
|
||||
## DO NOT CHANGE
|
||||
- wp-content/themes/Divi/* (w tym `libs/CookieNoticePro/cookies.php`, `header.php`) — Consent Mode v2 defaults już działają
|
||||
- wp-content/plugins/* (żadne pliki wtyczek)
|
||||
- wp-content/themes/body-relax/style.css
|
||||
- wp-content/themes/body-relax/divi-children-engine/*
|
||||
|
||||
## SCOPE LIMITS
|
||||
- Ten plan NIE konfiguruje GTM kontenera (tagi/triggery consent-aware) — osobna praca w GTM UI
|
||||
- Ten plan NIE zmienia konfiguracji Cookie Notice Pro (config w cookienoticepro.script.js)
|
||||
- Nie obsługuj Pinterest (`pys_disable_pinterest_by_gdpr`) — brak przesłanek że jest używany
|
||||
- Nie dodawaj error handling dla scenariuszy niemożliwych
|
||||
|
||||
</boundaries>
|
||||
|
||||
<verification>
|
||||
Przed oznaczeniem planu jako ukończony:
|
||||
- [ ] `php -l wp-content/themes/body-relax/functions.php` — brak błędów
|
||||
- [ ] Tryb incognito: brak `fbq(` i brak consent update w HTML
|
||||
- [ ] Cookie cnp_consent=true + prefs z marketing: `fbq(` w HTML i gtag update granted
|
||||
- [ ] Cookie cnp_consent=true + prefs BEZ marketing: brak `fbq(`
|
||||
- [ ] Checkpoint human-verify zaakceptowany
|
||||
</verification>
|
||||
|
||||
<success_criteria>
|
||||
- Wszystkie 3 AC spełnione (AC-4 był już OK przed planem)
|
||||
- Weryfikacja manualna przeszła (checkpoint approved)
|
||||
- Brak błędów PHP
|
||||
- Strona renderuje się normalnie, baner cookies działa
|
||||
</success_criteria>
|
||||
|
||||
<output>
|
||||
Po ukończeniu utwórz `.paul/phases/01-rodo-cookie-consent/01-01-SUMMARY.md`
|
||||
</output>
|
||||
@@ -1,135 +0,0 @@
|
||||
---
|
||||
phase: 01-rodo-cookie-consent
|
||||
plan: 01
|
||||
subsystem: tracking
|
||||
tags: [gdpr, rodo, facebook-pixel, google-consent-mode, pixelyoursite, hfcm, wordpress]
|
||||
|
||||
requires: []
|
||||
provides:
|
||||
- Facebook Pixel zablokowany bez zgody marketingowej (fbq noop)
|
||||
- Google Consent Mode v2 early update dla powracających użytkowników
|
||||
- PixelYourSite granularne filtry GDPR (marketing/analytics)
|
||||
affects: []
|
||||
|
||||
tech-stack:
|
||||
added: []
|
||||
patterns:
|
||||
- "wp_unslash() przed json_decode($_COOKIE) w WordPress — wp_magic_quotes() stosuje addslashes na cookies"
|
||||
- "fbq noop pattern — window.fbq = function(){} na wp_head priority 1 blokuje wszystkie źródła pixela"
|
||||
|
||||
key-files:
|
||||
created: []
|
||||
modified:
|
||||
- wp-content/themes/Divi/functions.php
|
||||
|
||||
key-decisions:
|
||||
- "fbq noop zamiast remove_action — universalne, niezależne od źródła pixela"
|
||||
- "wp_unslash() wymagane przy odczycie $_COOKIE w WordPress 6.x"
|
||||
- "Divi/functions.php zamiast body-relax/functions.php — motyw aktywnie deploywany"
|
||||
|
||||
patterns-established:
|
||||
- "Odczyt cookie w WordPress: wp_unslash() + urldecode() + json_decode()"
|
||||
|
||||
duration: ~4h
|
||||
started: 2026-04-26T20:00:00Z
|
||||
completed: 2026-04-27T00:45:00Z
|
||||
---
|
||||
|
||||
# Phase 1 Plan 01: Google Consent Mode v2 + Facebook Pixel GDPR — Summary
|
||||
|
||||
**fbq noop + PYS filtry + early consent update wdrożone w Divi/functions.php; Facebook Pixel nie odpala bez zgody marketingowej, Consent Mode v2 działa poprawnie dla nowych i powracających użytkowników.**
|
||||
|
||||
## Performance
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Duration | ~4h |
|
||||
| Started | 2026-04-26 |
|
||||
| Completed | 2026-04-27 |
|
||||
| Tasks | 2 auto + 1 checkpoint |
|
||||
| Files modified | 1 |
|
||||
|
||||
## Acceptance Criteria Results
|
||||
|
||||
| Criterion | Status | Notes |
|
||||
|-----------|--------|-------|
|
||||
| AC-1: Powracający użytkownik — brak race condition | Pass | `szkolenia_consent_early_update` na wp_head priority 1, gtag update PRZED GTM |
|
||||
| AC-2: Granularna blokada PixelYourSite | Pass | `pys_disable_facebook_by_gdpr` → `facebook_disabled_by_api: true` w pysOptions |
|
||||
| AC-3: Kategorie zgody honorowane | Pass | fbq noop gdy brak "marketing", PYS filtry per-kategoria |
|
||||
| AC-4: Consent Mode v2 defaults nie naruszone | Pass | cookies.php w header.php linia 4 bez zmian |
|
||||
|
||||
## Accomplishments
|
||||
|
||||
- Zablokowany Facebook Pixel we wszystkich 3 źródłach: HFCM (snippet w DB), PixelYourSite, woo-product-feed-pro
|
||||
- `gtag('consent', 'update')` emitowany server-side przed GTM dla powracających użytkowników (eliminacja race condition)
|
||||
- Odkryto i naprawiono: WordPress `wp_magic_quotes()` stosuje `addslashes()` na `$_COOKIE` — wymagane `wp_unslash()`
|
||||
|
||||
## Files Created/Modified
|
||||
|
||||
| File | Change | Purpose |
|
||||
|------|--------|---------|
|
||||
| `wp-content/themes/Divi/functions.php` | Modified (dodano ~70 linii po 8883) | RODO: fbq noop + consent update + PYS filtry + woosea blokada |
|
||||
|
||||
## Decisions Made
|
||||
|
||||
| Decision | Rationale | Impact |
|
||||
|----------|-----------|--------|
|
||||
| fbq noop zamiast remove_action | remove_action na HFCM statyczną metodę nie działał niezawodnie | Universalna blokada niezależna od źródła pixela |
|
||||
| Divi/functions.php (nie body-relax) | Pliki są deployowane przez FTP — Divi jest aktywnym tematem deploywanych plików | Kod działa na serwerze produkcyjnym |
|
||||
| wp_unslash() przy odczycie cookies | WP 6.x `wp_magic_quotes()` stosuje addslashes na $_COOKIE; json_decode na backslash-quoted JSON zwraca null | Poprawny odczyt kategorii zgody |
|
||||
|
||||
## Deviations from Plan
|
||||
|
||||
### Summary
|
||||
|
||||
| Type | Count | Impact |
|
||||
|------|-------|--------|
|
||||
| Auto-fixed | 3 | Istotne — bez nich pixel nadal by odpalał |
|
||||
| Scope additions | 1 | Niezbędne odkrycie (wp_unslash) |
|
||||
| Deferred | 0 | — |
|
||||
|
||||
### Auto-fixed Issues
|
||||
|
||||
**1. Zły plik docelowy**
|
||||
- **Found during:** Task 1
|
||||
- **Issue:** Kod dodany do `body-relax/functions.php` zamiast `Divi/functions.php`
|
||||
- **Fix:** Przeniesienie kodu do `Divi/functions.php`
|
||||
- **Verification:** Kod działa na serwerze
|
||||
|
||||
**2. Dodatkowe źródło fbq — woo-product-feed-pro**
|
||||
- **Found during:** Checkpoint verify
|
||||
- **Issue:** Plugin AdTribes ma własny pixel hooked do wp_footer bez consent check
|
||||
- **Fix:** Dodano `szkolenia_block_woosea_facebook_pixel` na wp_footer priority 1
|
||||
- **Verification:** remove_action działa prawidłowo dla tej funkcji
|
||||
|
||||
**3. Główne źródło fbq — HFCM (nie PYS)**
|
||||
- **Found during:** Debugowanie
|
||||
- **Issue:** Pixel w snippecie HFCM (DB) ignorował remove_action; WordPress addslashes na cookies łamał json_decode
|
||||
- **Fix:** fbq noop na wp_head priority 1 + wp_unslash() w szkolenia_cnp_has_preference
|
||||
- **Verification:** Playwright — fbqIsRealOrNoop=NOOP bez cookies, REAL z pełną zgodą
|
||||
|
||||
## Issues Encountered
|
||||
|
||||
| Issue | Resolution |
|
||||
|-------|------------|
|
||||
| PYS `cookie_notice_integration_enabled: false` — brak integracji z Cookie Notice Pro (niestandardowy plugin) | PHP filtry `pys_disable_*_by_gdpr` zamiast natywnej integracji |
|
||||
| WordPress `wp_magic_quotes()` — `addslashes()` na `$_COOKIE` | `wp_unslash()` przed `json_decode()` |
|
||||
| HFCM `remove_action` nieskuteczny dla statycznej metody podczas wp_head | fbq noop — definicja window.fbq = function(){} przed wszystkimi skryptami |
|
||||
|
||||
## Next Phase Readiness
|
||||
|
||||
**Ready:**
|
||||
- RODO compliance dla Facebook Pixel, GA, Bing Ads — wdrożone
|
||||
- Consent Mode v2 defaults + early update działają
|
||||
- Wzorzec odczytu cookies z wp_unslash() udokumentowany
|
||||
|
||||
**Concerns:**
|
||||
- GTM container (tagi/triggery consent-aware) — nie skonfigurowane, poza scope planu
|
||||
- Testy na realnym urządzeniu z prawdziwym kliknięciem banera — niezrobione (plan zakłada checkpoint human-verify)
|
||||
|
||||
**Blockers:**
|
||||
- Brak
|
||||
|
||||
---
|
||||
*Phase: 01-rodo-cookie-consent, Plan: 01*
|
||||
*Completed: 2026-04-27*
|
||||
217
.paul/plans/20260519-2336-cookienoticepro-dostosuj/PLAN.md
Normal file
217
.paul/plans/20260519-2336-cookienoticepro-dostosuj/PLAN.md
Normal file
@@ -0,0 +1,217 @@
|
||||
---
|
||||
plan_id: 20260519-2336-cookienoticepro-dostosuj
|
||||
title: CookieNoticePro — przycisk "Odrzuć" → "Dostosuj", "Akceptuj" → "Zatwierdź" po rozwinięciu listy
|
||||
storage: plan-first
|
||||
legacy_phase: null
|
||||
created: 2026-05-19T23:36:00+02:00
|
||||
status: planned
|
||||
type: execute
|
||||
autonomous: false
|
||||
delegation: auto
|
||||
files_modified:
|
||||
- wp-content/themes/Divi/libs/CookieNoticePro/cookienoticepro.script.js
|
||||
- wp-content/themes/Divi/functions.php
|
||||
quality_radar: degraded
|
||||
---
|
||||
|
||||
<objective>
|
||||
## Goal
|
||||
Zmienić zachowanie i etykiety bannera cookies CookieNoticePro tak, aby naśladował wzorzec dwustopniowej zgody (jak na https://pomysloweprezenty.pl):
|
||||
- przycisk dotychczas „Odrzuć" (`#cookieReject`) ma nazywać się „Dostosuj" i po kliknięciu rozwijać listę kategorii „Wybierz pliki cookies do akceptacji",
|
||||
- przycisk „Akceptuj" (`#cookieAccept`) ma zmieniać nazwę na „Zatwierdź", gdy lista kategorii jest widoczna.
|
||||
|
||||
## Purpose
|
||||
Ujednolicić UX zgody na cookies z oczekiwanym wzorcem rynkowym i ułatwić użytkownikom świadomy wybór kategorii. Brak jawnego „Odrzuć" — odrzucenie = odznaczenie kategorii + „Zatwierdź" (kategorie niezbędne pozostają zawsze).
|
||||
|
||||
## Output
|
||||
Zmodyfikowany `cookienoticepro.script.js` (etykiety w `config` + handlery `#cookieReject` i `#cookieSettings`) oraz bump wersji skryptu w `Divi/functions.php` dla cache-bustingu.
|
||||
</objective>
|
||||
|
||||
<context>
|
||||
## Project Docs
|
||||
@.paul/PROJECT.md
|
||||
@.paul/STATE.md
|
||||
@.paul/codebase/architecture.md
|
||||
@.paul/codebase/integrations.md
|
||||
@.paul/codebase/impact_map.md
|
||||
@.paul/codebase/quality_risks.md
|
||||
|
||||
## Source Files
|
||||
@wp-content/themes/Divi/libs/CookieNoticePro/cookienoticepro.script.js
|
||||
@wp-content/themes/Divi/functions.php
|
||||
</context>
|
||||
|
||||
<clarifications>
|
||||
Potwierdzone z użytkownikiem (2026-05-19):
|
||||
1. **Zostawić oba „Dostosuj"** — istniejący link `#cookieSettings` (ikona zębatki, etykieta `settingsBtnLabel: "Dostosuj"`) pozostaje; przycisk dawniej „Odrzuć" również staje się „Dostosuj". Oba rozwijają listę kategorii.
|
||||
2. **Bez jawnego „Odrzuć"** — odrzucenie realizowane przez odznaczenie kategorii i kliknięcie „Zatwierdź". Kategorie niezbędne (necessary) zawsze zapisane.
|
||||
3. **Edycja w miejscu** w motywie Divi; przeniesienie modułu do `body-relax` odłożone (ryzyko R1 — patrz `<impact_scan>`).
|
||||
|
||||
Referencja wzorca: https://pomysloweprezenty.pl.
|
||||
</clarifications>
|
||||
|
||||
<impact_scan>
|
||||
## Quality Radar
|
||||
|
||||
**Status:** degraded
|
||||
**Tools:** codebase-memory-mcp dostępne, ale graf nie zbudowany (repo = pełna instalacja WordPress); jscpd/ast-grep wyłączone polityką (`config.md`). Skan zakresu wykonany ręcznie (odczyt plików + grep).
|
||||
|
||||
## Affected Areas
|
||||
- **RODO / cookies / tracking** — `wp-content/themes/Divi/libs/CookieNoticePro/cookienoticepro.script.js` (config etykiet + handlery przycisków bannera).
|
||||
- **Ładowanie skryptu** — `wp-content/themes/Divi/functions.php` (`enqueue_custom_script`, wersja `own-custom-script`).
|
||||
- **Inicjalizacja** — `Divi/libs/CookieNoticePro/cookies.php` (włączany w `Divi/header.php`); NIE wymaga zmian (tylko `init()` + gtag default).
|
||||
|
||||
## Hidden coupling
|
||||
- Zapis zgody opiera się na ciasteczkach `cnp_consent` / `cnp_prefs`; helper PHP `szkolenia_cnp_has_preference()` w `Divi/functions.php` czyta te same ciasteczka. Format zapisu (`encodeURIComponent(JSON.stringify(prefs))`) NIE może się zmienić — inaczej złamiemy warstwę RODO (`szkolenia_*`, PixelYourSite, GTM). Logika tej zmiany dotyka tylko UI/etykiet, nie formatu zapisu.
|
||||
- Wartości kategorii (`preferences`/`marketing`/`analytics`) i nazwy ciasteczek są oznaczone „DO NOT EDIT" — pozostają nietknięte.
|
||||
|
||||
## Duplicate / Hardcoded Risks
|
||||
- Dwa elementy „Dostosuj" (`#cookieSettings` + dawny `#cookieReject`) — świadoma decyzja użytkownika, nie traktujemy jako duplikat do usunięcia. Aby uniknąć rozjazdu logiki, oba korzystają z tej samej ścieżki otwierania listy (Task 2 wydziela wspólne zachowanie).
|
||||
|
||||
## Explicit Deferrals
|
||||
- **R1 (krytyczne, odłożone):** cały moduł CookieNoticePro żyje w motywie nadrzędnym Divi i zostanie nadpisany przy aktualizacji Divi. Zgodnie z decyzją użytkownika edytujemy w miejscu; przeniesienie do `body-relax` to osobny plan. Odnotowane w `quality_risks.md` (R1).
|
||||
</impact_scan>
|
||||
|
||||
<skills>
|
||||
Brak SPECIAL-FLOWS.md — sekcja skills pominięta.
|
||||
</skills>
|
||||
|
||||
<acceptance_criteria>
|
||||
|
||||
## AC-1: Etykieta przycisku odrzucenia zmieniona na „Dostosuj"
|
||||
```gherkin
|
||||
Given użytkownik bez zapisanej zgody (brak ciasteczka cnp_consent)
|
||||
When banner cookies się pojawia
|
||||
Then przycisk w obszarze przycisków (dawniej "Odrzuć", #cookieReject) wyświetla tekst "Dostosuj"
|
||||
And nie istnieje żaden przycisk z napisem "Odrzuć"
|
||||
```
|
||||
|
||||
## AC-2: Kliknięcie „Dostosuj" rozwija listę kategorii
|
||||
```gherkin
|
||||
Given widoczny banner cookies z ukrytą listą kategorii (#cookieTypes)
|
||||
When użytkownik klika przycisk "Dostosuj" (#cookieReject)
|
||||
Then sekcja "Wybierz pliki cookies do akceptacji" (#cookieTypes) staje się widoczna
|
||||
And kategorie niewymagane są edytowalne (data-compulsory="off")
|
||||
```
|
||||
|
||||
## AC-3: „Akceptuj" zmienia się na „Zatwierdź" przy widocznej liście
|
||||
```gherkin
|
||||
Given banner cookies
|
||||
When lista kategorii (#cookieTypes) jest widoczna (po kliknięciu dowolnego "Dostosuj": #cookieReject lub #cookieSettings)
|
||||
Then przycisk #cookieAccept wyświetla "Zatwierdź"
|
||||
When lista kategorii zostaje ponownie ukryta (toggle #cookieSettings)
|
||||
Then przycisk #cookieAccept wyświetla ponownie "Akceptuj"
|
||||
```
|
||||
|
||||
## AC-4: „Zatwierdź" zapisuje tylko zaznaczone kategorie (odrzucenie = odznacz + zatwierdź)
|
||||
```gherkin
|
||||
Given lista kategorii widoczna, użytkownik odznaczył "Reklama" i "Analityka", "Funkcjonalne" zaznaczone
|
||||
When użytkownik klika "Zatwierdź" (#cookieAccept)
|
||||
Then ciasteczko cnp_prefs zawiera necessary + preferences (bez marketing/analytics)
|
||||
And ciasteczko cnp_consent = true
|
||||
And Google Consent Mode (gtag) odzwierciedla wybór (ad_storage/analytics_storage zgodnie z zaznaczeniem)
|
||||
And format zapisu cnp_prefs pozostaje encodeURIComponent(JSON.stringify(prefs)) — niezmieniony
|
||||
```
|
||||
|
||||
## AC-5: Istniejący link „Dostosuj" (zębatka) działa bez zmian funkcjonalnych
|
||||
```gherkin
|
||||
Given banner cookies
|
||||
When użytkownik klika link #cookieSettings (ikona zębatki, "Dostosuj")
|
||||
Then lista kategorii przełącza widoczność (toggle) jak dotychczas
|
||||
And etykieta #cookieAccept synchronizuje się z widocznością listy (AC-3)
|
||||
```
|
||||
|
||||
</acceptance_criteria>
|
||||
|
||||
<tasks>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 1: Zmiana etykiet w config (Odrzuć→Dostosuj, nowa etykieta Zatwierdź)</name>
|
||||
<files>wp-content/themes/Divi/libs/CookieNoticePro/cookienoticepro.script.js</files>
|
||||
<action>
|
||||
W obiekcie `config` (sekcja "CONFIG OR SETTINGS", linie ~28-84):
|
||||
- Zmień `declineInfoBtnLabel: "Odrzuć"` → `declineInfoBtnLabel: "Dostosuj"`.
|
||||
- Dodaj nowy klucz `confirmBtnLabel: "Zatwierdź"` (np. tuż pod `acceptBtnLabel`).
|
||||
- NIE zmieniaj: `acceptBtnLabel: "Akceptuj"`, `settingsBtnLabel: "Dostosuj"`, `cookieTypesTitle: "Wybierz pliki cookies do akceptacji"`, ani wartości `cookieTypes[].value`.
|
||||
</action>
|
||||
<verify>grep potwierdza `declineInfoBtnLabel: "Dostosuj"` oraz `confirmBtnLabel: "Zatwierdź"`; brak stringu "Odrzuć" w pliku.</verify>
|
||||
<done>AC-1</done>
|
||||
</task>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 2: Przebudowa handlera #cookieReject — otwarcie listy zamiast odrzucenia</name>
|
||||
<files>wp-content/themes/Divi/libs/CookieNoticePro/cookienoticepro.script.js</files>
|
||||
<action>
|
||||
Zastąp dotychczasowy handler `$("body").on("click", "#cookieReject", ...)` (linie ~183-192, logika hideCookieBanner(false)+kasowanie prefs) zachowaniem otwierającym listę kategorii i przełączającym etykietę akceptacji:
|
||||
- Jeśli `#cookieTypes` jest ukryty: ustaw na niewyłączonych checkboxach `data-compulsory="off"` i `checked = config.allCheckboxesChecked`, następnie `slideDown("fast")` listę (analogicznie do gałęzi otwierającej w handlerze #cookieSettings).
|
||||
- Ustaw `$("#cookieAccept").text(config.confirmBtnLabel)`.
|
||||
- NIE wywołuj `hideCookieBanner` ani nie kasuj cnp_prefs (rezygnujemy z jawnego odrzucenia).
|
||||
Uwaga: nie usuwaj `off("click", "#cookieReject")` w `hideCookieBanner` — pozostaje bezpieczne (no-op po ukryciu bannera).
|
||||
</action>
|
||||
<verify>Manualnie: kliknięcie "Dostosuj" pokazuje #cookieTypes; #cookieAccept pokazuje "Zatwierdź". Brak wywołania hideCookieBanner(false) w handlerze.</verify>
|
||||
<done>AC-2, AC-3 (ścieżka #cookieReject), AC-4 (data-compulsory="off" umożliwia zapis tylko zaznaczonych)</done>
|
||||
</task>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 3: Synchronizacja etykiety #cookieAccept w handlerze #cookieSettings</name>
|
||||
<files>wp-content/themes/Divi/libs/CookieNoticePro/cookienoticepro.script.js</files>
|
||||
<action>
|
||||
W handlerze `$("body").on("click", "#cookieSettings", ...)` (linie ~167-179):
|
||||
- Gałąź `event === "open"` (slideDown): ta gałąź NIE ma callbacku — ustaw `$("#cookieAccept").text(config.confirmBtnLabel)` synchronicznie tuż PO wywołaniu `slideDown(...)` (nie wewnątrz callbacku). Uwaga na ścieżkę reopen przez floating icon: banner jest przebudowywany, więc `#cookieAccept` startuje z `acceptBtnLabel` z templatu i ten zapis przepisuje go na "Zatwierdź".
|
||||
- Gałąź else (toggle): w callbacku `toggle("fast", function(){...})` ustaw etykietę na podstawie widoczności:
|
||||
`$("#cookieAccept").text($("#cookieTypes").is(":visible") ? config.confirmBtnLabel : config.acceptBtnLabel);`
|
||||
Dzięki temu oba „Dostosuj" oraz ponowne ukrycie listy poprawnie zmieniają tekst przycisku akceptacji.
|
||||
</action>
|
||||
<verify>Manualnie: klik zębatki pokazuje listę → "Zatwierdź"; ponowny klik ukrywa listę → "Akceptuj".</verify>
|
||||
<done>AC-3 (ścieżka #cookieSettings), AC-5</done>
|
||||
</task>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 4: Bump wersji skryptu dla cache-bustingu</name>
|
||||
<files>wp-content/themes/Divi/functions.php</files>
|
||||
<action>
|
||||
W `enqueue_custom_script()` (linia ~8867) zmień wersję uchwytu `own-custom-script` z `'1.0'` na `'1.1'`, aby przeglądarki pobrały nowy `cookienoticepro.script.js`. Nie zmieniaj pozostałych enqueue (style, custom-script) — CSS nie jest modyfikowany.
|
||||
</action>
|
||||
<verify>grep: `wp_enqueue_script('own-custom-script', ..., array('jquery'), '1.1', true)`.</verify>
|
||||
<done>Wsparcie AC-1..AC-5 (gwarancja załadowania nowej wersji na produkcji).</done>
|
||||
</task>
|
||||
|
||||
</tasks>
|
||||
|
||||
<boundaries>
|
||||
## Do Not Change
|
||||
- Nazwy ciasteczek: `cnp_consent`, `cnp_prefs`, `cnp_gconsent_ad_prefs`, `cnp_gconsent_analytics_storage`.
|
||||
- Wartości kategorii w `cookieTypes[].value` (`preferences`, `marketing`, `analytics`) oraz `necessary`.
|
||||
- Format zapisu prefs: `encodeURIComponent(JSON.stringify(prefs))` — musi pozostać kompatybilny z `szkolenia_cnp_has_preference()` w `Divi/functions.php`.
|
||||
- Logika Google Consent Mode (`googleConsentModeHandler`, `gtag('consent', ...)`).
|
||||
- Bloki RODO `szkolenia_*` w `Divi/functions.php` (linie ~8886-8974) — nietykane.
|
||||
- `cookies.php`, `index.html`, `custom-code.js` — nie modyfikujemy.
|
||||
- Istniejący link `#cookieSettings` ("Dostosuj" z zębatką) pozostaje (decyzja użytkownika: zostawić oba).
|
||||
|
||||
## Scope Limits
|
||||
- Tylko etykiety i zachowanie przycisków bannera + jeden bump wersji enqueue.
|
||||
- NIE przenosimy modułu do child theme `body-relax` (ryzyko R1 odłożone do osobnego planu).
|
||||
- Brak zmian w CSS, chyba że okaże się to konieczne dla czytelności (wtedy dodatkowy bump wersji stylu i odnotowanie w SUMMARY).
|
||||
</boundaries>
|
||||
|
||||
<verification>
|
||||
- [ ] grep: brak "Odrzuć"; obecne `declineInfoBtnLabel: "Dostosuj"` i `confirmBtnLabel: "Zatwierdź"`.
|
||||
- [ ] grep: `own-custom-script` wersja `'1.1'`.
|
||||
- [ ] Manualnie (wyczyść ciasteczka cnp_*, odśwież): banner pokazuje "Akceptuj" + "Dostosuj"; klik "Dostosuj" rozwija "Wybierz pliki cookies do akceptacji"; "Akceptuj"→"Zatwierdź".
|
||||
- [ ] Manualnie: odznacz "Reklama"+"Analityka", "Zatwierdź" → cnp_prefs bez marketing/analytics; gtag consent update poprawny (DevTools → Application/Cookies + Network/dataLayer).
|
||||
- [ ] Manualnie: link zębatki #cookieSettings nadal przełącza listę i synchronizuje etykietę; reopen przez floating icon pokazuje "Zatwierdź".
|
||||
- [ ] Test integracji RODO/PHP: po "Zatwierdź" z odznaczonym "Reklama" sprawdź, że `window.fbq` pozostaje noop (czyli `szkolenia_block_fbq_noop` w `Divi/functions.php` zadziałało) — twardy dowód, że format `cnp_prefs` nie został złamany.
|
||||
- [ ] Manualnie: kategoria "Wymagane" (necessary, disabled) zawsze obecna w cnp_prefs po "Zatwierdź".
|
||||
- [ ] Quality Radar: ryzyko R1 (edycja w Divi) odnotowane jako świadoma decyzja/odłożenie.
|
||||
</verification>
|
||||
|
||||
<success_criteria>
|
||||
- [ ] Wszystkie AC-1..AC-5 spełnione (weryfikacja manualna w przeglądarce).
|
||||
- [ ] Format zapisu zgody niezmieniony — warstwa RODO `szkolenia_*` działa dalej.
|
||||
- [ ] Wersja skryptu podbita (cache-busting).
|
||||
- [ ] SUMMARY.md uzupełnione po APPLY; jeśli ruszono CSS — odnotowane + bump wersji stylu.
|
||||
</success_criteria>
|
||||
|
||||
<output>
|
||||
SUMMARY.md path: `.paul/plans/20260519-2336-cookienoticepro-dostosuj/SUMMARY.md`
|
||||
</output>
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
plan_id: 20260519-2336-cookienoticepro-dostosuj
|
||||
title: CookieNoticePro — przycisk "Odrzuć" → "Dostosuj", "Akceptuj" → "Zatwierdź" po rozwinięciu listy
|
||||
completed: 2026-05-19T23:45:00+02:00
|
||||
storage: plan-first
|
||||
quality_radar: degraded
|
||||
---
|
||||
|
||||
# Summary: CookieNoticePro — "Odrzuć" → "Dostosuj", "Akceptuj" → "Zatwierdź"
|
||||
|
||||
## Objective
|
||||
Zmiana zachowania bannera cookies CookieNoticePro wg wzorca dwustopniowej zgody: przycisk dawniej "Odrzuć" zmienia nazwę na "Dostosuj" i rozwija listę kategorii; przycisk "Akceptuj" zmienia się na "Zatwierdź", gdy lista kategorii jest widoczna. Bez jawnego "Odrzuć" (odrzucenie = odznaczenie kategorii + "Zatwierdź").
|
||||
|
||||
## What Was Built
|
||||
|
||||
| Area | Result |
|
||||
|------|--------|
|
||||
| Etykiety przycisków | `declineInfoBtnLabel` "Odrzuć"→"Dostosuj", dodano `confirmBtnLabel: "Zatwierdź"`; `acceptBtnLabel`/`settingsBtnLabel` bez zmian |
|
||||
| Handler `#cookieReject` | Rozwija listę kategorii (`#cookieTypes`) zamiast odrzucać; ustawia `data-compulsory="off"` i etykietę "Zatwierdź" |
|
||||
| Handler `#cookieSettings` (zębatka) | Synchronizuje etykietę `#cookieAccept` ("Akceptuj"/"Zatwierdź") z widocznością listy; oba "Dostosuj" działają |
|
||||
| Cache-busting | Wersja enqueue `own-custom-script` `1.0` → `1.1` |
|
||||
|
||||
## Files Modified
|
||||
|
||||
- `wp-content/themes/Divi/libs/CookieNoticePro/cookienoticepro.script.js` — config etykiet + przebudowa handlerów `#cookieReject` i `#cookieSettings` (+21/-? linii).
|
||||
- `wp-content/themes/Divi/functions.php` — bump wersji skryptu w `enqueue_custom_script()` (linia 8867).
|
||||
|
||||
## Acceptance Criteria Results
|
||||
|
||||
| Criterion | Status | Evidence |
|
||||
|-----------|--------|----------|
|
||||
| AC-1: "Odrzuć" → "Dostosuj" | Pass (kod) | grep: `declineInfoBtnLabel: "Dostosuj"`; "Odrzuć" tylko w komentarzu |
|
||||
| AC-2: klik "Dostosuj" rozwija listę | Pass (kod) / oczekuje UAT | Handler `#cookieReject` wykonuje `slideDown` `#cookieTypes` |
|
||||
| AC-3: "Akceptuj" → "Zatwierdź" przy widocznej liście | Pass (kod) / oczekuje UAT | `$("#cookieAccept").text(...)` w obu handlerach (linie 174, 179, 192) |
|
||||
| AC-4: "Zatwierdź" zapisuje tylko zaznaczone | Pass (kod) / oczekuje UAT | `data-compulsory="off"` na niewymaganych; format zapisu prefs niezmieniony |
|
||||
| AC-5: link zębatki nadal działa | Pass (kod) / oczekuje UAT | Handler `#cookieSettings` zachowany + synchronizacja etykiety |
|
||||
|
||||
> Statusy "kod" potwierdzone statycznie; pełne PASS wymaga manualnego UAT w przeglądarce (żywy WordPress, brak lokalnego dev-serwera).
|
||||
|
||||
## Verification Results
|
||||
|
||||
| Check | Result | Notes |
|
||||
|-------|--------|-------|
|
||||
| `node --check cookienoticepro.script.js` | Pass | Brak błędów składni JS |
|
||||
| `grep "Odrzuć"` | Pass | Występuje tylko w komentarzu, brak w UI |
|
||||
| `grep own-custom-script` | Pass | Wersja `'1.1'` |
|
||||
| `git diff --stat` | Pass | Zmienione tylko 2 zaplanowane pliki |
|
||||
| UAT w przeglądarce (AC-2/3/4/5 + `fbq` noop) | Skipped | Niewykonalne z CLI — do ręcznego sprawdzenia |
|
||||
|
||||
## Quality Radar Results
|
||||
|
||||
**Status:** degraded (graf codebase-memory-mcp nie zbudowany — repo = pełna instalacja WordPress; jscpd/ast-grep wyłączone polityką).
|
||||
|
||||
- New risks: brak.
|
||||
- Resolved risks: brak (zmiana nie dotyka R1-R7).
|
||||
- Deferred risks: **R1** — moduł CookieNoticePro nadal w motywie nadrzędnym Divi; aktualizacja Divi nadpisze zmiany. Przeniesienie do `body-relax` to osobny plan.
|
||||
- Raw outputs: `.paul/codebase/radar/codebase-memory-post-apply.txt`.
|
||||
|
||||
## Deviations
|
||||
|
||||
- Brak. Wszystkie 4 zadania wykonane zgodnie z planem (inline zamiast delegacji — uzasadnione: 3 z 4 zadań edytują ten sam plik, brak możliwości równoległości; pełny kontekst już w sesji).
|
||||
|
||||
## Key Decisions / Patterns
|
||||
|
||||
- Oba elementy "Dostosuj" (`#cookieSettings` zębatka + dawny `#cookieReject`) pozostają — decyzja użytkownika; wspólna ścieżka otwierania listy zapobiega rozjazdowi logiki.
|
||||
- Brak jawnego "Odrzuć" — odrzucenie realizowane przez odznaczenie kategorii + "Zatwierdź"; kategorie niezbędne (necessary, disabled) zawsze zapisane.
|
||||
- Format zapisu zgody `encodeURIComponent(JSON.stringify(prefs))` nietknięty → warstwa RODO `szkolenia_*` (blokada Facebook Pixel, GTM, PixelYourSite) działa dalej.
|
||||
|
||||
## Follow-up
|
||||
|
||||
- **UAT przed wdrożeniem:** wyczyść ciasteczka `cnp_*`, odśwież, sprawdź: banner pokazuje "Akceptuj"+"Dostosuj"; klik "Dostosuj" rozwija "Wybierz pliki cookies do akceptacji"; "Akceptuj"→"Zatwierdź"; po odznaczeniu "Reklama"+"Zatwierdź" `window.fbq` pozostaje noop.
|
||||
- **Deployment:** wgrać przez FTP `cookienoticepro.script.js` i `Divi/functions.php`.
|
||||
- **Kolejny plan (R1):** przeniesienie modułu CookieNoticePro + bloków `szkolenia_*` z Divi do child theme `body-relax`.
|
||||
@@ -1,4 +0,0 @@
|
||||
[ 1958ms] [LOG] PixelYourSite Free version 9.4.7.1 @ https://www.szkoleniauryzaj.pl/:86
|
||||
[ 2084ms] [LOG] JQMIGRATE: Migrate is installed, version 3.3.2 @ https://www.szkoleniauryzaj.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2:1
|
||||
[ 2434ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/natural-fillet.jpg:0
|
||||
[ 2434ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/puff-pastry.jpg:0
|
||||
@@ -1,4 +0,0 @@
|
||||
[ 1064ms] [LOG] PixelYourSite Free version 9.4.7.1 @ https://www.szkoleniauryzaj.pl/:86
|
||||
[ 1090ms] [LOG] JQMIGRATE: Migrate is installed, version 3.3.2 @ https://www.szkoleniauryzaj.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2:1
|
||||
[ 1256ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/puff-pastry.jpg:0
|
||||
[ 1256ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/natural-fillet.jpg:0
|
||||
@@ -1,4 +0,0 @@
|
||||
[ 1609ms] [LOG] PixelYourSite Free version 9.4.7.1 @ https://www.szkoleniauryzaj.pl/:86
|
||||
[ 1619ms] [LOG] JQMIGRATE: Migrate is installed, version 3.3.2 @ https://www.szkoleniauryzaj.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2:1
|
||||
[ 1725ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/puff-pastry.jpg:0
|
||||
[ 1725ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/natural-fillet.jpg:0
|
||||
@@ -1,4 +0,0 @@
|
||||
[ 1419ms] [LOG] PixelYourSite Free version 9.4.7.1 @ https://www.szkoleniauryzaj.pl/:86
|
||||
[ 1426ms] [LOG] JQMIGRATE: Migrate is installed, version 3.3.2 @ https://www.szkoleniauryzaj.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2:1
|
||||
[ 1487ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/natural-fillet.jpg:0
|
||||
[ 1487ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/puff-pastry.jpg:0
|
||||
@@ -1,4 +0,0 @@
|
||||
[ 1463ms] [LOG] PixelYourSite Free version 9.4.7.1 @ https://www.szkoleniauryzaj.pl/?nocache=1:86
|
||||
[ 1470ms] [LOG] JQMIGRATE: Migrate is installed, version 3.3.2 @ https://www.szkoleniauryzaj.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2:1
|
||||
[ 1527ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/natural-fillet.jpg:0
|
||||
[ 1527ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/puff-pastry.jpg:0
|
||||
@@ -1,4 +0,0 @@
|
||||
[ 1430ms] [LOG] PixelYourSite Free version 9.4.7.1 @ https://www.szkoleniauryzaj.pl/?nocache=1:86
|
||||
[ 1439ms] [LOG] JQMIGRATE: Migrate is installed, version 3.3.2 @ https://www.szkoleniauryzaj.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2:1
|
||||
[ 1508ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/puff-pastry.jpg:0
|
||||
[ 1508ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/natural-fillet.jpg:0
|
||||
@@ -1,4 +0,0 @@
|
||||
[ 1846ms] [LOG] PixelYourSite Free version 9.4.7.1 @ https://www.szkoleniauryzaj.pl/?nocache=1:94
|
||||
[ 1855ms] [LOG] JQMIGRATE: Migrate is installed, version 3.3.2 @ https://www.szkoleniauryzaj.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2:1
|
||||
[ 1954ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/natural-fillet.jpg:0
|
||||
[ 1954ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/puff-pastry.jpg:0
|
||||
@@ -1,6 +0,0 @@
|
||||
[ 1365ms] [LOG] PixelYourSite Free version 9.4.7.1 @ https://www.szkoleniauryzaj.pl/?nocache=1:104
|
||||
[ 1375ms] [LOG] JQMIGRATE: Migrate is installed, version 3.3.2 @ https://www.szkoleniauryzaj.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2:1
|
||||
[ 1441ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/natural-fillet.jpg:0
|
||||
[ 1442ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/puff-pastry.jpg:0
|
||||
[ 1574ms] [LOG] Analytics Scripts Running.... @ https://www.szkoleniauryzaj.pl/?nocache=1:23
|
||||
[ 1608ms] [LOG] Preferences Scripts Running.... @ https://www.szkoleniauryzaj.pl/?nocache=1:40
|
||||
@@ -1,6 +0,0 @@
|
||||
[ 1447ms] [LOG] PixelYourSite Free version 9.4.7.1 @ https://www.szkoleniauryzaj.pl/?nocache=1:104
|
||||
[ 1456ms] [LOG] JQMIGRATE: Migrate is installed, version 3.3.2 @ https://www.szkoleniauryzaj.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2:1
|
||||
[ 1516ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/natural-fillet.jpg:0
|
||||
[ 1516ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/puff-pastry.jpg:0
|
||||
[ 1904ms] [LOG] Analytics Scripts Running.... @ https://www.szkoleniauryzaj.pl/?nocache=1:23
|
||||
[ 1937ms] [LOG] Preferences Scripts Running.... @ https://www.szkoleniauryzaj.pl/?nocache=1:40
|
||||
@@ -1,6 +0,0 @@
|
||||
[ 1745ms] [LOG] PixelYourSite Free version 9.4.7.1 @ https://www.szkoleniauryzaj.pl/?nocache=2:104
|
||||
[ 1754ms] [LOG] JQMIGRATE: Migrate is installed, version 3.3.2 @ https://www.szkoleniauryzaj.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2:1
|
||||
[ 1838ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/natural-fillet.jpg:0
|
||||
[ 1839ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/puff-pastry.jpg:0
|
||||
[ 2001ms] [LOG] Analytics Scripts Running.... @ https://www.szkoleniauryzaj.pl/?nocache=2:23
|
||||
[ 2020ms] [LOG] Preferences Scripts Running.... @ https://www.szkoleniauryzaj.pl/?nocache=2:40
|
||||
@@ -1,6 +0,0 @@
|
||||
[ 1309ms] [LOG] PixelYourSite Free version 9.4.7.1 @ https://www.szkoleniauryzaj.pl/?nocache=3:96
|
||||
[ 1316ms] [LOG] JQMIGRATE: Migrate is installed, version 3.3.2 @ https://www.szkoleniauryzaj.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2:1
|
||||
[ 1384ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/puff-pastry.jpg:0
|
||||
[ 1384ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/natural-fillet.jpg:0
|
||||
[ 2005ms] [LOG] Analytics Scripts Running.... @ https://www.szkoleniauryzaj.pl/?nocache=3:23
|
||||
[ 2006ms] [LOG] Preferences Scripts Running.... @ https://www.szkoleniauryzaj.pl/?nocache=3:40
|
||||
@@ -1,4 +0,0 @@
|
||||
[ 1414ms] [LOG] PixelYourSite Free version 9.4.7.1 @ https://www.szkoleniauryzaj.pl/?nocache=4:94
|
||||
[ 1422ms] [LOG] JQMIGRATE: Migrate is installed, version 3.3.2 @ https://www.szkoleniauryzaj.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2:1
|
||||
[ 1484ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/puff-pastry.jpg:0
|
||||
[ 1485ms] [ERROR] Failed to load resource: net::ERR_NAME_NOT_RESOLVED @ https://www.jeven.baumer.vot.pl//home/baumer/domains/protemida.baumer.vot.pl/private_html/wp-content/uploads/2019/11/natural-fillet.jpg:0
|
||||
@@ -1,188 +0,0 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e3]:
|
||||
- banner [ref=e4]:
|
||||
- generic [ref=e7]:
|
||||
- link "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e10] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/
|
||||
- img "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e12]
|
||||
- generic [ref=e13]:
|
||||
- generic [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- navigation [ref=e18]:
|
||||
- list [ref=e19]:
|
||||
- listitem [ref=e20]:
|
||||
- link "Moje konto" [ref=e21] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/moje-konto/
|
||||
- listitem [ref=e22]:
|
||||
- link "Koszyk" [ref=e23] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- link "" [ref=e24] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- button "U" [ref=e25] [cursor=pointer]
|
||||
- text: a
|
||||
- text: M
|
||||
- generic [ref=e28]:
|
||||
- navigation [ref=e30]:
|
||||
- list [ref=e31]:
|
||||
- listitem [ref=e32]:
|
||||
- link "Studium Terapii Tkanek Miękkich" [ref=e33] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- listitem [ref=e34]:
|
||||
- generic [ref=e35]: Kursy i szkolenia 3
|
||||
- listitem [ref=e36]:
|
||||
- link "Dofinansowanie" [ref=e37] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- listitem [ref=e38]:
|
||||
- link "Strefa Wiedzy 3" [ref=e39] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- listitem [ref=e40]:
|
||||
- link "Strefa absolwenta" [ref=e41] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- listitem [ref=e42]:
|
||||
- link "Książka MTG" [ref=e43] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- listitem [ref=e44]:
|
||||
- link "Zespół" [ref=e45] [cursor=pointer]:
|
||||
- /url: /o-nas/
|
||||
- listitem [ref=e46]:
|
||||
- link "Opinie" [ref=e47] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/opinie/
|
||||
- listitem [ref=e48]:
|
||||
- link "Kontakt" [ref=e49] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kontakt/
|
||||
- text: a
|
||||
- generic [ref=e50]:
|
||||
- article [ref=e52]:
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]:
|
||||
- generic:
|
||||
- link "4" [ref=e63] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "5" [ref=e64] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- generic [ref=e65]:
|
||||
- link "1" [ref=e66] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "2" [ref=e67] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "3" [ref=e68] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "4" [ref=e69] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- text: 4 5
|
||||
- generic [ref=e71]:
|
||||
- generic [ref=e73]:
|
||||
- generic [ref=e74]:
|
||||
- paragraph
|
||||
- heading "absolwentów kursu MTG" [level=3] [ref=e75]
|
||||
- generic [ref=e77]:
|
||||
- generic [ref=e78]:
|
||||
- paragraph
|
||||
- heading "lat działalności szkoleniowej" [level=3] [ref=e79]
|
||||
- generic [ref=e81]:
|
||||
- generic [ref=e82]:
|
||||
- paragraph
|
||||
- heading "ilość absolwentów Centrum" [level=3] [ref=e83]
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- link "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e88] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- img "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e90]
|
||||
- link "MTG Masaż Tkanek Glębokich" [ref=e93] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- img "MTG Masaż Tkanek Glębokich" [ref=e95]
|
||||
- link "kursy specjalistyczne Rafał Uryzaj" [ref=e98] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-specjalistyczne/
|
||||
- img "kursy specjalistyczne Rafał Uryzaj" [ref=e100]
|
||||
- generic [ref=e101]:
|
||||
- link "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e104] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-cialo-i-twarz/
|
||||
- img "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e106]
|
||||
- link "Dofinansowanie" [ref=e109] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- img "Dofinansowanie" [ref=e111]
|
||||
- link "masaż baijski" [ref=e114] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- img "masaż baijski" [ref=e116]
|
||||
- generic [ref=e117]:
|
||||
- link "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e120] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- img "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e122]
|
||||
- link "strefa wiedzy" [ref=e125] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- img "strefa wiedzy" [ref=e127]
|
||||
- link "masaż baijski" [ref=e130] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- img "masaż baijski" [ref=e132]
|
||||
- contentinfo [ref=e137]:
|
||||
- generic [ref=e138]:
|
||||
- heading "Najcześciej wybierany kurs masażu tkanek głębokich w Polsce." [level=3] [ref=e144]
|
||||
- generic [ref=e146]:
|
||||
- generic [ref=e147]:
|
||||
- paragraph [ref=e150]:
|
||||
- link:
|
||||
- /url: https://www.szkoleniauryzaj.pl/wp-content/uploads/2018/04/logo-Centrum-Szkoleniowe-Rafał-Uryzaj-white.png
|
||||
- generic [ref=e152]:
|
||||
- generic [ref=e155]:
|
||||
- paragraph [ref=e158]: szkolenia@szkoleniauryzaj.pl
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e163]:
|
||||
- paragraph [ref=e166]: 663 041 233
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e170]: O NAS
|
||||
- generic [ref=e172]:
|
||||
- link "Poznaj Nasz Zespół" [ref=e174] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- link "Kursy specjalistyczne" [ref=e176] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kursy-specjalistyczne/
|
||||
- link "Masaż tkanek głębokich" [ref=e177] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- generic [ref=e178]:
|
||||
- paragraph [ref=e181]: INFO
|
||||
- generic [ref=e183]:
|
||||
- link "Artykuły" [ref=e185] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/artykuly/
|
||||
- link "Regulamin usług szkoleniowych" [ref=e187] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/regulamin-uslug-szkoleniowych/
|
||||
- link "Regulamin sklepu" [ref=e189] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/regulamin-sklepu/
|
||||
- link "Polityka Cookies" [ref=e190] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/polityka-cookies/
|
||||
- generic [ref=e191]:
|
||||
- paragraph [ref=e194]: SOCIAL MEDIA
|
||||
- list [ref=e195]:
|
||||
- listitem [ref=e196]:
|
||||
- link "" [ref=e197] [cursor=pointer]:
|
||||
- /url: https://www.facebook.com/Body-Relax-Centrum-Szkoleniowe-179881235376784/
|
||||
- listitem [ref=e198]:
|
||||
- link "" [ref=e199] [cursor=pointer]:
|
||||
- /url: https://www.instagram.com/centrum__szkolen_rafal_uryzaj
|
||||
- listitem [ref=e200]:
|
||||
- link "" [ref=e201] [cursor=pointer]:
|
||||
- /url: https://www.youtube.com/channel/UC1FCLEJZ9bZkRxe0vN169kg
|
||||
- link "Zapisz się na kurs!" [ref=e204] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/?page_id=52
|
||||
- text:
|
||||
- paragraph [ref=e210]:
|
||||
- text: "Developed by:"
|
||||
- link "Stay Creative" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://www.stay-creative.pl/
|
||||
- text: "2"
|
||||
- generic [ref=e215]:
|
||||
- generic [ref=e216]:
|
||||
- img [ref=e217]
|
||||
- heading "Cenimy prywatność użytkowników" [level=4] [ref=e256]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- paragraph [ref=e259]:
|
||||
- text: Używamy plików cookie, aby poprawić jakość przeglądania, wyświetlać reklamy lub treści dostosowane do indywidualnych potrzeb użytkowników oraz analizować ruch na stronie. Kliknięcie przycisku „Akceptuj wszystkie” oznacza zgodę na wykorzystywanie przez nas plików cookie.
|
||||
- link "Regulamin" [ref=e260] [cursor=pointer]:
|
||||
- /url: /regulamin
|
||||
- generic [ref=e261] [cursor=pointer]:
|
||||
- img [ref=e262]
|
||||
- text: Dostosuj
|
||||
- text: ✔
|
||||
- generic [ref=e267]:
|
||||
- button "Akceptuj" [ref=e268] [cursor=pointer]
|
||||
- button "Odrzuć" [ref=e269] [cursor=pointer]
|
||||
@@ -1,188 +0,0 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e3]:
|
||||
- banner [ref=e4]:
|
||||
- generic [ref=e7]:
|
||||
- link "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e10] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/
|
||||
- img "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e12]
|
||||
- generic [ref=e13]:
|
||||
- generic [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- navigation [ref=e18]:
|
||||
- list [ref=e19]:
|
||||
- listitem [ref=e20]:
|
||||
- link "Moje konto" [ref=e21] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/moje-konto/
|
||||
- listitem [ref=e22]:
|
||||
- link "Koszyk" [ref=e23] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- link "" [ref=e24] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- button "U" [ref=e25] [cursor=pointer]
|
||||
- text: a
|
||||
- text: M
|
||||
- generic [ref=e28]:
|
||||
- navigation [ref=e30]:
|
||||
- list [ref=e31]:
|
||||
- listitem [ref=e32]:
|
||||
- link "Studium Terapii Tkanek Miękkich" [ref=e33] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- listitem [ref=e34]:
|
||||
- generic [ref=e35]: Kursy i szkolenia 3
|
||||
- listitem [ref=e36]:
|
||||
- link "Dofinansowanie" [ref=e37] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- listitem [ref=e38]:
|
||||
- link "Strefa Wiedzy 3" [ref=e39] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- listitem [ref=e40]:
|
||||
- link "Strefa absolwenta" [ref=e41] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- listitem [ref=e42]:
|
||||
- link "Książka MTG" [ref=e43] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- listitem [ref=e44]:
|
||||
- link "Zespół" [ref=e45] [cursor=pointer]:
|
||||
- /url: /o-nas/
|
||||
- listitem [ref=e46]:
|
||||
- link "Opinie" [ref=e47] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/opinie/
|
||||
- listitem [ref=e48]:
|
||||
- link "Kontakt" [ref=e49] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kontakt/
|
||||
- text: a
|
||||
- generic [ref=e50]:
|
||||
- article [ref=e52]:
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]:
|
||||
- generic:
|
||||
- link "4" [ref=e63] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "5" [ref=e64] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- generic [ref=e65]:
|
||||
- link "1" [ref=e66] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "2" [ref=e67] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "3" [ref=e68] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "4" [ref=e69] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- text: 4 5
|
||||
- generic [ref=e71]:
|
||||
- generic [ref=e73]:
|
||||
- generic [ref=e74]:
|
||||
- paragraph
|
||||
- heading "absolwentów kursu MTG" [level=3] [ref=e75]
|
||||
- generic [ref=e77]:
|
||||
- generic [ref=e78]:
|
||||
- paragraph
|
||||
- heading "lat działalności szkoleniowej" [level=3] [ref=e79]
|
||||
- generic [ref=e81]:
|
||||
- generic [ref=e82]:
|
||||
- paragraph
|
||||
- heading "ilość absolwentów Centrum" [level=3] [ref=e83]
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- link "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e88] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- img "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e90]
|
||||
- link "MTG Masaż Tkanek Glębokich" [ref=e93] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- img "MTG Masaż Tkanek Glębokich" [ref=e95]
|
||||
- link "kursy specjalistyczne Rafał Uryzaj" [ref=e98] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-specjalistyczne/
|
||||
- img "kursy specjalistyczne Rafał Uryzaj" [ref=e100]
|
||||
- generic [ref=e101]:
|
||||
- link "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e104] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-cialo-i-twarz/
|
||||
- img "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e106]
|
||||
- link "Dofinansowanie" [ref=e109] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- img "Dofinansowanie" [ref=e111]
|
||||
- link "masaż baijski" [ref=e114] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- img "masaż baijski" [ref=e116]
|
||||
- generic [ref=e117]:
|
||||
- link "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e120] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- img "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e122]
|
||||
- link "strefa wiedzy" [ref=e125] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- img "strefa wiedzy" [ref=e127]
|
||||
- link "masaż baijski" [ref=e130] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- img "masaż baijski" [ref=e132]
|
||||
- contentinfo [ref=e137]:
|
||||
- generic [ref=e138]:
|
||||
- heading "Najcześciej wybierany kurs masażu tkanek głębokich w Polsce." [level=3] [ref=e144]
|
||||
- generic [ref=e146]:
|
||||
- generic [ref=e147]:
|
||||
- paragraph [ref=e150]:
|
||||
- link:
|
||||
- /url: https://www.szkoleniauryzaj.pl/wp-content/uploads/2018/04/logo-Centrum-Szkoleniowe-Rafał-Uryzaj-white.png
|
||||
- generic [ref=e152]:
|
||||
- generic [ref=e155]:
|
||||
- paragraph [ref=e158]: szkolenia@szkoleniauryzaj.pl
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e163]:
|
||||
- paragraph [ref=e166]: 663 041 233
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e170]: O NAS
|
||||
- generic [ref=e172]:
|
||||
- link "Poznaj Nasz Zespół" [ref=e174] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- link "Kursy specjalistyczne" [ref=e176] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kursy-specjalistyczne/
|
||||
- link "Masaż tkanek głębokich" [ref=e177] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- generic [ref=e178]:
|
||||
- paragraph [ref=e181]: INFO
|
||||
- generic [ref=e183]:
|
||||
- link "Artykuły" [ref=e185] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/artykuly/
|
||||
- link "Regulamin usług szkoleniowych" [ref=e187] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/regulamin-uslug-szkoleniowych/
|
||||
- link "Regulamin sklepu" [ref=e189] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/regulamin-sklepu/
|
||||
- link "Polityka Cookies" [ref=e190] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/polityka-cookies/
|
||||
- generic [ref=e191]:
|
||||
- paragraph [ref=e194]: SOCIAL MEDIA
|
||||
- list [ref=e195]:
|
||||
- listitem [ref=e196]:
|
||||
- link "" [ref=e197] [cursor=pointer]:
|
||||
- /url: https://www.facebook.com/Body-Relax-Centrum-Szkoleniowe-179881235376784/
|
||||
- listitem [ref=e198]:
|
||||
- link "" [ref=e199] [cursor=pointer]:
|
||||
- /url: https://www.instagram.com/centrum__szkolen_rafal_uryzaj
|
||||
- listitem [ref=e200]:
|
||||
- link "" [ref=e201] [cursor=pointer]:
|
||||
- /url: https://www.youtube.com/channel/UC1FCLEJZ9bZkRxe0vN169kg
|
||||
- link "Zapisz się na kurs!" [ref=e204] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/?page_id=52
|
||||
- text:
|
||||
- paragraph [ref=e210]:
|
||||
- text: "Developed by:"
|
||||
- link "Stay Creative" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://www.stay-creative.pl/
|
||||
- text: "2"
|
||||
- generic [ref=e215]:
|
||||
- generic [ref=e216]:
|
||||
- img [ref=e217]
|
||||
- heading "Cenimy prywatność użytkowników" [level=4] [ref=e256]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- paragraph [ref=e259]:
|
||||
- text: Używamy plików cookie, aby poprawić jakość przeglądania, wyświetlać reklamy lub treści dostosowane do indywidualnych potrzeb użytkowników oraz analizować ruch na stronie. Kliknięcie przycisku „Akceptuj wszystkie” oznacza zgodę na wykorzystywanie przez nas plików cookie.
|
||||
- link "Regulamin" [ref=e260] [cursor=pointer]:
|
||||
- /url: /regulamin
|
||||
- generic [ref=e261] [cursor=pointer]:
|
||||
- img [ref=e262]
|
||||
- text: Dostosuj
|
||||
- text: ✔
|
||||
- generic [ref=e267]:
|
||||
- button "Akceptuj" [ref=e268] [cursor=pointer]
|
||||
- button "Odrzuć" [ref=e269] [cursor=pointer]
|
||||
@@ -1,188 +0,0 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e3]:
|
||||
- banner [ref=e4]:
|
||||
- generic [ref=e7]:
|
||||
- link "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e10] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/
|
||||
- img "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e12]
|
||||
- generic [ref=e13]:
|
||||
- generic [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- navigation [ref=e18]:
|
||||
- list [ref=e19]:
|
||||
- listitem [ref=e20]:
|
||||
- link "Moje konto" [ref=e21] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/moje-konto/
|
||||
- listitem [ref=e22]:
|
||||
- link "Koszyk" [ref=e23] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- link "" [ref=e24] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- button "U" [ref=e25] [cursor=pointer]
|
||||
- text: a
|
||||
- text: M
|
||||
- generic [ref=e28]:
|
||||
- navigation [ref=e30]:
|
||||
- list [ref=e31]:
|
||||
- listitem [ref=e32]:
|
||||
- link "Studium Terapii Tkanek Miękkich" [ref=e33] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- listitem [ref=e34]:
|
||||
- generic [ref=e35]: Kursy i szkolenia 3
|
||||
- listitem [ref=e36]:
|
||||
- link "Dofinansowanie" [ref=e37] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- listitem [ref=e38]:
|
||||
- link "Strefa Wiedzy 3" [ref=e39] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- listitem [ref=e40]:
|
||||
- link "Strefa absolwenta" [ref=e41] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- listitem [ref=e42]:
|
||||
- link "Książka MTG" [ref=e43] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- listitem [ref=e44]:
|
||||
- link "Zespół" [ref=e45] [cursor=pointer]:
|
||||
- /url: /o-nas/
|
||||
- listitem [ref=e46]:
|
||||
- link "Opinie" [ref=e47] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/opinie/
|
||||
- listitem [ref=e48]:
|
||||
- link "Kontakt" [ref=e49] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kontakt/
|
||||
- text: a
|
||||
- generic [ref=e50]:
|
||||
- article [ref=e52]:
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]:
|
||||
- generic:
|
||||
- link "4" [ref=e63] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "5" [ref=e64] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- generic [ref=e65]:
|
||||
- link "1" [ref=e66] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "2" [ref=e67] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "3" [ref=e68] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "4" [ref=e69] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- text: 4 5
|
||||
- generic [ref=e71]:
|
||||
- generic [ref=e73]:
|
||||
- generic [ref=e74]:
|
||||
- paragraph
|
||||
- heading "absolwentów kursu MTG" [level=3] [ref=e75]
|
||||
- generic [ref=e77]:
|
||||
- generic [ref=e78]:
|
||||
- paragraph
|
||||
- heading "lat działalności szkoleniowej" [level=3] [ref=e79]
|
||||
- generic [ref=e81]:
|
||||
- generic [ref=e82]:
|
||||
- paragraph
|
||||
- heading "ilość absolwentów Centrum" [level=3] [ref=e83]
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- link "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e88] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- img "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e90]
|
||||
- link "MTG Masaż Tkanek Glębokich" [ref=e93] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- img "MTG Masaż Tkanek Glębokich" [ref=e95]
|
||||
- link "kursy specjalistyczne Rafał Uryzaj" [ref=e98] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-specjalistyczne/
|
||||
- img "kursy specjalistyczne Rafał Uryzaj" [ref=e100]
|
||||
- generic [ref=e101]:
|
||||
- link "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e104] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-cialo-i-twarz/
|
||||
- img "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e106]
|
||||
- link "Dofinansowanie" [ref=e109] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- img "Dofinansowanie" [ref=e111]
|
||||
- link "masaż baijski" [ref=e114] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- img "masaż baijski" [ref=e116]
|
||||
- generic [ref=e117]:
|
||||
- link "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e120] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- img "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e122]
|
||||
- link "strefa wiedzy" [ref=e125] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- img "strefa wiedzy" [ref=e127]
|
||||
- link "masaż baijski" [ref=e130] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- img "masaż baijski" [ref=e132]
|
||||
- contentinfo [ref=e137]:
|
||||
- generic [ref=e138]:
|
||||
- heading "Najcześciej wybierany kurs masażu tkanek głębokich w Polsce." [level=3] [ref=e144]
|
||||
- generic [ref=e146]:
|
||||
- generic [ref=e147]:
|
||||
- paragraph [ref=e150]:
|
||||
- link:
|
||||
- /url: https://www.szkoleniauryzaj.pl/wp-content/uploads/2018/04/logo-Centrum-Szkoleniowe-Rafał-Uryzaj-white.png
|
||||
- generic [ref=e152]:
|
||||
- generic [ref=e155]:
|
||||
- paragraph [ref=e158]: szkolenia@szkoleniauryzaj.pl
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e163]:
|
||||
- paragraph [ref=e166]: 663 041 233
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e170]: O NAS
|
||||
- generic [ref=e172]:
|
||||
- link "Poznaj Nasz Zespół" [ref=e174] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- link "Kursy specjalistyczne" [ref=e176] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kursy-specjalistyczne/
|
||||
- link "Masaż tkanek głębokich" [ref=e177] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- generic [ref=e178]:
|
||||
- paragraph [ref=e181]: INFO
|
||||
- generic [ref=e183]:
|
||||
- link "Artykuły" [ref=e185] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/artykuly/
|
||||
- link "Regulamin usług szkoleniowych" [ref=e187] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/regulamin-uslug-szkoleniowych/
|
||||
- link "Regulamin sklepu" [ref=e189] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/regulamin-sklepu/
|
||||
- link "Polityka Cookies" [ref=e190] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/polityka-cookies/
|
||||
- generic [ref=e191]:
|
||||
- paragraph [ref=e194]: SOCIAL MEDIA
|
||||
- list [ref=e195]:
|
||||
- listitem [ref=e196]:
|
||||
- link "" [ref=e197] [cursor=pointer]:
|
||||
- /url: https://www.facebook.com/Body-Relax-Centrum-Szkoleniowe-179881235376784/
|
||||
- listitem [ref=e198]:
|
||||
- link "" [ref=e199] [cursor=pointer]:
|
||||
- /url: https://www.instagram.com/centrum__szkolen_rafal_uryzaj
|
||||
- listitem [ref=e200]:
|
||||
- link "" [ref=e201] [cursor=pointer]:
|
||||
- /url: https://www.youtube.com/channel/UC1FCLEJZ9bZkRxe0vN169kg
|
||||
- link "Zapisz się na kurs!" [ref=e204] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/?page_id=52
|
||||
- text:
|
||||
- paragraph [ref=e210]:
|
||||
- text: "Developed by:"
|
||||
- link "Stay Creative" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://www.stay-creative.pl/
|
||||
- text: "2"
|
||||
- generic [ref=e215]:
|
||||
- generic [ref=e216]:
|
||||
- img [ref=e217]
|
||||
- heading "Cenimy prywatność użytkowników" [level=4] [ref=e256]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- paragraph [ref=e259]:
|
||||
- text: Używamy plików cookie, aby poprawić jakość przeglądania, wyświetlać reklamy lub treści dostosowane do indywidualnych potrzeb użytkowników oraz analizować ruch na stronie. Kliknięcie przycisku „Akceptuj wszystkie” oznacza zgodę na wykorzystywanie przez nas plików cookie.
|
||||
- link "Regulamin" [ref=e260] [cursor=pointer]:
|
||||
- /url: /regulamin
|
||||
- generic [ref=e261] [cursor=pointer]:
|
||||
- img [ref=e262]
|
||||
- text: Dostosuj
|
||||
- text: ✔
|
||||
- generic [ref=e267]:
|
||||
- button "Akceptuj" [ref=e268] [cursor=pointer]
|
||||
- button "Odrzuć" [ref=e269] [cursor=pointer]
|
||||
@@ -1,188 +0,0 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e3]:
|
||||
- banner [ref=e4]:
|
||||
- generic [ref=e7]:
|
||||
- link "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e10] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/
|
||||
- img "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e12]
|
||||
- generic [ref=e13]:
|
||||
- generic [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- navigation [ref=e18]:
|
||||
- list [ref=e19]:
|
||||
- listitem [ref=e20]:
|
||||
- link "Moje konto" [ref=e21] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/moje-konto/
|
||||
- listitem [ref=e22]:
|
||||
- link "Koszyk" [ref=e23] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- link "" [ref=e24] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- button "U" [ref=e25] [cursor=pointer]
|
||||
- text: a
|
||||
- text: M
|
||||
- generic [ref=e28]:
|
||||
- navigation [ref=e30]:
|
||||
- list [ref=e31]:
|
||||
- listitem [ref=e32]:
|
||||
- link "Studium Terapii Tkanek Miękkich" [ref=e33] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- listitem [ref=e34]:
|
||||
- generic [ref=e35]: Kursy i szkolenia 3
|
||||
- listitem [ref=e36]:
|
||||
- link "Dofinansowanie" [ref=e37] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- listitem [ref=e38]:
|
||||
- link "Strefa Wiedzy 3" [ref=e39] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- listitem [ref=e40]:
|
||||
- link "Strefa absolwenta" [ref=e41] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- listitem [ref=e42]:
|
||||
- link "Książka MTG" [ref=e43] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- listitem [ref=e44]:
|
||||
- link "Zespół" [ref=e45] [cursor=pointer]:
|
||||
- /url: /o-nas/
|
||||
- listitem [ref=e46]:
|
||||
- link "Opinie" [ref=e47] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/opinie/
|
||||
- listitem [ref=e48]:
|
||||
- link "Kontakt" [ref=e49] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kontakt/
|
||||
- text: a
|
||||
- generic [ref=e50]:
|
||||
- article [ref=e52]:
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]:
|
||||
- generic:
|
||||
- link "4" [ref=e63] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "5" [ref=e64] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- generic [ref=e65]:
|
||||
- link "1" [ref=e66] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "2" [ref=e67] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "3" [ref=e68] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "4" [ref=e69] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- text: 4 5
|
||||
- generic [ref=e71]:
|
||||
- generic [ref=e73]:
|
||||
- generic [ref=e74]:
|
||||
- paragraph
|
||||
- heading "absolwentów kursu MTG" [level=3] [ref=e75]
|
||||
- generic [ref=e77]:
|
||||
- generic [ref=e78]:
|
||||
- paragraph
|
||||
- heading "lat działalności szkoleniowej" [level=3] [ref=e79]
|
||||
- generic [ref=e81]:
|
||||
- generic [ref=e82]:
|
||||
- paragraph
|
||||
- heading "ilość absolwentów Centrum" [level=3] [ref=e83]
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- link "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e88] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- img "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e90]
|
||||
- link "MTG Masaż Tkanek Glębokich" [ref=e93] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- img "MTG Masaż Tkanek Glębokich" [ref=e95]
|
||||
- link "kursy specjalistyczne Rafał Uryzaj" [ref=e98] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-specjalistyczne/
|
||||
- img "kursy specjalistyczne Rafał Uryzaj" [ref=e100]
|
||||
- generic [ref=e101]:
|
||||
- link "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e104] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-cialo-i-twarz/
|
||||
- img "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e106]
|
||||
- link "Dofinansowanie" [ref=e109] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- img "Dofinansowanie" [ref=e111]
|
||||
- link "masaż baijski" [ref=e114] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- img "masaż baijski" [ref=e116]
|
||||
- generic [ref=e117]:
|
||||
- link "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e120] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- img "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e122]
|
||||
- link "strefa wiedzy" [ref=e125] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- img "strefa wiedzy" [ref=e127]
|
||||
- link "masaż baijski" [ref=e130] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- img "masaż baijski" [ref=e132]
|
||||
- contentinfo [ref=e137]:
|
||||
- generic [ref=e138]:
|
||||
- heading "Najcześciej wybierany kurs masażu tkanek głębokich w Polsce." [level=3] [ref=e144]
|
||||
- generic [ref=e146]:
|
||||
- generic [ref=e147]:
|
||||
- paragraph [ref=e150]:
|
||||
- link:
|
||||
- /url: https://www.szkoleniauryzaj.pl/wp-content/uploads/2018/04/logo-Centrum-Szkoleniowe-Rafał-Uryzaj-white.png
|
||||
- generic [ref=e152]:
|
||||
- generic [ref=e155]:
|
||||
- paragraph [ref=e158]: szkolenia@szkoleniauryzaj.pl
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e163]:
|
||||
- paragraph [ref=e166]: 663 041 233
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e170]: O NAS
|
||||
- generic [ref=e172]:
|
||||
- link "Poznaj Nasz Zespół" [ref=e174] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- link "Kursy specjalistyczne" [ref=e176] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kursy-specjalistyczne/
|
||||
- link "Masaż tkanek głębokich" [ref=e177] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- generic [ref=e178]:
|
||||
- paragraph [ref=e181]: INFO
|
||||
- generic [ref=e183]:
|
||||
- link "Artykuły" [ref=e185] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/artykuly/
|
||||
- link "Regulamin usług szkoleniowych" [ref=e187] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/regulamin-uslug-szkoleniowych/
|
||||
- link "Regulamin sklepu" [ref=e189] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/regulamin-sklepu/
|
||||
- link "Polityka Cookies" [ref=e190] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/polityka-cookies/
|
||||
- generic [ref=e191]:
|
||||
- paragraph [ref=e194]: SOCIAL MEDIA
|
||||
- list [ref=e195]:
|
||||
- listitem [ref=e196]:
|
||||
- link "" [ref=e197] [cursor=pointer]:
|
||||
- /url: https://www.facebook.com/Body-Relax-Centrum-Szkoleniowe-179881235376784/
|
||||
- listitem [ref=e198]:
|
||||
- link "" [ref=e199] [cursor=pointer]:
|
||||
- /url: https://www.instagram.com/centrum__szkolen_rafal_uryzaj
|
||||
- listitem [ref=e200]:
|
||||
- link "" [ref=e201] [cursor=pointer]:
|
||||
- /url: https://www.youtube.com/channel/UC1FCLEJZ9bZkRxe0vN169kg
|
||||
- link "Zapisz się na kurs!" [ref=e204] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/?page_id=52
|
||||
- text:
|
||||
- paragraph [ref=e210]:
|
||||
- text: "Developed by:"
|
||||
- link "Stay Creative" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://www.stay-creative.pl/
|
||||
- text: "2"
|
||||
- generic [ref=e215]:
|
||||
- generic [ref=e216]:
|
||||
- img [ref=e217]
|
||||
- heading "Cenimy prywatność użytkowników" [level=4] [ref=e256]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- paragraph [ref=e259]:
|
||||
- text: Używamy plików cookie, aby poprawić jakość przeglądania, wyświetlać reklamy lub treści dostosowane do indywidualnych potrzeb użytkowników oraz analizować ruch na stronie. Kliknięcie przycisku „Akceptuj wszystkie” oznacza zgodę na wykorzystywanie przez nas plików cookie.
|
||||
- link "Regulamin" [ref=e260] [cursor=pointer]:
|
||||
- /url: /regulamin
|
||||
- generic [ref=e261] [cursor=pointer]:
|
||||
- img [ref=e262]
|
||||
- text: Dostosuj
|
||||
- text: ✔
|
||||
- generic [ref=e267]:
|
||||
- button "Akceptuj" [ref=e268] [cursor=pointer]
|
||||
- button "Odrzuć" [ref=e269] [cursor=pointer]
|
||||
@@ -1,188 +0,0 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e3]:
|
||||
- banner [ref=e4]:
|
||||
- generic [ref=e7]:
|
||||
- link "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e10] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/
|
||||
- img "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e12]
|
||||
- generic [ref=e13]:
|
||||
- generic [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- navigation [ref=e18]:
|
||||
- list [ref=e19]:
|
||||
- listitem [ref=e20]:
|
||||
- link "Moje konto" [ref=e21] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/moje-konto/
|
||||
- listitem [ref=e22]:
|
||||
- link "Koszyk" [ref=e23] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- link "" [ref=e24] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- button "U" [ref=e25] [cursor=pointer]
|
||||
- text: a
|
||||
- text: M
|
||||
- generic [ref=e28]:
|
||||
- navigation [ref=e30]:
|
||||
- list [ref=e31]:
|
||||
- listitem [ref=e32]:
|
||||
- link "Studium Terapii Tkanek Miękkich" [ref=e33] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- listitem [ref=e34]:
|
||||
- generic [ref=e35]: Kursy i szkolenia 3
|
||||
- listitem [ref=e36]:
|
||||
- link "Dofinansowanie" [ref=e37] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- listitem [ref=e38]:
|
||||
- link "Strefa Wiedzy 3" [ref=e39] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- listitem [ref=e40]:
|
||||
- link "Strefa absolwenta" [ref=e41] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- listitem [ref=e42]:
|
||||
- link "Książka MTG" [ref=e43] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- listitem [ref=e44]:
|
||||
- link "Zespół" [ref=e45] [cursor=pointer]:
|
||||
- /url: /o-nas/
|
||||
- listitem [ref=e46]:
|
||||
- link "Opinie" [ref=e47] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/opinie/
|
||||
- listitem [ref=e48]:
|
||||
- link "Kontakt" [ref=e49] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kontakt/
|
||||
- text: a
|
||||
- generic [ref=e50]:
|
||||
- article [ref=e52]:
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]:
|
||||
- generic:
|
||||
- link "4" [ref=e63] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "5" [ref=e64] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- generic [ref=e65]:
|
||||
- link "1" [ref=e66] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "2" [ref=e67] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "3" [ref=e68] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "4" [ref=e69] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- text: 4 5
|
||||
- generic [ref=e71]:
|
||||
- generic [ref=e73]:
|
||||
- generic [ref=e74]:
|
||||
- paragraph
|
||||
- heading "absolwentów kursu MTG" [level=3] [ref=e75]
|
||||
- generic [ref=e77]:
|
||||
- generic [ref=e78]:
|
||||
- paragraph
|
||||
- heading "lat działalności szkoleniowej" [level=3] [ref=e79]
|
||||
- generic [ref=e81]:
|
||||
- generic [ref=e82]:
|
||||
- paragraph
|
||||
- heading "ilość absolwentów Centrum" [level=3] [ref=e83]
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- link "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e88] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- img "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e90]
|
||||
- link "MTG Masaż Tkanek Glębokich" [ref=e93] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- img "MTG Masaż Tkanek Glębokich" [ref=e95]
|
||||
- link "kursy specjalistyczne Rafał Uryzaj" [ref=e98] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-specjalistyczne/
|
||||
- img "kursy specjalistyczne Rafał Uryzaj" [ref=e100]
|
||||
- generic [ref=e101]:
|
||||
- link "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e104] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-cialo-i-twarz/
|
||||
- img "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e106]
|
||||
- link "Dofinansowanie" [ref=e109] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- img "Dofinansowanie" [ref=e111]
|
||||
- link "masaż baijski" [ref=e114] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- img "masaż baijski" [ref=e116]
|
||||
- generic [ref=e117]:
|
||||
- link "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e120] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- img "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e122]
|
||||
- link "strefa wiedzy" [ref=e125] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- img "strefa wiedzy" [ref=e127]
|
||||
- link "masaż baijski" [ref=e130] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- img "masaż baijski" [ref=e132]
|
||||
- contentinfo [ref=e137]:
|
||||
- generic [ref=e138]:
|
||||
- heading "Najcześciej wybierany kurs masażu tkanek głębokich w Polsce." [level=3] [ref=e144]
|
||||
- generic [ref=e146]:
|
||||
- generic [ref=e147]:
|
||||
- paragraph [ref=e150]:
|
||||
- link:
|
||||
- /url: https://www.szkoleniauryzaj.pl/wp-content/uploads/2018/04/logo-Centrum-Szkoleniowe-Rafał-Uryzaj-white.png
|
||||
- generic [ref=e152]:
|
||||
- generic [ref=e155]:
|
||||
- paragraph [ref=e158]: szkolenia@szkoleniauryzaj.pl
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e163]:
|
||||
- paragraph [ref=e166]: 663 041 233
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e170]: O NAS
|
||||
- generic [ref=e172]:
|
||||
- link "Poznaj Nasz Zespół" [ref=e174] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- link "Kursy specjalistyczne" [ref=e176] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kursy-specjalistyczne/
|
||||
- link "Masaż tkanek głębokich" [ref=e177] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- generic [ref=e178]:
|
||||
- paragraph [ref=e181]: INFO
|
||||
- generic [ref=e183]:
|
||||
- link "Artykuły" [ref=e185] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/artykuly/
|
||||
- link "Regulamin usług szkoleniowych" [ref=e187] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/regulamin-uslug-szkoleniowych/
|
||||
- link "Regulamin sklepu" [ref=e189] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/regulamin-sklepu/
|
||||
- link "Polityka Cookies" [ref=e190] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/polityka-cookies/
|
||||
- generic [ref=e191]:
|
||||
- paragraph [ref=e194]: SOCIAL MEDIA
|
||||
- list [ref=e195]:
|
||||
- listitem [ref=e196]:
|
||||
- link "" [ref=e197] [cursor=pointer]:
|
||||
- /url: https://www.facebook.com/Body-Relax-Centrum-Szkoleniowe-179881235376784/
|
||||
- listitem [ref=e198]:
|
||||
- link "" [ref=e199] [cursor=pointer]:
|
||||
- /url: https://www.instagram.com/centrum__szkolen_rafal_uryzaj
|
||||
- listitem [ref=e200]:
|
||||
- link "" [ref=e201] [cursor=pointer]:
|
||||
- /url: https://www.youtube.com/channel/UC1FCLEJZ9bZkRxe0vN169kg
|
||||
- link "Zapisz się na kurs!" [ref=e204] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/?page_id=52
|
||||
- text:
|
||||
- paragraph [ref=e210]:
|
||||
- text: "Developed by:"
|
||||
- link "Stay Creative" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://www.stay-creative.pl/
|
||||
- text: "2"
|
||||
- generic [ref=e215]:
|
||||
- generic [ref=e216]:
|
||||
- img [ref=e217]
|
||||
- heading "Cenimy prywatność użytkowników" [level=4] [ref=e256]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- paragraph [ref=e259]:
|
||||
- text: Używamy plików cookie, aby poprawić jakość przeglądania, wyświetlać reklamy lub treści dostosowane do indywidualnych potrzeb użytkowników oraz analizować ruch na stronie. Kliknięcie przycisku „Akceptuj wszystkie” oznacza zgodę na wykorzystywanie przez nas plików cookie.
|
||||
- link "Regulamin" [ref=e260] [cursor=pointer]:
|
||||
- /url: /regulamin
|
||||
- generic [ref=e261] [cursor=pointer]:
|
||||
- img [ref=e262]
|
||||
- text: Dostosuj
|
||||
- text: ✔
|
||||
- generic [ref=e267]:
|
||||
- button "Akceptuj" [ref=e268] [cursor=pointer]
|
||||
- button "Odrzuć" [ref=e269] [cursor=pointer]
|
||||
@@ -1,188 +0,0 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e3]:
|
||||
- banner [ref=e4]:
|
||||
- generic [ref=e7]:
|
||||
- link "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e10] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/
|
||||
- img "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e12]
|
||||
- generic [ref=e13]:
|
||||
- generic [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- navigation [ref=e18]:
|
||||
- list [ref=e19]:
|
||||
- listitem [ref=e20]:
|
||||
- link "Moje konto" [ref=e21] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/moje-konto/
|
||||
- listitem [ref=e22]:
|
||||
- link "Koszyk" [ref=e23] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- link "" [ref=e24] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- button "U" [ref=e25] [cursor=pointer]
|
||||
- text: a
|
||||
- text: M
|
||||
- generic [ref=e28]:
|
||||
- navigation [ref=e30]:
|
||||
- list [ref=e31]:
|
||||
- listitem [ref=e32]:
|
||||
- link "Studium Terapii Tkanek Miękkich" [ref=e33] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- listitem [ref=e34]:
|
||||
- generic [ref=e35]: Kursy i szkolenia 3
|
||||
- listitem [ref=e36]:
|
||||
- link "Dofinansowanie" [ref=e37] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- listitem [ref=e38]:
|
||||
- link "Strefa Wiedzy 3" [ref=e39] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- listitem [ref=e40]:
|
||||
- link "Strefa absolwenta" [ref=e41] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- listitem [ref=e42]:
|
||||
- link "Książka MTG" [ref=e43] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- listitem [ref=e44]:
|
||||
- link "Zespół" [ref=e45] [cursor=pointer]:
|
||||
- /url: /o-nas/
|
||||
- listitem [ref=e46]:
|
||||
- link "Opinie" [ref=e47] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/opinie/
|
||||
- listitem [ref=e48]:
|
||||
- link "Kontakt" [ref=e49] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kontakt/
|
||||
- text: a
|
||||
- generic [ref=e50]:
|
||||
- article [ref=e52]:
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]:
|
||||
- generic:
|
||||
- link "4" [ref=e63] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "5" [ref=e64] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- generic [ref=e65]:
|
||||
- link "1" [ref=e66] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "2" [ref=e67] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "3" [ref=e68] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "4" [ref=e69] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- text: 4 5
|
||||
- generic [ref=e71]:
|
||||
- generic [ref=e73]:
|
||||
- generic [ref=e74]:
|
||||
- paragraph
|
||||
- heading "absolwentów kursu MTG" [level=3] [ref=e75]
|
||||
- generic [ref=e77]:
|
||||
- generic [ref=e78]:
|
||||
- paragraph
|
||||
- heading "lat działalności szkoleniowej" [level=3] [ref=e79]
|
||||
- generic [ref=e81]:
|
||||
- generic [ref=e82]:
|
||||
- paragraph
|
||||
- heading "ilość absolwentów Centrum" [level=3] [ref=e83]
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- link "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e88] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- img "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e90]
|
||||
- link "MTG Masaż Tkanek Glębokich" [ref=e93] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- img "MTG Masaż Tkanek Glębokich" [ref=e95]
|
||||
- link "kursy specjalistyczne Rafał Uryzaj" [ref=e98] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-specjalistyczne/
|
||||
- img "kursy specjalistyczne Rafał Uryzaj" [ref=e100]
|
||||
- generic [ref=e101]:
|
||||
- link "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e104] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-cialo-i-twarz/
|
||||
- img "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e106]
|
||||
- link "Dofinansowanie" [ref=e109] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- img "Dofinansowanie" [ref=e111]
|
||||
- link "masaż baijski" [ref=e114] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- img "masaż baijski" [ref=e116]
|
||||
- generic [ref=e117]:
|
||||
- link "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e120] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- img "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e122]
|
||||
- link "strefa wiedzy" [ref=e125] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- img "strefa wiedzy" [ref=e127]
|
||||
- link "masaż baijski" [ref=e130] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- img "masaż baijski" [ref=e132]
|
||||
- contentinfo [ref=e137]:
|
||||
- generic [ref=e138]:
|
||||
- heading "Najcześciej wybierany kurs masażu tkanek głębokich w Polsce." [level=3] [ref=e144]
|
||||
- generic [ref=e146]:
|
||||
- generic [ref=e147]:
|
||||
- paragraph [ref=e150]:
|
||||
- link:
|
||||
- /url: https://www.szkoleniauryzaj.pl/wp-content/uploads/2018/04/logo-Centrum-Szkoleniowe-Rafał-Uryzaj-white.png
|
||||
- generic [ref=e152]:
|
||||
- generic [ref=e155]:
|
||||
- paragraph [ref=e158]: szkolenia@szkoleniauryzaj.pl
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e163]:
|
||||
- paragraph [ref=e166]: 663 041 233
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e170]: O NAS
|
||||
- generic [ref=e172]:
|
||||
- link "Poznaj Nasz Zespół" [ref=e174] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- link "Kursy specjalistyczne" [ref=e176] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kursy-specjalistyczne/
|
||||
- link "Masaż tkanek głębokich" [ref=e177] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- generic [ref=e178]:
|
||||
- paragraph [ref=e181]: INFO
|
||||
- generic [ref=e183]:
|
||||
- link "Artykuły" [ref=e185] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/artykuly/
|
||||
- link "Regulamin usług szkoleniowych" [ref=e187] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/regulamin-uslug-szkoleniowych/
|
||||
- link "Regulamin sklepu" [ref=e189] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/regulamin-sklepu/
|
||||
- link "Polityka Cookies" [ref=e190] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/polityka-cookies/
|
||||
- generic [ref=e191]:
|
||||
- paragraph [ref=e194]: SOCIAL MEDIA
|
||||
- list [ref=e195]:
|
||||
- listitem [ref=e196]:
|
||||
- link "" [ref=e197] [cursor=pointer]:
|
||||
- /url: https://www.facebook.com/Body-Relax-Centrum-Szkoleniowe-179881235376784/
|
||||
- listitem [ref=e198]:
|
||||
- link "" [ref=e199] [cursor=pointer]:
|
||||
- /url: https://www.instagram.com/centrum__szkolen_rafal_uryzaj
|
||||
- listitem [ref=e200]:
|
||||
- link "" [ref=e201] [cursor=pointer]:
|
||||
- /url: https://www.youtube.com/channel/UC1FCLEJZ9bZkRxe0vN169kg
|
||||
- link "Zapisz się na kurs!" [ref=e204] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/?page_id=52
|
||||
- text:
|
||||
- paragraph [ref=e210]:
|
||||
- text: "Developed by:"
|
||||
- link "Stay Creative" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://www.stay-creative.pl/
|
||||
- text: "2"
|
||||
- generic [ref=e215]:
|
||||
- generic [ref=e216]:
|
||||
- img [ref=e217]
|
||||
- heading "Cenimy prywatność użytkowników" [level=4] [ref=e256]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- paragraph [ref=e259]:
|
||||
- text: Używamy plików cookie, aby poprawić jakość przeglądania, wyświetlać reklamy lub treści dostosowane do indywidualnych potrzeb użytkowników oraz analizować ruch na stronie. Kliknięcie przycisku „Akceptuj wszystkie” oznacza zgodę na wykorzystywanie przez nas plików cookie.
|
||||
- link "Regulamin" [ref=e260] [cursor=pointer]:
|
||||
- /url: /regulamin
|
||||
- generic [ref=e261] [cursor=pointer]:
|
||||
- img [ref=e262]
|
||||
- text: Dostosuj
|
||||
- text: ✔
|
||||
- generic [ref=e267]:
|
||||
- button "Akceptuj" [ref=e268] [cursor=pointer]
|
||||
- button "Odrzuć" [ref=e269] [cursor=pointer]
|
||||
@@ -1,188 +0,0 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e3]:
|
||||
- banner [ref=e4]:
|
||||
- generic [ref=e7]:
|
||||
- link "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e10] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/
|
||||
- img "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e12]
|
||||
- generic [ref=e13]:
|
||||
- generic [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- navigation [ref=e18]:
|
||||
- list [ref=e19]:
|
||||
- listitem [ref=e20]:
|
||||
- link "Moje konto" [ref=e21] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/moje-konto/
|
||||
- listitem [ref=e22]:
|
||||
- link "Koszyk" [ref=e23] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- link "" [ref=e24] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- button "U" [ref=e25] [cursor=pointer]
|
||||
- text: a
|
||||
- text: M
|
||||
- generic [ref=e28]:
|
||||
- navigation [ref=e30]:
|
||||
- list [ref=e31]:
|
||||
- listitem [ref=e32]:
|
||||
- link "Studium Terapii Tkanek Miękkich" [ref=e33] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- listitem [ref=e34]:
|
||||
- generic [ref=e35]: Kursy i szkolenia 3
|
||||
- listitem [ref=e36]:
|
||||
- link "Dofinansowanie" [ref=e37] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- listitem [ref=e38]:
|
||||
- link "Strefa Wiedzy 3" [ref=e39] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- listitem [ref=e40]:
|
||||
- link "Strefa absolwenta" [ref=e41] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- listitem [ref=e42]:
|
||||
- link "Książka MTG" [ref=e43] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- listitem [ref=e44]:
|
||||
- link "Zespół" [ref=e45] [cursor=pointer]:
|
||||
- /url: /o-nas/
|
||||
- listitem [ref=e46]:
|
||||
- link "Opinie" [ref=e47] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/opinie/
|
||||
- listitem [ref=e48]:
|
||||
- link "Kontakt" [ref=e49] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kontakt/
|
||||
- text: a
|
||||
- generic [ref=e50]:
|
||||
- article [ref=e52]:
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]:
|
||||
- generic:
|
||||
- link "4" [ref=e63] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "5" [ref=e64] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- generic [ref=e65]:
|
||||
- link "1" [ref=e66] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "2" [ref=e67] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "3" [ref=e68] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "4" [ref=e69] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- text: 4 5
|
||||
- generic [ref=e71]:
|
||||
- generic [ref=e73]:
|
||||
- generic [ref=e74]:
|
||||
- paragraph
|
||||
- heading "absolwentów kursu MTG" [level=3] [ref=e75]
|
||||
- generic [ref=e77]:
|
||||
- generic [ref=e78]:
|
||||
- paragraph
|
||||
- heading "lat działalności szkoleniowej" [level=3] [ref=e79]
|
||||
- generic [ref=e81]:
|
||||
- generic [ref=e82]:
|
||||
- paragraph
|
||||
- heading "ilość absolwentów Centrum" [level=3] [ref=e83]
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- link "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e88] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- img "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e90]
|
||||
- link "MTG Masaż Tkanek Glębokich" [ref=e93] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- img "MTG Masaż Tkanek Glębokich" [ref=e95]
|
||||
- link "kursy specjalistyczne Rafał Uryzaj" [ref=e98] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-specjalistyczne/
|
||||
- img "kursy specjalistyczne Rafał Uryzaj" [ref=e100]
|
||||
- generic [ref=e101]:
|
||||
- link "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e104] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-cialo-i-twarz/
|
||||
- img "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e106]
|
||||
- link "Dofinansowanie" [ref=e109] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- img "Dofinansowanie" [ref=e111]
|
||||
- link "masaż baijski" [ref=e114] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- img "masaż baijski" [ref=e116]
|
||||
- generic [ref=e117]:
|
||||
- link "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e120] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- img "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e122]
|
||||
- link "strefa wiedzy" [ref=e125] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- img "strefa wiedzy" [ref=e127]
|
||||
- link "masaż baijski" [ref=e130] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- img "masaż baijski" [ref=e132]
|
||||
- contentinfo [ref=e137]:
|
||||
- generic [ref=e138]:
|
||||
- heading "Najcześciej wybierany kurs masażu tkanek głębokich w Polsce." [level=3] [ref=e144]
|
||||
- generic [ref=e146]:
|
||||
- generic [ref=e147]:
|
||||
- paragraph [ref=e150]:
|
||||
- link:
|
||||
- /url: https://www.szkoleniauryzaj.pl/wp-content/uploads/2018/04/logo-Centrum-Szkoleniowe-Rafał-Uryzaj-white.png
|
||||
- generic [ref=e152]:
|
||||
- generic [ref=e155]:
|
||||
- paragraph [ref=e158]: szkolenia@szkoleniauryzaj.pl
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e163]:
|
||||
- paragraph [ref=e166]: 663 041 233
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e170]: O NAS
|
||||
- generic [ref=e172]:
|
||||
- link "Poznaj Nasz Zespół" [ref=e174] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- link "Kursy specjalistyczne" [ref=e176] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kursy-specjalistyczne/
|
||||
- link "Masaż tkanek głębokich" [ref=e177] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- generic [ref=e178]:
|
||||
- paragraph [ref=e181]: INFO
|
||||
- generic [ref=e183]:
|
||||
- link "Artykuły" [ref=e185] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/artykuly/
|
||||
- link "Regulamin usług szkoleniowych" [ref=e187] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/regulamin-uslug-szkoleniowych/
|
||||
- link "Regulamin sklepu" [ref=e189] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/regulamin-sklepu/
|
||||
- link "Polityka Cookies" [ref=e190] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/polityka-cookies/
|
||||
- generic [ref=e191]:
|
||||
- paragraph [ref=e194]: SOCIAL MEDIA
|
||||
- list [ref=e195]:
|
||||
- listitem [ref=e196]:
|
||||
- link "" [ref=e197] [cursor=pointer]:
|
||||
- /url: https://www.facebook.com/Body-Relax-Centrum-Szkoleniowe-179881235376784/
|
||||
- listitem [ref=e198]:
|
||||
- link "" [ref=e199] [cursor=pointer]:
|
||||
- /url: https://www.instagram.com/centrum__szkolen_rafal_uryzaj
|
||||
- listitem [ref=e200]:
|
||||
- link "" [ref=e201] [cursor=pointer]:
|
||||
- /url: https://www.youtube.com/channel/UC1FCLEJZ9bZkRxe0vN169kg
|
||||
- link "Zapisz się na kurs!" [ref=e204] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/?page_id=52
|
||||
- text:
|
||||
- paragraph [ref=e210]:
|
||||
- text: "Developed by:"
|
||||
- link "Stay Creative" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://www.stay-creative.pl/
|
||||
- text: "2"
|
||||
- generic [ref=e215]:
|
||||
- generic [ref=e216]:
|
||||
- img [ref=e217]
|
||||
- heading "Cenimy prywatność użytkowników" [level=4] [ref=e256]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- paragraph [ref=e259]:
|
||||
- text: Używamy plików cookie, aby poprawić jakość przeglądania, wyświetlać reklamy lub treści dostosowane do indywidualnych potrzeb użytkowników oraz analizować ruch na stronie. Kliknięcie przycisku „Akceptuj wszystkie” oznacza zgodę na wykorzystywanie przez nas plików cookie.
|
||||
- link "Regulamin" [ref=e260] [cursor=pointer]:
|
||||
- /url: /regulamin
|
||||
- generic [ref=e261] [cursor=pointer]:
|
||||
- img [ref=e262]
|
||||
- text: Dostosuj
|
||||
- text: ✔
|
||||
- generic [ref=e267]:
|
||||
- button "Akceptuj" [ref=e268] [cursor=pointer]
|
||||
- button "Odrzuć" [ref=e269] [cursor=pointer]
|
||||
@@ -1,172 +0,0 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e3]:
|
||||
- banner [ref=e4]:
|
||||
- generic [ref=e7]:
|
||||
- link "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e10] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/
|
||||
- img "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e12]
|
||||
- generic [ref=e13]:
|
||||
- generic [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- navigation [ref=e18]:
|
||||
- list [ref=e19]:
|
||||
- listitem [ref=e20]:
|
||||
- link "Moje konto" [ref=e21] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/moje-konto/
|
||||
- listitem [ref=e22]:
|
||||
- link "Koszyk" [ref=e23] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- link "" [ref=e24] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- button "U" [ref=e25] [cursor=pointer]
|
||||
- text: a
|
||||
- text: M
|
||||
- generic [ref=e28]:
|
||||
- navigation [ref=e30]:
|
||||
- list [ref=e31]:
|
||||
- listitem [ref=e32]:
|
||||
- link "Studium Terapii Tkanek Miękkich" [ref=e33] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- listitem [ref=e34]:
|
||||
- generic [ref=e35]: Kursy i szkolenia 3
|
||||
- listitem [ref=e36]:
|
||||
- link "Dofinansowanie" [ref=e37] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- listitem [ref=e38]:
|
||||
- link "Strefa Wiedzy 3" [ref=e39] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- listitem [ref=e40]:
|
||||
- link "Strefa absolwenta" [ref=e41] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- listitem [ref=e42]:
|
||||
- link "Książka MTG" [ref=e43] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- listitem [ref=e44]:
|
||||
- link "Zespół" [ref=e45] [cursor=pointer]:
|
||||
- /url: /o-nas/
|
||||
- listitem [ref=e46]:
|
||||
- link "Opinie" [ref=e47] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/opinie/
|
||||
- listitem [ref=e48]:
|
||||
- link "Kontakt" [ref=e49] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kontakt/
|
||||
- text: a
|
||||
- generic [ref=e50]:
|
||||
- article [ref=e52]:
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]:
|
||||
- generic:
|
||||
- link "4" [ref=e63] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "5" [ref=e64] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- generic [ref=e65]:
|
||||
- link "1" [ref=e66] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "2" [ref=e67] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "3" [ref=e68] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "4" [ref=e69] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- text: 4 5
|
||||
- generic [ref=e71]:
|
||||
- generic [ref=e73]:
|
||||
- generic [ref=e74]:
|
||||
- paragraph
|
||||
- heading "absolwentów kursu MTG" [level=3] [ref=e75]
|
||||
- generic [ref=e77]:
|
||||
- generic [ref=e78]:
|
||||
- paragraph
|
||||
- heading "lat działalności szkoleniowej" [level=3] [ref=e79]
|
||||
- generic [ref=e81]:
|
||||
- generic [ref=e82]:
|
||||
- paragraph
|
||||
- heading "ilość absolwentów Centrum" [level=3] [ref=e83]
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- link "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e88] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- img "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e90]
|
||||
- link "MTG Masaż Tkanek Glębokich" [ref=e93] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- img "MTG Masaż Tkanek Glębokich" [ref=e95]
|
||||
- link "kursy specjalistyczne Rafał Uryzaj" [ref=e98] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-specjalistyczne/
|
||||
- img "kursy specjalistyczne Rafał Uryzaj" [ref=e100]
|
||||
- generic [ref=e101]:
|
||||
- link "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e104] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-cialo-i-twarz/
|
||||
- img "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e106]
|
||||
- link "Dofinansowanie" [ref=e109] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- img "Dofinansowanie" [ref=e111]
|
||||
- link "masaż baijski" [ref=e114] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- img "masaż baijski" [ref=e116]
|
||||
- generic [ref=e117]:
|
||||
- link "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e120] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- img "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e122]
|
||||
- link "strefa wiedzy" [ref=e125] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- img "strefa wiedzy" [ref=e127]
|
||||
- link "masaż baijski" [ref=e130] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- img "masaż baijski" [ref=e132]
|
||||
- contentinfo [ref=e137]:
|
||||
- generic [ref=e138]:
|
||||
- heading "Najcześciej wybierany kurs masażu tkanek głębokich w Polsce." [level=3] [ref=e144]
|
||||
- generic [ref=e146]:
|
||||
- generic [ref=e147]:
|
||||
- paragraph [ref=e150]:
|
||||
- link:
|
||||
- /url: https://www.szkoleniauryzaj.pl/wp-content/uploads/2018/04/logo-Centrum-Szkoleniowe-Rafał-Uryzaj-white.png
|
||||
- generic [ref=e152]:
|
||||
- generic [ref=e155]:
|
||||
- paragraph [ref=e158]: szkolenia@szkoleniauryzaj.pl
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e163]:
|
||||
- paragraph [ref=e166]: 663 041 233
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e170]: O NAS
|
||||
- generic [ref=e172]:
|
||||
- link "Poznaj Nasz Zespół" [ref=e174] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- link "Kursy specjalistyczne" [ref=e176] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kursy-specjalistyczne/
|
||||
- link "Masaż tkanek głębokich" [ref=e177] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- generic [ref=e178]:
|
||||
- paragraph [ref=e181]: INFO
|
||||
- generic [ref=e183]:
|
||||
- link "Artykuły" [ref=e185] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/artykuly/
|
||||
- link "Regulamin usług szkoleniowych" [ref=e187] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/regulamin-uslug-szkoleniowych/
|
||||
- link "Regulamin sklepu" [ref=e189] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/regulamin-sklepu/
|
||||
- link "Polityka Cookies" [ref=e190] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/polityka-cookies/
|
||||
- generic [ref=e191]:
|
||||
- paragraph [ref=e194]: SOCIAL MEDIA
|
||||
- list [ref=e195]:
|
||||
- listitem [ref=e196]:
|
||||
- link "" [ref=e197] [cursor=pointer]:
|
||||
- /url: https://www.facebook.com/Body-Relax-Centrum-Szkoleniowe-179881235376784/
|
||||
- listitem [ref=e198]:
|
||||
- link "" [ref=e199] [cursor=pointer]:
|
||||
- /url: https://www.instagram.com/centrum__szkolen_rafal_uryzaj
|
||||
- listitem [ref=e200]:
|
||||
- link "" [ref=e201] [cursor=pointer]:
|
||||
- /url: https://www.youtube.com/channel/UC1FCLEJZ9bZkRxe0vN169kg
|
||||
- link "Zapisz się na kurs!" [ref=e204] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/?page_id=52
|
||||
- text:
|
||||
- paragraph [ref=e210]:
|
||||
- text: "Developed by:"
|
||||
- link "Stay Creative" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://www.stay-creative.pl/
|
||||
- text: "2"
|
||||
- img [ref=e215] [cursor=pointer]
|
||||
@@ -1,172 +0,0 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e3]:
|
||||
- banner [ref=e4]:
|
||||
- generic [ref=e7]:
|
||||
- link "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e10] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/
|
||||
- img "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e12]
|
||||
- generic [ref=e13]:
|
||||
- generic [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- navigation [ref=e18]:
|
||||
- list [ref=e19]:
|
||||
- listitem [ref=e20]:
|
||||
- link "Moje konto" [ref=e21] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/moje-konto/
|
||||
- listitem [ref=e22]:
|
||||
- link "Koszyk" [ref=e23] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- link "" [ref=e24] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- button "U" [ref=e25] [cursor=pointer]
|
||||
- text: a
|
||||
- text: M
|
||||
- generic [ref=e28]:
|
||||
- navigation [ref=e30]:
|
||||
- list [ref=e31]:
|
||||
- listitem [ref=e32]:
|
||||
- link "Studium Terapii Tkanek Miękkich" [ref=e33] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- listitem [ref=e34]:
|
||||
- generic [ref=e35]: Kursy i szkolenia 3
|
||||
- listitem [ref=e36]:
|
||||
- link "Dofinansowanie" [ref=e37] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- listitem [ref=e38]:
|
||||
- link "Strefa Wiedzy 3" [ref=e39] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- listitem [ref=e40]:
|
||||
- link "Strefa absolwenta" [ref=e41] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- listitem [ref=e42]:
|
||||
- link "Książka MTG" [ref=e43] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- listitem [ref=e44]:
|
||||
- link "Zespół" [ref=e45] [cursor=pointer]:
|
||||
- /url: /o-nas/
|
||||
- listitem [ref=e46]:
|
||||
- link "Opinie" [ref=e47] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/opinie/
|
||||
- listitem [ref=e48]:
|
||||
- link "Kontakt" [ref=e49] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kontakt/
|
||||
- text: a
|
||||
- generic [ref=e50]:
|
||||
- article [ref=e52]:
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]:
|
||||
- generic:
|
||||
- link "4" [ref=e63] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "5" [ref=e64] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- generic [ref=e65]:
|
||||
- link "1" [ref=e66] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "2" [ref=e67] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "3" [ref=e68] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "4" [ref=e69] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- text: 4 5
|
||||
- generic [ref=e71]:
|
||||
- generic [ref=e73]:
|
||||
- generic [ref=e74]:
|
||||
- paragraph
|
||||
- heading "absolwentów kursu MTG" [level=3] [ref=e75]
|
||||
- generic [ref=e77]:
|
||||
- generic [ref=e78]:
|
||||
- paragraph
|
||||
- heading "lat działalności szkoleniowej" [level=3] [ref=e79]
|
||||
- generic [ref=e81]:
|
||||
- generic [ref=e82]:
|
||||
- paragraph
|
||||
- heading "ilość absolwentów Centrum" [level=3] [ref=e83]
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- link "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e88] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- img "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e90]
|
||||
- link "MTG Masaż Tkanek Glębokich" [ref=e93] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- img "MTG Masaż Tkanek Glębokich" [ref=e95]
|
||||
- link "kursy specjalistyczne Rafał Uryzaj" [ref=e98] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-specjalistyczne/
|
||||
- img "kursy specjalistyczne Rafał Uryzaj" [ref=e100]
|
||||
- generic [ref=e101]:
|
||||
- link "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e104] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-cialo-i-twarz/
|
||||
- img "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e106]
|
||||
- link "Dofinansowanie" [ref=e109] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- img "Dofinansowanie" [ref=e111]
|
||||
- link "masaż baijski" [ref=e114] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- img "masaż baijski" [ref=e116]
|
||||
- generic [ref=e117]:
|
||||
- link "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e120] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- img "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e122]
|
||||
- link "strefa wiedzy" [ref=e125] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- img "strefa wiedzy" [ref=e127]
|
||||
- link "masaż baijski" [ref=e130] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- img "masaż baijski" [ref=e132]
|
||||
- contentinfo [ref=e137]:
|
||||
- generic [ref=e138]:
|
||||
- heading "Najcześciej wybierany kurs masażu tkanek głębokich w Polsce." [level=3] [ref=e144]
|
||||
- generic [ref=e146]:
|
||||
- generic [ref=e147]:
|
||||
- paragraph [ref=e150]:
|
||||
- link:
|
||||
- /url: https://www.szkoleniauryzaj.pl/wp-content/uploads/2018/04/logo-Centrum-Szkoleniowe-Rafał-Uryzaj-white.png
|
||||
- generic [ref=e152]:
|
||||
- generic [ref=e155]:
|
||||
- paragraph [ref=e158]: szkolenia@szkoleniauryzaj.pl
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e163]:
|
||||
- paragraph [ref=e166]: 663 041 233
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e170]: O NAS
|
||||
- generic [ref=e172]:
|
||||
- link "Poznaj Nasz Zespół" [ref=e174] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- link "Kursy specjalistyczne" [ref=e176] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kursy-specjalistyczne/
|
||||
- link "Masaż tkanek głębokich" [ref=e177] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- generic [ref=e178]:
|
||||
- paragraph [ref=e181]: INFO
|
||||
- generic [ref=e183]:
|
||||
- link "Artykuły" [ref=e185] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/artykuly/
|
||||
- link "Regulamin usług szkoleniowych" [ref=e187] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/regulamin-uslug-szkoleniowych/
|
||||
- link "Regulamin sklepu" [ref=e189] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/regulamin-sklepu/
|
||||
- link "Polityka Cookies" [ref=e190] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/polityka-cookies/
|
||||
- generic [ref=e191]:
|
||||
- paragraph [ref=e194]: SOCIAL MEDIA
|
||||
- list [ref=e195]:
|
||||
- listitem [ref=e196]:
|
||||
- link "" [ref=e197] [cursor=pointer]:
|
||||
- /url: https://www.facebook.com/Body-Relax-Centrum-Szkoleniowe-179881235376784/
|
||||
- listitem [ref=e198]:
|
||||
- link "" [ref=e199] [cursor=pointer]:
|
||||
- /url: https://www.instagram.com/centrum__szkolen_rafal_uryzaj
|
||||
- listitem [ref=e200]:
|
||||
- link "" [ref=e201] [cursor=pointer]:
|
||||
- /url: https://www.youtube.com/channel/UC1FCLEJZ9bZkRxe0vN169kg
|
||||
- link "Zapisz się na kurs!" [ref=e204] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/?page_id=52
|
||||
- text:
|
||||
- paragraph [ref=e210]:
|
||||
- text: "Developed by:"
|
||||
- link "Stay Creative" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://www.stay-creative.pl/
|
||||
- text: "2"
|
||||
- img [ref=e215] [cursor=pointer]
|
||||
@@ -1,172 +0,0 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e3]:
|
||||
- banner [ref=e4]:
|
||||
- generic [ref=e7]:
|
||||
- link "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e10] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/
|
||||
- img "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e12]
|
||||
- generic [ref=e13]:
|
||||
- generic [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- navigation [ref=e18]:
|
||||
- list [ref=e19]:
|
||||
- listitem [ref=e20]:
|
||||
- link "Moje konto" [ref=e21] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/moje-konto/
|
||||
- listitem [ref=e22]:
|
||||
- link "Koszyk" [ref=e23] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- link "" [ref=e24] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- button "U" [ref=e25] [cursor=pointer]
|
||||
- text: a
|
||||
- text: M
|
||||
- generic [ref=e28]:
|
||||
- navigation [ref=e30]:
|
||||
- list [ref=e31]:
|
||||
- listitem [ref=e32]:
|
||||
- link "Studium Terapii Tkanek Miękkich" [ref=e33] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- listitem [ref=e34]:
|
||||
- generic [ref=e35]: Kursy i szkolenia 3
|
||||
- listitem [ref=e36]:
|
||||
- link "Dofinansowanie" [ref=e37] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- listitem [ref=e38]:
|
||||
- link "Strefa Wiedzy 3" [ref=e39] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- listitem [ref=e40]:
|
||||
- link "Strefa absolwenta" [ref=e41] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- listitem [ref=e42]:
|
||||
- link "Książka MTG" [ref=e43] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- listitem [ref=e44]:
|
||||
- link "Zespół" [ref=e45] [cursor=pointer]:
|
||||
- /url: /o-nas/
|
||||
- listitem [ref=e46]:
|
||||
- link "Opinie" [ref=e47] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/opinie/
|
||||
- listitem [ref=e48]:
|
||||
- link "Kontakt" [ref=e49] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kontakt/
|
||||
- text: a
|
||||
- generic [ref=e50]:
|
||||
- article [ref=e52]:
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]:
|
||||
- generic:
|
||||
- link "4" [ref=e63] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "5" [ref=e64] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- generic [ref=e65]:
|
||||
- link "1" [ref=e66] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "2" [ref=e67] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "3" [ref=e68] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "4" [ref=e69] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- text: 4 5
|
||||
- generic [ref=e71]:
|
||||
- generic [ref=e73]:
|
||||
- generic [ref=e74]:
|
||||
- paragraph
|
||||
- heading "absolwentów kursu MTG" [level=3] [ref=e75]
|
||||
- generic [ref=e77]:
|
||||
- generic [ref=e78]:
|
||||
- paragraph
|
||||
- heading "lat działalności szkoleniowej" [level=3] [ref=e79]
|
||||
- generic [ref=e81]:
|
||||
- generic [ref=e82]:
|
||||
- paragraph
|
||||
- heading "ilość absolwentów Centrum" [level=3] [ref=e83]
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- link "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e88] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- img "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e90]
|
||||
- link "MTG Masaż Tkanek Glębokich" [ref=e93] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- img "MTG Masaż Tkanek Glębokich" [ref=e95]
|
||||
- link "kursy specjalistyczne Rafał Uryzaj" [ref=e98] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-specjalistyczne/
|
||||
- img "kursy specjalistyczne Rafał Uryzaj" [ref=e100]
|
||||
- generic [ref=e101]:
|
||||
- link "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e104] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-cialo-i-twarz/
|
||||
- img "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e106]
|
||||
- link "Dofinansowanie" [ref=e109] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- img "Dofinansowanie" [ref=e111]
|
||||
- link "masaż baijski" [ref=e114] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- img "masaż baijski" [ref=e116]
|
||||
- generic [ref=e117]:
|
||||
- link "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e120] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- img "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e122]
|
||||
- link "strefa wiedzy" [ref=e125] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- img "strefa wiedzy" [ref=e127]
|
||||
- link "masaż baijski" [ref=e130] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- img "masaż baijski" [ref=e132]
|
||||
- contentinfo [ref=e137]:
|
||||
- generic [ref=e138]:
|
||||
- heading "Najcześciej wybierany kurs masażu tkanek głębokich w Polsce." [level=3] [ref=e144]
|
||||
- generic [ref=e146]:
|
||||
- generic [ref=e147]:
|
||||
- paragraph [ref=e150]:
|
||||
- link:
|
||||
- /url: https://www.szkoleniauryzaj.pl/wp-content/uploads/2018/04/logo-Centrum-Szkoleniowe-Rafał-Uryzaj-white.png
|
||||
- generic [ref=e152]:
|
||||
- generic [ref=e155]:
|
||||
- paragraph [ref=e158]: szkolenia@szkoleniauryzaj.pl
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e163]:
|
||||
- paragraph [ref=e166]: 663 041 233
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e170]: O NAS
|
||||
- generic [ref=e172]:
|
||||
- link "Poznaj Nasz Zespół" [ref=e174] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- link "Kursy specjalistyczne" [ref=e176] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kursy-specjalistyczne/
|
||||
- link "Masaż tkanek głębokich" [ref=e177] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- generic [ref=e178]:
|
||||
- paragraph [ref=e181]: INFO
|
||||
- generic [ref=e183]:
|
||||
- link "Artykuły" [ref=e185] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/artykuly/
|
||||
- link "Regulamin usług szkoleniowych" [ref=e187] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/regulamin-uslug-szkoleniowych/
|
||||
- link "Regulamin sklepu" [ref=e189] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/regulamin-sklepu/
|
||||
- link "Polityka Cookies" [ref=e190] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/polityka-cookies/
|
||||
- generic [ref=e191]:
|
||||
- paragraph [ref=e194]: SOCIAL MEDIA
|
||||
- list [ref=e195]:
|
||||
- listitem [ref=e196]:
|
||||
- link "" [ref=e197] [cursor=pointer]:
|
||||
- /url: https://www.facebook.com/Body-Relax-Centrum-Szkoleniowe-179881235376784/
|
||||
- listitem [ref=e198]:
|
||||
- link "" [ref=e199] [cursor=pointer]:
|
||||
- /url: https://www.instagram.com/centrum__szkolen_rafal_uryzaj
|
||||
- listitem [ref=e200]:
|
||||
- link "" [ref=e201] [cursor=pointer]:
|
||||
- /url: https://www.youtube.com/channel/UC1FCLEJZ9bZkRxe0vN169kg
|
||||
- link "Zapisz się na kurs!" [ref=e204] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/?page_id=52
|
||||
- text:
|
||||
- paragraph [ref=e210]:
|
||||
- text: "Developed by:"
|
||||
- link "Stay Creative" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://www.stay-creative.pl/
|
||||
- text: "2"
|
||||
- img [ref=e215] [cursor=pointer]
|
||||
@@ -1,172 +0,0 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e3]:
|
||||
- banner [ref=e4]:
|
||||
- generic [ref=e7]:
|
||||
- link "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e10] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/
|
||||
- img "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e12]
|
||||
- generic [ref=e13]:
|
||||
- generic [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- navigation [ref=e18]:
|
||||
- list [ref=e19]:
|
||||
- listitem [ref=e20]:
|
||||
- link "Moje konto" [ref=e21] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/moje-konto/
|
||||
- listitem [ref=e22]:
|
||||
- link "Koszyk" [ref=e23] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- link "" [ref=e24] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- button "U" [ref=e25] [cursor=pointer]
|
||||
- text: a
|
||||
- text: M
|
||||
- generic [ref=e28]:
|
||||
- navigation [ref=e30]:
|
||||
- list [ref=e31]:
|
||||
- listitem [ref=e32]:
|
||||
- link "Studium Terapii Tkanek Miękkich" [ref=e33] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- listitem [ref=e34]:
|
||||
- generic [ref=e35]: Kursy i szkolenia 3
|
||||
- listitem [ref=e36]:
|
||||
- link "Dofinansowanie" [ref=e37] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- listitem [ref=e38]:
|
||||
- link "Strefa Wiedzy 3" [ref=e39] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- listitem [ref=e40]:
|
||||
- link "Strefa absolwenta" [ref=e41] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- listitem [ref=e42]:
|
||||
- link "Książka MTG" [ref=e43] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- listitem [ref=e44]:
|
||||
- link "Zespół" [ref=e45] [cursor=pointer]:
|
||||
- /url: /o-nas/
|
||||
- listitem [ref=e46]:
|
||||
- link "Opinie" [ref=e47] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/opinie/
|
||||
- listitem [ref=e48]:
|
||||
- link "Kontakt" [ref=e49] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kontakt/
|
||||
- text: a
|
||||
- generic [ref=e50]:
|
||||
- article [ref=e52]:
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]:
|
||||
- generic:
|
||||
- link "4" [ref=e63] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "5" [ref=e64] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- generic [ref=e65]:
|
||||
- link "1" [ref=e66] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "2" [ref=e67] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "3" [ref=e68] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "4" [ref=e69] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- text: 4 5
|
||||
- generic [ref=e71]:
|
||||
- generic [ref=e73]:
|
||||
- generic [ref=e74]:
|
||||
- paragraph
|
||||
- heading "absolwentów kursu MTG" [level=3] [ref=e75]
|
||||
- generic [ref=e77]:
|
||||
- generic [ref=e78]:
|
||||
- paragraph
|
||||
- heading "lat działalności szkoleniowej" [level=3] [ref=e79]
|
||||
- generic [ref=e81]:
|
||||
- generic [ref=e82]:
|
||||
- paragraph
|
||||
- heading "ilość absolwentów Centrum" [level=3] [ref=e83]
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- link "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e88] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- img "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e90]
|
||||
- link "MTG Masaż Tkanek Glębokich" [ref=e93] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- img "MTG Masaż Tkanek Glębokich" [ref=e95]
|
||||
- link "kursy specjalistyczne Rafał Uryzaj" [ref=e98] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-specjalistyczne/
|
||||
- img "kursy specjalistyczne Rafał Uryzaj" [ref=e100]
|
||||
- generic [ref=e101]:
|
||||
- link "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e104] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-cialo-i-twarz/
|
||||
- img "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e106]
|
||||
- link "Dofinansowanie" [ref=e109] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- img "Dofinansowanie" [ref=e111]
|
||||
- link "masaż baijski" [ref=e114] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- img "masaż baijski" [ref=e116]
|
||||
- generic [ref=e117]:
|
||||
- link "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e120] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- img "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e122]
|
||||
- link "strefa wiedzy" [ref=e125] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- img "strefa wiedzy" [ref=e127]
|
||||
- link "masaż baijski" [ref=e130] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- img "masaż baijski" [ref=e132]
|
||||
- contentinfo [ref=e137]:
|
||||
- generic [ref=e138]:
|
||||
- heading "Najcześciej wybierany kurs masażu tkanek głębokich w Polsce." [level=3] [ref=e144]
|
||||
- generic [ref=e146]:
|
||||
- generic [ref=e147]:
|
||||
- paragraph [ref=e150]:
|
||||
- link:
|
||||
- /url: https://www.szkoleniauryzaj.pl/wp-content/uploads/2018/04/logo-Centrum-Szkoleniowe-Rafał-Uryzaj-white.png
|
||||
- generic [ref=e152]:
|
||||
- generic [ref=e155]:
|
||||
- paragraph [ref=e158]: szkolenia@szkoleniauryzaj.pl
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e163]:
|
||||
- paragraph [ref=e166]: 663 041 233
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e170]: O NAS
|
||||
- generic [ref=e172]:
|
||||
- link "Poznaj Nasz Zespół" [ref=e174] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- link "Kursy specjalistyczne" [ref=e176] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kursy-specjalistyczne/
|
||||
- link "Masaż tkanek głębokich" [ref=e177] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- generic [ref=e178]:
|
||||
- paragraph [ref=e181]: INFO
|
||||
- generic [ref=e183]:
|
||||
- link "Artykuły" [ref=e185] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/artykuly/
|
||||
- link "Regulamin usług szkoleniowych" [ref=e187] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/regulamin-uslug-szkoleniowych/
|
||||
- link "Regulamin sklepu" [ref=e189] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/regulamin-sklepu/
|
||||
- link "Polityka Cookies" [ref=e190] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/polityka-cookies/
|
||||
- generic [ref=e191]:
|
||||
- paragraph [ref=e194]: SOCIAL MEDIA
|
||||
- list [ref=e195]:
|
||||
- listitem [ref=e196]:
|
||||
- link "" [ref=e197] [cursor=pointer]:
|
||||
- /url: https://www.facebook.com/Body-Relax-Centrum-Szkoleniowe-179881235376784/
|
||||
- listitem [ref=e198]:
|
||||
- link "" [ref=e199] [cursor=pointer]:
|
||||
- /url: https://www.instagram.com/centrum__szkolen_rafal_uryzaj
|
||||
- listitem [ref=e200]:
|
||||
- link "" [ref=e201] [cursor=pointer]:
|
||||
- /url: https://www.youtube.com/channel/UC1FCLEJZ9bZkRxe0vN169kg
|
||||
- link "Zapisz się na kurs!" [ref=e204] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/?page_id=52
|
||||
- text:
|
||||
- paragraph [ref=e210]:
|
||||
- text: "Developed by:"
|
||||
- link "Stay Creative" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://www.stay-creative.pl/
|
||||
- text: "2"
|
||||
- img [ref=e215] [cursor=pointer]
|
||||
@@ -1,188 +0,0 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e3]:
|
||||
- banner [ref=e4]:
|
||||
- generic [ref=e7]:
|
||||
- link "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e10] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/
|
||||
- img "centrum-szkoleniowe-rafal-uryzaj-logo-www-600px" [ref=e12]
|
||||
- generic [ref=e13]:
|
||||
- generic [ref=e15]:
|
||||
- generic [ref=e16]:
|
||||
- navigation [ref=e18]:
|
||||
- list [ref=e19]:
|
||||
- listitem [ref=e20]:
|
||||
- link "Moje konto" [ref=e21] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/moje-konto/
|
||||
- listitem [ref=e22]:
|
||||
- link "Koszyk" [ref=e23] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- link "" [ref=e24] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/koszyk/
|
||||
- button "U" [ref=e25] [cursor=pointer]
|
||||
- text: a
|
||||
- text: M
|
||||
- generic [ref=e28]:
|
||||
- navigation [ref=e30]:
|
||||
- list [ref=e31]:
|
||||
- listitem [ref=e32]:
|
||||
- link "Studium Terapii Tkanek Miękkich" [ref=e33] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- listitem [ref=e34]:
|
||||
- generic [ref=e35]: Kursy i szkolenia 3
|
||||
- listitem [ref=e36]:
|
||||
- link "Dofinansowanie" [ref=e37] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- listitem [ref=e38]:
|
||||
- link "Strefa Wiedzy 3" [ref=e39] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- listitem [ref=e40]:
|
||||
- link "Strefa absolwenta" [ref=e41] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- listitem [ref=e42]:
|
||||
- link "Książka MTG" [ref=e43] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- listitem [ref=e44]:
|
||||
- link "Zespół" [ref=e45] [cursor=pointer]:
|
||||
- /url: /o-nas/
|
||||
- listitem [ref=e46]:
|
||||
- link "Opinie" [ref=e47] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/opinie/
|
||||
- listitem [ref=e48]:
|
||||
- link "Kontakt" [ref=e49] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kontakt/
|
||||
- text: a
|
||||
- generic [ref=e50]:
|
||||
- article [ref=e52]:
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e57]:
|
||||
- generic:
|
||||
- link "4" [ref=e63] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "5" [ref=e64] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- generic [ref=e65]:
|
||||
- link "1" [ref=e66] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "2" [ref=e67] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "3" [ref=e68] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- link "4" [ref=e69] [cursor=pointer]:
|
||||
- /url: "#"
|
||||
- text: 4 5
|
||||
- generic [ref=e71]:
|
||||
- generic [ref=e73]:
|
||||
- generic [ref=e74]:
|
||||
- paragraph
|
||||
- heading "absolwentów kursu MTG" [level=3] [ref=e75]
|
||||
- generic [ref=e77]:
|
||||
- generic [ref=e78]:
|
||||
- paragraph
|
||||
- heading "lat działalności szkoleniowej" [level=3] [ref=e79]
|
||||
- generic [ref=e81]:
|
||||
- generic [ref=e82]:
|
||||
- paragraph
|
||||
- heading "ilość absolwentów Centrum" [level=3] [ref=e83]
|
||||
- generic [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- link "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e88] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/roczne-studium-terapii-tkanek-miekkich/
|
||||
- img "Roczne Studium Terapii Tkanek Miękkich Rafala Uryzaja" [ref=e90]
|
||||
- link "MTG Masaż Tkanek Glębokich" [ref=e93] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- img "MTG Masaż Tkanek Glębokich" [ref=e95]
|
||||
- link "kursy specjalistyczne Rafał Uryzaj" [ref=e98] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-specjalistyczne/
|
||||
- img "kursy specjalistyczne Rafał Uryzaj" [ref=e100]
|
||||
- generic [ref=e101]:
|
||||
- link "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e104] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kategoria-produktu/kursy-cialo-i-twarz/
|
||||
- img "Kursy Ciało i Twarz - Centrum Szkoleniowe Rafał Uryzaj" [ref=e106]
|
||||
- link "Dofinansowanie" [ref=e109] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/dofinansowanie-do-szkolen-kursow/
|
||||
- img "Dofinansowanie" [ref=e111]
|
||||
- link "masaż baijski" [ref=e114] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/kursy-i-szkolenia/ksiazka-anatomia-masazu-tkanek-glebokich/
|
||||
- img "masaż baijski" [ref=e116]
|
||||
- generic [ref=e117]:
|
||||
- link "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e120] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- img "Andrzejewski_Pawel_Fotograf_Slubny_Poznan" [ref=e122]
|
||||
- link "strefa wiedzy" [ref=e125] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-wiedzy/
|
||||
- img "strefa wiedzy" [ref=e127]
|
||||
- link "masaż baijski" [ref=e130] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/strefa-absolwenta/
|
||||
- img "masaż baijski" [ref=e132]
|
||||
- contentinfo [ref=e137]:
|
||||
- generic [ref=e138]:
|
||||
- heading "Najcześciej wybierany kurs masażu tkanek głębokich w Polsce." [level=3] [ref=e144]
|
||||
- generic [ref=e146]:
|
||||
- generic [ref=e147]:
|
||||
- paragraph [ref=e150]:
|
||||
- link:
|
||||
- /url: https://www.szkoleniauryzaj.pl/wp-content/uploads/2018/04/logo-Centrum-Szkoleniowe-Rafał-Uryzaj-white.png
|
||||
- generic [ref=e152]:
|
||||
- generic [ref=e155]:
|
||||
- paragraph [ref=e158]: szkolenia@szkoleniauryzaj.pl
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e163]:
|
||||
- paragraph [ref=e166]: 663 041 233
|
||||
- generic [ref=e167]:
|
||||
- paragraph [ref=e170]: O NAS
|
||||
- generic [ref=e172]:
|
||||
- link "Poznaj Nasz Zespół" [ref=e174] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/
|
||||
- link "Kursy specjalistyczne" [ref=e176] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kursy-specjalistyczne/
|
||||
- link "Masaż tkanek głębokich" [ref=e177] [cursor=pointer]:
|
||||
- /url: /kategoria-produktu/kurs-masazu-tkanek-glebokich/
|
||||
- generic [ref=e178]:
|
||||
- paragraph [ref=e181]: INFO
|
||||
- generic [ref=e183]:
|
||||
- link "Artykuły" [ref=e185] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/artykuly/
|
||||
- link "Regulamin usług szkoleniowych" [ref=e187] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/o-nas/regulamin-uslug-szkoleniowych/
|
||||
- link "Regulamin sklepu" [ref=e189] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/regulamin-sklepu/
|
||||
- link "Polityka Cookies" [ref=e190] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/polityka-cookies/
|
||||
- generic [ref=e191]:
|
||||
- paragraph [ref=e194]: SOCIAL MEDIA
|
||||
- list [ref=e195]:
|
||||
- listitem [ref=e196]:
|
||||
- link "" [ref=e197] [cursor=pointer]:
|
||||
- /url: https://www.facebook.com/Body-Relax-Centrum-Szkoleniowe-179881235376784/
|
||||
- listitem [ref=e198]:
|
||||
- link "" [ref=e199] [cursor=pointer]:
|
||||
- /url: https://www.instagram.com/centrum__szkolen_rafal_uryzaj
|
||||
- listitem [ref=e200]:
|
||||
- link "" [ref=e201] [cursor=pointer]:
|
||||
- /url: https://www.youtube.com/channel/UC1FCLEJZ9bZkRxe0vN169kg
|
||||
- link "Zapisz się na kurs!" [ref=e204] [cursor=pointer]:
|
||||
- /url: https://www.szkoleniauryzaj.pl/?page_id=52
|
||||
- text:
|
||||
- paragraph [ref=e210]:
|
||||
- text: "Developed by:"
|
||||
- link "Stay Creative" [ref=e211] [cursor=pointer]:
|
||||
- /url: http://www.stay-creative.pl/
|
||||
- text: "2"
|
||||
- generic [ref=e215]:
|
||||
- generic [ref=e216]:
|
||||
- img [ref=e217]
|
||||
- heading "Cenimy prywatność użytkowników" [level=4] [ref=e256]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- paragraph [ref=e259]:
|
||||
- text: Używamy plików cookie, aby poprawić jakość przeglądania, wyświetlać reklamy lub treści dostosowane do indywidualnych potrzeb użytkowników oraz analizować ruch na stronie. Kliknięcie przycisku „Akceptuj wszystkie” oznacza zgodę na wykorzystywanie przez nas plików cookie.
|
||||
- link "Regulamin" [ref=e260] [cursor=pointer]:
|
||||
- /url: /regulamin
|
||||
- generic [ref=e261] [cursor=pointer]:
|
||||
- img [ref=e262]
|
||||
- text: Dostosuj
|
||||
- text: ✔
|
||||
- generic [ref=e267]:
|
||||
- button "Akceptuj" [ref=e268] [cursor=pointer]
|
||||
- button "Odrzuć" [ref=e269] [cursor=pointer]
|
||||
8994
.vscode/ftp-kr.sync.cache.json
vendored
8994
.vscode/ftp-kr.sync.cache.json
vendored
File diff suppressed because it is too large
Load Diff
4
.vscode/sftp.json
vendored
4
.vscode/sftp.json
vendored
@@ -3,8 +3,8 @@
|
||||
"host": "s165.cyber-folks.pl",
|
||||
"protocol": "ftp",
|
||||
"port": 21,
|
||||
"username": "garbary",
|
||||
"password": "GTdyerhxus649gv0:80dnsd7",
|
||||
"username": "projectpro@szkoleniauryzaj.pl",
|
||||
"password": "d9i0-J-OxD%eqyH#",
|
||||
"remotePath": "/domains/szkoleniauryzaj.pl/public_html/",
|
||||
"uploadOnSave": false,
|
||||
"useTempFile": false,
|
||||
|
||||
@@ -8864,7 +8864,7 @@ function add_custom_css() {
|
||||
add_action('wp_enqueue_scripts', 'add_custom_css');
|
||||
|
||||
function enqueue_custom_script() {
|
||||
wp_enqueue_script('own-custom-script', get_template_directory_uri() . '/libs/CookieNoticePro/cookienoticepro.script.js', array('jquery'), '1.0', true);
|
||||
wp_enqueue_script('own-custom-script', get_template_directory_uri() . '/libs/CookieNoticePro/cookienoticepro.script.js', array('jquery'), '1.1', true);
|
||||
wp_enqueue_script('custom-script', get_template_directory_uri() . '/custom-code.js', array('jquery'), '1.0.0', true);
|
||||
}
|
||||
add_action('wp_enqueue_scripts', 'enqueue_custom_script');
|
||||
|
||||
@@ -50,8 +50,9 @@ Make your own cookie information popup in minutes.
|
||||
title: "Cenimy prywatność użytkowników", // Title of popup bannner
|
||||
description: "Używamy plików cookie, aby poprawić jakość przeglądania, wyświetlać reklamy lub treści dostosowane do indywidualnych potrzeb użytkowników oraz analizować ruch na stronie. Kliknięcie przycisku „Akceptuj wszystkie” oznacza zgodę na wykorzystywanie przez nas plików cookie.", // Message
|
||||
acceptBtnLabel: "Akceptuj", // Accept cookie button text
|
||||
declineInfoBtnLabel: "Odrzuć", // Decline cookie button text
|
||||
moreInfoBtnLink: "/regulamin", // Learn more link(default: privacy policy page)
|
||||
confirmBtnLabel: "Zatwierdź", // Tekst przycisku akceptacji gdy lista kategorii jest widoczna
|
||||
declineInfoBtnLabel: "Dostosuj", // Dawniej "Odrzuć" — teraz otwiera listę kategorii
|
||||
moreInfoBtnLink: "https://www.szkoleniauryzaj.pl/polityka-cookies/", // Learn more link(default: privacy policy page)
|
||||
moreInfoBtnLabel: "Regulamin", // More info link text
|
||||
cookieTypesTitle: "Wybierz pliki cookies do akceptacji", // Title of cookie preference options
|
||||
necessaryCookieTypeLabel: "Wymagane", // Label text of Necessary cookie item
|
||||
@@ -170,10 +171,12 @@ Make your own cookie information popup in minutes.
|
||||
$("#cookieTypes").slideDown("fast", function () {
|
||||
$("#cookieSettings").prop("disabled", true);
|
||||
});
|
||||
$("#cookieAccept").text(config.confirmBtnLabel);
|
||||
} else {
|
||||
$('input[name="gdprPrefItem"]:not(:disabled)').attr("data-compulsory", "off").prop("checked", config.allCheckboxesChecked);
|
||||
$("#cookieTypes").toggle("fast", function () {
|
||||
$("#cookieSettings").prop("disabled", false);
|
||||
$("#cookieAccept").text($("#cookieTypes").is(":visible") ? config.confirmBtnLabel : config.acceptBtnLabel);
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -181,14 +184,12 @@ Make your own cookie information popup in minutes.
|
||||
$("#cookieNoticePro").remove();
|
||||
});
|
||||
$("body").on("click", "#cookieReject", () => {
|
||||
hideCookieBanner(false, config.expires);
|
||||
config.onConsentReject.call(this);
|
||||
|
||||
// Delete prefs cookie from brower on reject
|
||||
createCookie(COOKIE_CONSENT_PREFS, "", {
|
||||
expires: daysToUTC(-365),
|
||||
path: "/"
|
||||
});
|
||||
// "Dostosuj": rozwija listę kategorii (bez odrzucania). Odrzucenie = odznacz + "Zatwierdź".
|
||||
if ($("#cookieTypes").is(":hidden")) {
|
||||
$('input[name="gdprPrefItem"]:not(:disabled)').attr("data-compulsory", "off").prop("checked", config.allCheckboxesChecked);
|
||||
$("#cookieTypes").slideDown("fast");
|
||||
}
|
||||
$("#cookieAccept").text(config.confirmBtnLabel);
|
||||
});
|
||||
}
|
||||
// If already consent is accepted, inject preferences
|
||||
|
||||
Reference in New Issue
Block a user