9.1 KiB
Struktura bazy danych shopPRO
Plik aktualizowany na bieżąco przy zmianach w kodzie.
ORM: Medoo ($mdb), prefix tabel: pp_
pp_shop_products
Główna tabela produktów.
| Kolumna | Opis |
|---|---|
| id | PK |
| parent_id | FK do produktu nadrzędnego (kombinacje) - NULL dla produktów głównych |
| price_brutto | Cena brutto |
| price_brutto_promo | Cena promocyjna brutto |
| quantity | Stan magazynowy |
| status | Status: 1 = aktywny, 0 = nieaktywny |
| archive | Archiwum: 1 = zarchiwizowany, 0 = aktywny |
| promoted | Czy promowany |
| vat | Stawka VAT |
| ean | Kod EAN |
| sku | Kod SKU |
| baselinker_product_name | Nazwa produktu w Baselinker |
| apilo_product_name | Nazwa produktu w Apilo |
Używane w: Domain\Product\ProductRepository, admin\factory\ShopProduct
pp_shop_products_langs
Tłumaczenia produktów (per język).
| Kolumna | Opis |
|---|---|
| id | PK |
| product_id | FK do pp_shop_products |
| lang_id | ID języka (np. 'pl') |
| name | Nazwa produktu |
Używane w: Domain\Product\ProductRepository::getName()
pp_shop_products_images
Zdjęcia produktów.
| Kolumna | Opis |
|---|---|
| id | PK |
| product_id | FK do pp_shop_products |
| src | Ścieżka do pliku |
| alt | Tekst alternatywny |
pp_shop_products_categories
Przypisanie produktów do kategorii.
| Kolumna | Opis |
|---|---|
| product_id | FK do pp_shop_products |
Używane w: admin\factory\ShopProduct::product_delete()
pp_banners
Banery.
| Kolumna | Opis |
|---|---|
| id | PK |
| name | Nazwa banera |
| status | 0/1 |
| date_start | Data rozpoczęcia |
| date_end | Data zakończenia |
| home_page | Czy na stronie głównej 0/1 |
Używane w: Domain\Banner\BannerRepository
pp_banners_langs
Tłumaczenia banerów.
| Kolumna | Opis |
|---|---|
| id | PK |
| id_banner | FK do pp_banners |
| id_lang | ID języka |
| src | Ścieżka do grafiki |
| url | URL docelowy |
| html | Kod HTML |
| text | Tekst |
Używane w: Domain\Banner\BannerRepository
pp_articles
Artykuły.
| Kolumna | Opis |
|---|---|
| id | PK |
| status | -1 = archiwum, 0 = nieaktywny, 1 = aktywny |
Używane w: admin\Controllers\ArticlesArchiveController, Domain\Article\ArticleRepository::find(), Domain\Article\ArticleRepository::listArchivedForAdmin()
pp_articles_pages
Strony artykułów.
| Kolumna | Opis |
|---|---|
| article_id | FK do pp_articles |
| page_id | FK do strony (pp_pages) |
| o | Kolejność |
Używane w: Domain\Article\ArticleRepository::find(), Domain\Article\ArticleRepository::deleteNonassignedImages()
pp_articles_langs
Tłumaczenia artykułów.
| Kolumna | Opis |
|---|---|
| article_id | FK do pp_articles |
| lang_id | ID języka (np. 'pl') |
| title | Tytuł artykułu |
| seo_link | Link SEO artykułu |
Używane w: Domain\Article\ArticleRepository::find(), Domain\Article\ArticleRepository::deleteNonassignedFiles()
pp_articles_images
Zdjęcia artykułów.
| Kolumna | Opis |
|---|---|
| article_id | FK do pp_articles |
| src | Ścieżka do pliku |
| o | Kolejność |
| id | PK (używane też do sortowania DESC) |
Używane w: Domain\Article\ArticleRepository::find()
pp_articles_files
Pliki artykułów.
| Kolumna | Opis |
|---|---|
| article_id | FK do pp_articles |
| src | Ścieżka do pliku |
Używane w: Domain\Article\ArticleRepository::find()
pp_units
Jednostki/slowniki (np. jednostki produktu).
| Kolumna | Opis |
|---|---|
| id | PK |
Używane w: Domain\Dictionaries\DictionariesRepository, admin\controls\ShopProduct
pp_units_langs
Tlumaczenia jednostek (per jezyk).
| Kolumna | Opis |
|---|---|
| id | PK |
| unit_id | FK do pp_units |
| lang_id | ID jezyka (np. 'pl') |
| text | Nazwa jednostki |
Używane w: Domain\Dictionaries\DictionariesRepository
pp_users
Uzytkownicy panelu administratora.
| Kolumna | Opis |
|---|---|
| id | PK |
| login | Login / e-mail uzytkownika |
| password | Hash hasla (legacy: md5) |
| status | Status konta: 1 = aktywny, 0 = zablokowany |
| admin | Flaga dostepu do panelu admin |
| error_logged_count | Licznik nieudanych logowan |
| last_logged | Data ostatniego poprawnego logowania |
| last_error_logged | Data ostatniej nieudanej proby logowania |
| twofa_enabled | Czy wlaczone 2FA (0/1) |
| twofa_email | E-mail do wysylki kodu 2FA |
| twofa_code_hash | Hash aktualnego kodu 2FA |
| twofa_expires_at | Data waznosci kodu 2FA |
| twofa_sent_at | Data ostatniej wysylki kodu 2FA |
| twofa_failed_attempts | Liczba nieudanych prob 2FA |
Uzywane w: Domain\User\UserRepository, admin\Controllers\UsersController, admin\factory\Users
Aktualizacja 2026-02-12: uzycia pp_users sa prowadzone przez Domain\\User\\UserRepository (legacy admin\\factory\\Users usunieto).
pp_langs
Jezyki panelu i frontendu.
| Kolumna | Opis |
|---|---|
| id | PK (2-literowe ID jezyka, np. pl, en) |
| name | Nazwa jezyka |
| status | 1 = aktywny, 0 = nieaktywny |
| start | 1 = domyslny jezyk |
| o | Kolejnosc |
Uzywane w: Domain\\Languages\\LanguagesRepository, admin\\Controllers\\LanguagesController, admin\\factory\\Languages, front\\factory\\Languages
pp_langs_translations
Slownik tlumaczen panelu/frontendu.
| Kolumna | Opis |
|---|---|
| id | PK |
| text | Klucz/tekst bazowy |
| <lang_id> | Kolumny dynamiczne per jezyk (np. pl, en) |
Uzywane w: Domain\\Languages\\LanguagesRepository, admin\\Controllers\\LanguagesController, front\\factory\\Languages
Aktualizacja 2026-02-12: modul jezykow i tlumaczen (pp_langs, pp_langs_translations) obslugiwany przez Domain\\Languages\\LanguagesRepository.
pp_layouts
Szablony layoutow (HTML/CSS/JS + flagi domyslne).
| Kolumna | Opis |
|---|---|
| id | PK |
| name | Nazwa szablonu |
| html | Kod HTML |
| css | Kod CSS |
| js | Kod JS |
| m_html | Kod HTML mobilny |
| m_css | Kod CSS mobilny |
| m_js | Kod JS mobilny |
| status | Domyslny layout stron (0/1) |
| categories_default | Domyslny layout kategorii (0/1) |
Uzywane w: Domain\\Layouts\\LayoutsRepository, admin\\Controllers\\LayoutsController, front\\factory\\Layouts
pp_layouts_pages
Przypisanie layoutow do stron CMS.
| Kolumna | Opis |
|---|---|
| layout_id | FK do pp_layouts |
| page_id | FK do pp_pages |
Uzywane w: Domain\\Layouts\\LayoutsRepository, front\\factory\\Layouts
pp_layouts_categories
Przypisanie layoutow do kategorii sklepu.
| Kolumna | Opis |
|---|---|
| layout_id | FK do pp_layouts |
| category_id | FK do pp_shop_categories |
Uzywane w: Domain\\Layouts\\LayoutsRepository, front\\factory\\Layouts
Aktualizacja 2026-02-12 (ver. 0.256): modul /admin/layouts korzysta z Domain\\Layouts\\LayoutsRepository (DI kontroler + fasada legacy).
pp_newsletter
Adresy e-mail zapisane do newslettera.
| Kolumna | Opis |
|---|---|
| id | PK |
| Adres e-mail subskrybenta | |
| hash | Hash potwierdzenia/wypisu |
| status | 1 = potwierdzony, 0 = oczekujacy |
Uzywane w: Domain\\Newsletter\\NewsletterRepository, front\\factory\\Newsletter
pp_newsletter_send
Kolejka wysylki newslettera.
| Kolumna | Opis |
|---|---|
| id | PK |
| Adres docelowy | |
| dates | Zakres dat artykulow (tekst) |
| id_template | FK do pp_newsletter_templates (NULL gdy brak szablonu) |
Uzywane w: Domain\\Newsletter\\NewsletterRepository, front\\factory\\Newsletter::newsletter_send()
pp_newsletter_templates
Szablony tresci e-maili (uzytkownik + administracyjne/systemowe).
| Kolumna | Opis |
|---|---|
| id | PK |
| name | Nazwa/klucz szablonu |
| text | Tresc HTML szablonu |
| is_admin | 1 = szablon administracyjny/systemowy, 0 = szablon uzytkownika |
Uzywane w: Domain\\Newsletter\\NewsletterRepository, admin\\Controllers\\NewsletterController, front\\factory\\Newsletter
Aktualizacja 2026-02-12 (ver. 0.257): modul /admin/newsletter korzysta z Domain\\Newsletter\\NewsletterRepository (DI kontroler + fasada legacy).
pp_scontainers
Kontenery statyczne (modul /admin/scontainers).
| Kolumna | Opis |
|---|---|
| id | PK |
| status | 1 = aktywny, 0 = nieaktywny |
| show_title | 1 = pokaz tytul, 0 = ukryj tytul |
Uzywane w: Domain\Scontainers\ScontainersRepository, admin\Controllers\ScontainersController, front\factory\Scontainers
pp_scontainers_langs
Tlumaczenia kontenerow statycznych (per jezyk).
| Kolumna | Opis |
|---|---|
| id | PK |
| container_id | FK do pp_scontainers |
| lang_id | ID jezyka (np. pl, en) |
| title | Tytul kontenera |
| text | Tresc HTML kontenera |
Uzywane w: Domain\Scontainers\ScontainersRepository, front\factory\Scontainers
Aktualizacja 2026-02-12 (ver. 0.259): modul /admin/scontainers korzysta z Domain\Scontainers\ScontainersRepository (DI kontroler + fasada legacy).
Aktualizacja 2026-02-12 (ver. 0.260): modul /admin/articles_archive korzysta z Domain\Article\ArticleRepository (listArchivedForAdmin, restore, deletePermanently) przez admin\Controllers\ArticlesArchiveController.