# Database Schema: kontrans.pagedev.pl

**Connection:** host=kontrans.pagedev.pl, user=host117523_kontranspagedevpl, db=host117523_kontranspagedevpl
**Engine:** InnoDB, charset utf8mb3 (utf8mb3_polish_ci)

---

## Tables

### `pp_langs` — języki
- `id` varchar(5) PK (np. 'pl', 'en', 'de', 'ru', 'uk')
- `name` varchar(255)
- `start` int — strona startowa (bool)
- `status` int
- `o` int — kolejność
- `domain` varchar(255)
- `main_domain` int

### `pp_langs_translations` — tłumaczenia interfejsu
- `id` int PK
- `text` varchar(255) UNIQUE — klucz tłumaczenia
- `pl`, `en`, `ru` text NOT NULL
- `de`, `uk` text nullable

### `pp_settings` — ustawienia strony (klucz-wartość)
- `id` int PK
- `param` varchar(255)
- `value` text

### `pp_pages` — strony/podstrony
- `id` int PK
- `menu_id` int FK→pp_menus
- `page_type` int
- `sort_type` int
- `articles_limit` int (default 10)
- `show_title` int
- `status` int
- `o` int — kolejność
- `parent_id` int FK→pp_pages (hierarchia)
- `start` int — strona startowa
- `cache` int

### `pp_pages_langs` — dane stron per język
- `id` int PK
- `page_id` int FK→pp_pages
- `lang_id` varchar(5) FK→pp_langs
- `title`, `meta_description`, `meta_keywords`, `meta_title` varchar(255)
- `seo_link` varchar(255) — slug URL
- `site_title` varchar(255)
- `noindex` int
- `link` varchar(255) — zewnętrzny link
- `block_direct_access` int
- `canonical` varchar(255)

### `pp_menus` — menu nawigacyjne
- `id` int PK
- `name` varchar(255)
- `status` int

### `pp_articles` — artykuły/wpisy
- `id` int PK
- `show_title`, `show_table_of_contents`, `show_date_add`, `show_date_modify` int
- `date_add` timestamp
- `date_modify` datetime
- `modify_by` int
- `layout_id` int FK→pp_layouts
- `status` int
- `repeat_entry` int
- `social_icons` int
- `date_start`, `date_end` date
- `priority` int
- `password` varchar(255)
- `pixieset` int
- `hash` varchar(255)
- `views` int
- `id_author` int FK→pp_authors

### `pp_articles_langs` — treści artykułów per język
- `id` int PK
- `article_id` int FK→pp_articles
- `lang_id` varchar(255) FK→pp_langs
- `title` varchar(255)
- `main_image` varchar(255)
- `entry` mediumtext — zajawka
- `text` mediumtext — pełna treść (HTML)
- `table_of_contents` text
- `meta_title`, `meta_description`, `meta_keywords` varchar(255)
- `seo_link` varchar(255) — slug
- `noindex` int
- `copy_from` varchar(3)
- `block_direct_access` int

### `pp_articles_pages` — przypisanie artykułów do stron
- `id` int PK
- `page_id` int FK→pp_pages
- `article_id` int FK→pp_articles
- `o` int — kolejność

### `pp_articles_images` — zdjęcia artykułów
- `id` int PK
- `article_id` int FK→pp_articles
- `src` varchar(255)
- `alt` varchar(255)
- `to_delete` int
- `o` int — kolejność
- `favorite` int — zdjęcie główne

### `pp_articles_files` — pliki artykułów
- `id` int PK
- `article_id` int FK→pp_articles
- `src` varchar(255)
- `name` varchar(255)
- `to_delete` int
- `o` int

### `pp_articles_tags` — tagi artykułów
- `id` int PK
- `article_id` int FK→pp_articles
- `tag_id` int FK→pp_tags

### `pp_articles_additional_params` — dodatkowe parametry artykułów (definicje)
- `id` int PK
- `name` varchar(255) — nazwa techniczna
- `display_name` varchar(255)
- `type` varchar(255)
- `language` int
- `status` int

### `pp_articles_additional_values` — wartości dodatkowych parametrów
- `id` int PK
- `param_id` int FK→pp_articles_additional_params
- `value` text
- `article_id` int FK→pp_articles
- `language_id` varchar(5)

### `pp_tags` — tagi
- `id` int PK
- `name` varchar(255)

### `pp_authors` — autorzy artykułów
- `id` int PK
- `author` varchar(255)
- `image` varchar(255)

### `pp_authors_langs` — opisy autorów per język
- `id` int PK
- `id_author` int FK→pp_authors
- `id_lang` varchar(5) FK→pp_langs
- `description` text

### `pp_layouts` — layouty artykułów
- `id` int PK
- `name` varchar(255)
- `html`, `css`, `js` mediumtext — desktop
- `m_html`, `m_css`, `m_js` mediumtext — mobile
- `status` int

### `pp_layouts_pages` — przypisanie layoutów do stron
- `id` int PK
- `layout_id` int FK→pp_layouts
- `page_id` int FK→pp_pages

### `pp_scontainers` — statyczne kontenery treści
- `id` int PK
- `status` int
- `show_title` int
- `src` varchar(255) — identyfikator/plik

### `pp_scontainers_langs` — treść kontenerów per język
- `id` int PK
- `container_id` int FK→pp_scontainers
- `lang_id` varchar(2) FK→pp_langs
- `title` varchar(255)
- `text` mediumtext
- `html` text

### `pp_banners` — banery
- `id` int PK
- `name` varchar(255)
- `src` varchar(255)
- `date_start`, `date_end` date
- `status` int
- `home_page` int
- `url`, `text` varchar(255)

### `pp_banners_langs` — dane banerów per język
- `id` int PK
- `id_lang` varchar(5) FK→pp_langs
- `id_banner` int FK→pp_banners
- `src`, `url` varchar(255)
- `html`, `text` text

### `pp_newsletter` — subskrybenci newslettera
- `id` int PK
- `email` varchar(255)
- `hash` varchar(255)
- `status` int
- `date_add` timestamp

### `pp_newsletter_templates` — szablony newslettera
- `id` int PK
- `name` varchar(255)
- `text` text
- `is_admin` int

### `pp_newsletter_send` — kolejka wysyłki newslettera
- `id` int PK
- `email` varchar(255)
- `dates` varchar(255)
- `id_template` int FK→pp_newsletter_templates
- `only_once` int
- `mailed` int

### `pp_contact_emails` — wiadomości kontaktowe
- `id` int PK
- `email`, `phone`, `title` varchar(255)
- `mail` text
- `add_date` datetime

### `pp_users` — użytkownicy admina
- `id` int PK
- `login` varchar(25) UNIQUE
- `admin` int — czy superadmin
- `password` varchar(255)
- `status` int
- `last_logged` timestamp
- `last_error_logged` datetime
- `error_logged_count` int
- `active_to` date
- `twofa_enabled` tinyint
- `twofa_email` varchar(190)
- `twofa_code_hash`, `twofa_sent_at`, `twofa_expires_at`, `twofa_failed_attempts`

### `pp_users_privileges` — uprawnienia użytkowników
- `id` int PK
- `name` text
- `id_user` int FK→pp_users

### `pp_seo_additional` — dodatkowe dane SEO dla URL
- `id` int PK
- `url` varchar(255)
- `status` int
- `title`, `description`, `keywords` text
- `text` text

### `as_sites` — audyt SEO (zewnętrzne strony)
- `id` int PK
- `url` varchar(255) UNIQUE
- `date_add` timestamp
- `last_refresh` datetime
- `status` int
- `html` longblob
- `effective_url`, `ip`, `location`, `favicon`, `cms` varchar(255)
- `meta_robots` varchar(255)
- `robots_txt` blob
- `redirect_www`, `https`, `flash`, `iframe`, `file_robots_txt`, `file_sitemap_xml`, `inline_css` int
- `meta_title`, `meta_description`, `meta_keywords` text
- `code_length`, `text_length`, `words_count` int
- `h1_count`–`h6_count` int
- `page_speed_insight_desktop`, `page_speed_insight_mobile` longtext
- `doctype`, `html_language` varchar
- `w3c` blob
- `semstorm` longtext

### `grid_settings` — ustawienia siatki danych (admin)
- `id` int PK
- `name` varchar(255)
- `settings` text
