d2e85e94df
ver. 0.299: Table column visibility toggle with localStorage persistence
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
v0.299
2026-02-21 22:00:22 +01:00
5eee2c6649
Refactor code structure for improved readability and maintainability
2026-02-21 21:48:03 +01:00
ebab220f7e
ver. 0.297: REST API products endpoint — list, get, create, update
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-19 22:39:48 +01:00
9cac0d1eeb
ver. 0.296: REST API for ordersPRO — orders management, dictionaries, API key auth
...
- New API layer: ApiRouter, OrdersApiController, DictionariesApiController
- Orders API: list (with filters/pagination/updated_since), details, change status, set paid/unpaid
- Dictionaries API: order statuses, transport methods, payment methods
- X-Api-Key authentication via pp_settings.api_key
- OrderRepository: listForApi(), findForApi(), touchUpdatedAt()
- updated_at column on pp_shop_orders for polling support
- api.php: skip session for API requests, route to ApiRouter
- SettingsController: api_key field in system tab
- 30 new tests (666 total, 1930 assertions)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-19 20:25:07 +01:00
21efe28464
ver. 0.295: Admin order product editing — add/remove/modify products, AJAX search, stock adjustment
...
- Order product CRUD in admin panel (add, delete, edit quantity/prices)
- AJAX product search endpoint for order edit form
- Automatic stock adjustment when editing order products
- Transport cost recalculation based on free delivery threshold
- Fix: promo price = 0 when equal to base price (no real promotion)
- Clean up stale temp/ build artifacts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-19 19:30:38 +01:00
de11afb003
ver. 0.294: Code review complete — 96/96 classes, 27 fixes across all layers
...
Full codebase review of autoload/ directory (96 classes, ~1144 methods).
Fixes: null safety (query/find guards), redundant DI bypass, undefined
variables, missing globals, and Imagick WebP mime type bug in Helpers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-19 15:26:07 +01:00
0252ccea30
Dodaj punkty do listy zadań w pliku TODO
2026-02-19 12:32:45 +01:00
054b1b4a34
ver. 0.293: Code review fixes — 6 repositories, 16 fixes
...
- ArticleRepository: SQL injection fix (addslashes→parameterized), DRY refactor topArticles/newsListArticles
- AttributeRepository: dead class_exists('\S') blocking cache/temp clear
- CategoryRepository: dead class_exists('\S') blocking SEO link generation (critical)
- BannerRepository: parameterize $today in SQL + null guard on query()
- BasketCalculator: null guard checkProductQuantityInStock + optional DI params
- PromotionRepository: null guard on $basket (production fatal)
- OrderRepository/ShopBasketController/ajax.php: explicit DI in BasketCalculator callers
614 tests, 1821 assertions (+4 new)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-19 01:07:39 +01:00
29821bccf2
Refactor code structure for improved readability and maintainability
2026-02-18 08:28:02 +01:00
99d78abea9
Add new files for shop classes in version 0.294
...
- Introduced class files for Basket, Category, Coupon, Order, Product, ProductAttribute, ProductCustomField, ProductSet, Promotion, Search, Shop, and Transport.
2026-02-18 02:09:08 +01:00
1283846b39
Fix update package: consolidate versions 0.292-0.294 into ver. 0.292
...
- Move ZIP to updates/0.20/ver_0.292.zip (correct location)
- Add ver_0.292_files.txt (12 deleted shop classes)
- Consolidate changelog entries (0.292+0.293+0.294 → single 0.292)
- Set versions.php $current_ver = 292
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 02:08:30 +01:00
69e78ca248
ver. 0.294: Remove all 12 legacy autoload/shop/ classes (~2363 lines)
...
Complete Domain-Driven Architecture migration:
- Phase 1-4: Transport, ProductSet, Coupon, Shop, Search, Basket,
ProductCustomField, Category, ProductAttribute, Promotion
- Phase 5: Order (~562 lines) + Product (~952 lines)
- ~20 Product methods migrated to ProductRepository
- Apilo sync migrated to OrderAdminService
- Production hotfixes: stale Redis cache (prices 0.00), unqualified
Product:: refs in LayoutEngine, object->array template conversion
- AttributeRepository::getAttributeValueById() Redis cache added
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 02:05:39 +01:00
22530df501
Add docs/MEMORY.md with project memory and reference it in CLAUDE.md
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 23:51:06 +01:00
b73c84d16d
Add CLAUDE.md with project guidance for Claude Code
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 23:43:40 +01:00
6559281ebc
Add new files for ShopCoupon, ShopOrder, and ShopProducer functionality
...
- Created new PHP classes for handling shop coupons and orders in the autoload front controls and factories.
- Added a new view class for ShopOrder.
- Introduced a new ShopProducerController and Producer class for managing producers.
- Included version 0.291 zip file with the necessary updates and new files.
2026-02-17 23:01:02 +01:00
d2444500e9
ver. 0.293: front\controls\Site + front\view\Site → front\App + front\LayoutEngine
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 22:21:44 +01:00
89d9e61bec
ver. 0.292: ShopProduct + ShopPaymentMethod + ShopPromotion + ShopStatuses + ShopTransport frontend migration to Domain
...
Full migration of front\factory\ — entire directory removed (all 20 classes migrated).
ProductRepository +20 frontend methods, PromotionRepository +5 applyType methods,
TransportRepository +4 cached methods, PaymentMethodRepository +cached frontend methods.
Fix: broken transports_list() in ajax.php replaced with forPaymentMethod().
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 21:55:16 +01:00
827b903e1e
ver. 0.291: ShopProducer frontend migration to Domain + Controllers
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 20:32:07 +01:00
46ff934d42
ver. 0.290: ShopCoupon + ShopOrder frontend migration to Domain + Controllers
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 19:54:21 +01:00
c06f055cf5
Implement feature X to enhance user experience and optimize performance
2026-02-17 10:56:18 +01:00
d29d396197
ver. 0.289: ShopCategory + ShopClient frontend migration to Domain + Views + Controllers
...
ShopCategory: 9 frontend methods in CategoryRepository, front\Views\ShopCategory (3 methods),
deleted factory + view, updated 6 callers, +17 tests.
ShopClient: 13 frontend methods in ClientRepository, front\Views\ShopClient (8 methods),
front\Controllers\ShopClientController (15 methods + buildEmailBody helper),
deleted factory + view + controls, updated 7 callers, +36 tests.
Security fix: removed hardcoded password bypass 'Legia1916'.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 10:41:40 +01:00
437d4c78dc
ver. 0.288: BasketCalculator + ShopBasketController migration, cms\Layout removal
...
- Migrate front\factory\ShopBasket → Domain\Basket\BasketCalculator (4 static methods, 18 callers updated)
- Migrate front\controls\ShopBasket → front\Controllers\ShopBasketController (camelCase, instance methods)
- Add snake_case→camelCase action dispatch for new controllers in Site::route()
- Update title()/page_title() to check front\Controllers\ before fallback
- Remove cms\Layout class (replaced by $layoutsRepo->find())
- Add 8 tests for BasketCalculator (484 tests, 1528 assertions)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 09:38:45 +01:00
3b50ba7990
ver. 0.287: Scontainers + ShopAttribute frontend migration to Domain
...
- Scontainers: frontScontainerDetails() with Redis cache in ScontainersRepository
- Scontainers: new front\Views\Scontainers VIEW, deleted factory + view legacy
- ShopAttribute: frontAttributeDetails(), frontValueDetails() with Redis cache in AttributeRepository
- ShopAttribute: clearFrontCache() per attribute/value + language
- ShopAttribute: deleted front\factory\ShopAttribute, updated 4 callers
- Tests: 476 OK, 1512 assertions (+6 frontend tests)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 08:47:21 +01:00
8162df7356
ver. 0.286: Layouts, Menu, Pages frontend migration to Domain
...
- Add 6 frontend methods to LayoutsRepository (Redis cache, 3-level fallback)
- Add 6 frontend methods to PagesRepository (Redis cache, recursive pages)
- Create front\Views\Menu (clean VIEW replacing front\view\Menu)
- Delete front\factory\Layouts, Menu, Pages + front\view\Menu + dead submenu.php
- Fix null $lang_id TypeError in check_url_params() (remove string type hint + ?? '')
- Optimize Helpers::htacces() from 3 layout calls to 1
- Tests: 470 OK, 1484 assertions (+16 new)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 08:21:53 +01:00
920e65abd5
Implement feature X to enhance user experience and fix bug Y in module Z
2026-02-17 00:16:21 +01:00
54c016f4ef
ver. 0.285: remove deleted class.Tpl.php and curl.class.php
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 00:15:55 +01:00
d2c9d97710
ver. 0.285: Tpl → Shared\Tpl namespace, CurlServer removal, thumb.php fix
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-17 00:13:59 +01:00
6922b66eed
ver. 0.284: DbModel elimination, update packages for 0.283-0.284
...
- Removed class.DbModel.php — only consumer (shop\Promotion) now has
inlined constructor + __get()
- Created update packages: ver_0.283.zip (S→Helpers migration, ~130 files),
ver_0.284.zip (DbModel removal)
- Updated docs: CHANGELOG, PROJECT_STRUCTURE, FRONTEND_REFACTORING_PLAN
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 23:31:03 +01:00
431add234c
ver. 0.283: Legacy class cleanup — S, Html, Email, Image, Log, Mobile_Detect → Shared namespace
...
- Migrate class.S → Shared\Helpers\Helpers (140+ files), remove 12 unused methods
- Migrate class.Html → Shared\Html\Html
- Migrate class.Email → Shared\Email\Email
- Migrate class.Image → Shared\Image\ImageManipulator
- Delete class.Log (unused), class.Mobile_Detect (outdated UA detection)
- Remove grid library loading from admin (index.php, ajax.php)
- Replace gridEdit usage in 10 admin templates with grid-edit-replacement.php
- Fix grid-edit-replacement.php AJAX to send values as JSON (grid.js compat)
- Remove mobile layout conditionals (m_html/m_css/m_js) from Site + LayoutsRepository
- Remove \Log::save_log() calls from OrderAdminService, ShopOrder, Order
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 23:06:06 +01:00
8e97413361
ver. 0.282: Banners frontend migration, Cache cleanup, Shared\Cache namespace
...
- Banners frontend: front\Views\Banners (new), BannerRepository +2 frontend methods,
front\view\Site przepięty, usunięte front\factory\Banners i front\view\Banners
- Cache cleanup: eliminacja legacy class.Cache.php (file-based cache),
13 metod front\factory przepiętych z \Cache::fetch/store na CacheHandler
- Shared\Cache namespace: CacheHandler i RedisConnection przeniesione do Shared\Cache\,
60 odwołań CacheHandler i 12 odwołań RedisConnection przepiętych,
usunięte backward-compat wrappery class.CacheHandler.php i class.RedisConnection.php
- Naprawione rozbieżności kluczy cache (random_products, category_name)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 21:25:50 +01:00
53d945843a
Remove deprecated Articles factory and view classes
...
- Deleted the Articles factory class located at autoload/front/factory/class.Articles.php, which was a facade delegating calls to the ArticleRepository and Views for backward compatibility.
- Removed the Articles view class located at autoload/front/view/class.Articles.php, which also served as a facade for similar functionality.
- Updated the version file to reflect the removal of these classes.
2026-02-16 15:55:21 +01:00
0402dbee76
ver. 0.280: Articles frontend migration, class.Article removal, Settings facade cleanup
...
- Add 8 frontend methods to ArticleRepository (with Redis cache)
- Create front\Views\Articles (rendering + utility methods)
- Rewire front\view\Site::show() and front\controls\Site::route() to repo + Views
- Update 5 article templates to use \front\Views\Articles::
- Convert front\factory\Articles and front\view\Articles to facades
- Remove class.Article (entity + static methods migrated to repo + Views)
- Remove front\factory\Settings facade (already migrated)
- Fix: eliminate global $lang from articleNoindex(), inline page sort query
- Tests: 450 OK, 1431 assertions (+13 new)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 15:52:03 +01:00
c910982abf
ver. 0.279: Newsletter frontend migration, Languages facade elimination, bug fix newsletter_unsubscribe
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 15:11:38 +01:00
782dd35d5b
ver. 0.278: Settings + Languages frontend migration, bug fix get_single_settings_value
...
- Add cached frontend methods to existing Domain repositories (allSettings, getSingleValue, defaultLanguage, activeLanguages, translations)
- Convert front\factory\Settings and Languages to facades delegating to Domain repositories
- Fix get_single_settings_value() - was hardcoded to 'firm_name', now uses $param correctly
- Add CacheHandler stub methods (get/set/exists) to test bootstrap
- Establish architectural rule: Domain classes are shared between admin and frontend
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 13:50:27 +01:00
7fcac87a58
docs: add frontend refactoring plan for shopPRO
2026-02-16 09:56:30 +01:00
a63a08ff1e
chore: move 0.277 update package to correct directory (updates/0.20/)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 01:14:07 +01:00
c8469f4371
ver. 0.277: ShopProduct factory, Dashboard, Update migration, legacy cleanup, admin\App
...
- ShopProduct factory: full migration (~40 ProductRepository methods, ~30 controller actions)
- Dashboard: Domain+DI migration (DashboardRepository + DashboardController)
- Update: Domain+DI migration (UpdateRepository + UpdateController, template rewrite)
- Renamed admin\Site to admin\App, removed dead fallback routing
- Removed all legacy folders: admin/controls, admin/factory, admin/view
- Newsletter: switched from admin\factory\Articles to ArticleRepository
- 414 tests, 1335 assertions passing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 01:06:29 +01:00
56ddd34e44
docs: update release status in UPDATE_INSTRUCTIONS to 0.276
2026-02-15 16:43:05 +01:00
d012a694c2
ver. 0.276: ShopOrder migration, Integrations cleanup, global admin search
2026-02-15 16:41:48 +01:00
0a2d13090f
docs: complete 0.275 documentation updates
2026-02-15 15:36:31 +01:00
875433d7fd
chore(updates): add 0.275 changelog entry and bump versions
2026-02-15 15:34:52 +01:00
6c87e4615a
refactor(shop_category): migrate admin module to Domain+DI with routing and ajax cleanup
2026-02-15 15:32:39 +01:00
e17875526d
aktualizacja: zmiana linku do refaktoringu w dokumentacji AGENTS.md
2026-02-15 15:04:07 +01:00
df24da8915
ver. 0.274 - ShopClients Domain+DI migration
2026-02-15 15:03:24 +01:00
449e5fbe1c
updates: add ver_0.273 package and release metadata
2026-02-15 11:44:01 +01:00
eb8e8fed36
ver. 0.274 - ShopProduct mass_edit + tree UI cleanup
2026-02-15 11:41:04 +01:00
3bac7616e7
ver. 0.273 - ShopProducer refactor + cleanup 6 factory facades
...
- Domain\Producer\ProducerRepository (CRUD + frontend)
- admin\Controllers\ShopProducerController (DI)
- Nowe widoki: producers-list, producer-edit (table-list/form-edit)
- shop\Producer -> fasada do ProducerRepository
- Przepiecie ShopProduct factory na TransportRepository
- Usuniete 6 pustych factory facades: Languages, Newsletter, Scontainers, ShopProducer, ShopTransport, Layouts
- Usuniete legacy: controls\ShopProducer, stare szablony
- Testy: 338 tests, 1063 assertions OK
2026-02-15 10:46:55 +01:00
fe51a1f4c4
ver. 0.272 - ShopProductSets refactor + update package
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 10:29:21 +01:00
e51ac7f82b
ver. 0.271 - ShopAttribute refactor + update package
2026-02-14 21:12:17 +01:00
34e23338da
ver. 0.270 - Apilo payment/status sync hardening
2026-02-14 20:27:01 +01:00