feat: Dodaj moduł grup i fraz, oznaczanie wykluczonych na czerwono, CLAUDE.md

- Nowy moduł CampaignTerms z widokiem grup reklam, fraz wyszukiwanych i fraz wykluczających
- Frazy wyszukiwane dodane do wykluczonych oznaczane czerwonym kolorem w tabeli
- Instalator migracji (install.php) z obsługą schema_migrations
- Migracja 003 dla tabel campaign_ad_groups, campaign_search_terms, campaign_negative_keywords
- CLAUDE.md z dokumentacją architektury projektu
- Aktualizacja layoutu, stylów i konfiguracji

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-17 23:44:30 +01:00
parent 59c086384b
commit 5e491d626c
23 changed files with 4739 additions and 251 deletions

View File

@@ -18,7 +18,7 @@
<script type="text/javascript" src="/libraries/datepicker/js/datepicker.min.js"></script>
<script type="text/javascript" src="/libraries/datepicker/js/i18n/datepicker.pl.js"></script>
<script type="text/javascript" src="/libraries/daterange/daterangepicker.js"></script>
<script type="text/javascript" src="/libraries/jquery-confirm/jquery-confirm.min.js"></script>
<script type="text/javascript" src="/libraries/adspro-dialog.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" integrity="sha512-SnH5WK+bZxgPHs44uWIX+LLJAJ9/2PkPKZ5QiAj6Ta86w+fsb2TkcmfRyVX3pBnMFcV7oQPJkl9QevSCWr3W6A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<link rel="Stylesheet" type="text/css" href="/libraries/framework/vendor/jquery/jquery_ui/jquery-ui.structure.min.css">
<link rel="Stylesheet" type="text/css" href="/libraries/framework/vendor/jquery/jquery_ui/jquery-ui.theme.min.css">
@@ -26,7 +26,7 @@
<link rel="Stylesheet" type="text/css" href="/libraries/framework/vendor/plugins/daterange/daterangepicker.css">
<link rel="stylesheet" type="text/css" href="/libraries/datepicker/css/datepicker.min.css">
<link rel="Stylesheet" type="text/css" href="/libraries/daterange/daterangepicker.css">
<link rel="stylesheet" type="text/css" href="/libraries/jquery-confirm/jquery-confirm.min.css">
<link rel="stylesheet" type="text/css" href="/libraries/adspro-dialog.css">
<link rel="stylesheet" type="text/css" href="/layout/style.css">
</head>
<body class="logged">

View File

@@ -21,14 +21,14 @@
<script src="/libraries/framework/vendor/plugins/moment/pl.js"></script>
<script src="/libraries/framework/vendor/plugins/datepicker/js/bootstrap-datetimepicker.js"></script>
<script src="/libraries/framework/vendor/plugins/daterange/daterangepicker.js"></script>
<script src="/libraries/jquery-confirm/jquery-confirm.min.js"></script>
<script src="/libraries/adspro-dialog.js">
<script src="/libraries/select2/js/select2.full.min.js"></script>
<script src="/libraries/functions.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/2.1.7/css/dataTables.bootstrap5.min.css">
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="/libraries/framework/vendor/plugins/datepicker/css/bootstrap-datetimepicker.css">
<link rel="stylesheet" type="text/css" href="/libraries/framework/vendor/plugins/daterange/daterangepicker.css">
<link rel="stylesheet" type="text/css" href="/libraries/jquery-confirm/jquery-confirm.min.css">
<link rel="stylesheet" type="text/css" href="/libraries/adspro-dialog.css">
<link rel="stylesheet" type="text/css" href="/libraries/select2/css/select2.min.css">
<link rel="stylesheet" type="text/css" href="/libraries/select2/css/select2-bootstrap-5-theme.min.css">
<link rel="stylesheet" type="text/css" href="/layout/style.css">
@@ -58,6 +58,12 @@
<span>Kampanie</span>
</a>
</li>
<li class="<?= $module === 'campaign_terms' ? 'active' : '' ?>">
<a href="/campaign_terms">
<i class="fa-solid fa-list-check"></i>
<span>Grupy i frazy</span>
</a>
</li>
<li class="<?= $module === 'products' ? 'active' : '' ?>">
<a href="/products">
<i class="fa-solid fa-box-open"></i>
@@ -111,6 +117,7 @@
<?php
$breadcrumbs = [
'campaigns' => 'Kampanie',
'campaign_terms' => 'Grupy i frazy',
'products' => 'Produkty',
'clients' => 'Klienci',
'allegro' => 'Allegro import',