Files
shopPRO/docs/TODO.md
Jacek a45256e9f6 fix: naprawiono crash przy składaniu zamówienia z kuponem rabatowym
Fatal Error: Call to undefined method stdClass::is_one_time() w OrderRepository:793.
Zamieniono wywołania nieistniejących metod na stdClass na dostęp do właściwości
+ istniejącą metodę CouponRepository::markAsUsed().

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 14:04:18 +01:00

6.8 KiB

  1. Dodać uwierzytelnienie dwuskładnikowe za pomocą aplikacji.
  2. Dodać zarządzanie uprawnieniami na poziomie urzytkownika, na razie uprawnienia do poszczególnych modułów. naprawić działanie newslettera i zapis do bazy newslettera program lojalnościowy proponowane produkty w koszyku Do zamówień w statusie: realizowane lub oczekuje na wpłatę. Opcja tylko dla zarejestrowanych klientów. https://royal-stone.pl/pl/order1.html Dodać możliwość ustawienia limitu znaków w wiadomościach do produktu
  3. [] Przerobić analitykę Google Analytics i Google ADS
  4. Rozważyć integrację SonarQube (statyczna analiza kodu PHP — bugi, security, code smells). Community Edition darmowy, self-hosted. Wymaga serwera + MCP server w Claude Code.

SonarQube — 0.340 (2026-03-15)

Bugs

  • [MAJOR] cron.php:192 — Review the data-flow - use of uninitialized value (php:S836)
  • [MAJOR] cron.php:561 — Review the data-flow - use of uninitialized value (php:S836)
  • [MAJOR] cron.php:590 — Review the data-flow - use of uninitialized value (php:S836)
  • [MAJOR] cron.php:643 — Review the data-flow - use of uninitialized value (php:S836)

Code Smells — CRITICAL

  • [CRITICAL] autoload/Domain/Integrations/ApiloRepository.php:35 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] autoload/Domain/Integrations/ApiloRepository.php:66 — Define a constant instead of duplicating "Accept: application/json" 5 times (php:S1192)
  • [CRITICAL] autoload/Domain/Integrations/ApiloRepository.php:77 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] autoload/Domain/Integrations/ApiloRepository.php:159 — Define a constant instead of duplicating "Y-m-d H:i:s" 3 times (php:S1192)
  • [CRITICAL] autoload/Domain/Integrations/ApiloRepository.php:239 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] autoload/Domain/Integrations/ApiloRepository.php:309 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] autoload/Domain/Integrations/ApiloRepository.php:315 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] autoload/Domain/Integrations/ApiloRepository.php:339 — Define a constant instead of duplicating "Authorization: Bearer " 3 times (php:S1192)
  • [CRITICAL] autoload/Domain/Integrations/ApiloRepository.php:359 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] autoload/Domain/Integrations/ApiloRepository.php:400 — Refactor this function to reduce its Cognitive Complexity (php:S3776)
  • [CRITICAL] autoload/front/Controllers/ShopBasketController.php:499 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] autoload/front/Controllers/ShopBasketController.php:502 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] autoload/api/Controllers/ProductsApiController.php:396 — Refactor this function to reduce its Cognitive Complexity from 83 to 15 (php:S3776)
  • [CRITICAL] autoload/Shared/Helpers/Helpers.php:408 — Refactor this function to reduce its Cognitive Complexity from 165 to 15 (php:S3776)
  • [CRITICAL] autoload/Shared/Helpers/Helpers.php:520 — Define a constant instead of duplicating "/([0-9]+)$" 3 times (php:S1192)
  • [CRITICAL] autoload/Shared/Helpers/Helpers.php:607 — Define a constant instead of duplicating " Order Deny,Allow" 3 times (php:S1192)
  • [CRITICAL] autoload/Shared/Helpers/Helpers.php:650 — Define a constant instead of duplicating "&lang=" 7 times (php:S1192)
  • [CRITICAL] cron.php:200 — Define a constant instead of duplicating "Y-m-d H:i:s" 7 times (php:S1192)
  • [CRITICAL] cron.php:200 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] cron.php:203 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] cron.php:418 — Define a constant instead of duplicating "Authorization: Bearer " 5 times (php:S1192)
  • [CRITICAL] cron.php:419 — Define a constant instead of duplicating "Accept: application/json" 5 times (php:S1192)
  • [CRITICAL] cron.php:526 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] cron.php:529 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] cron.php:531 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] cron.php:533 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] cron.php:542 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] cron.php:545 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] cron.php:547 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] cron.php:555 — Add curly braces around nested statement(s) (php:S121)
  • [CRITICAL] cron.php:559 — Add curly braces around nested statement(s) (php:S121)

Code Smells — MAJOR

  • [MAJOR] autoload/Domain/Integrations/ApiloRepository.php:130 — Method has 4 returns, max 3 allowed (php:S1142)
  • [MAJOR] autoload/Domain/Integrations/ApiloRepository.php:233 — Method has 5 returns, max 3 allowed (php:S1142)
  • [MAJOR] autoload/Domain/Integrations/ApiloRepository.php:307 — Method has 7 returns, max 3 allowed (php:S1142)
  • [MAJOR] autoload/Domain/Integrations/ApiloRepository.php:400 — Method has 8 returns, max 3 allowed (php:S1142)
  • [MAJOR] autoload/Domain/Integrations/ApiloRepository.php:449 — Method has 4 returns, max 3 allowed (php:S1142)
  • [MAJOR] autoload/Domain/Integrations/ApiloRepository.php:481 — Method has 4 returns, max 3 allowed (php:S1142)
  • [MAJOR] autoload/Domain/Integrations/ApiloRepository.php:513 — Method has 4 returns, max 3 allowed (php:S1142)
  • [MAJOR] autoload/front/Controllers/ShopBasketController.php:493 — Method has 4 returns, max 3 allowed (php:S1142)
  • [MAJOR] autoload/Domain/Order/OrderAdminService.php:673 — Method has 4 returns, max 3 allowed (php:S1142)
  • [MAJOR] autoload/Domain/Order/OrderAdminService.php:740 — Method has 4 returns, max 3 allowed (php:S1142)

Code Smells — MINOR

  • [MINOR] autoload/Domain/Order/OrderRepository.php — Add a new line at the end of file (php:S113)
  • [MINOR] admin/templates/site/unlogged-layout.php — Add a new line at the end of file (php:S113)
  • [MINOR] admin/templates/users/user-2fa.php — Add a new line at the end of file (php:S113)
  • [MINOR] autoload/admin/Controllers/ProductArchiveController.php:196 — Rename function "bulk_delete_permanent" to match camelCase (php:S100)
  • [MINOR] autoload/api/ApiRouter.php:107 — Remove unused "$db" local variable (php:S1481)
  • [MINOR] cron.php:198 — Remove unused "$orderAdminService" local variable (php:S1481)
  • [MINOR] cron.php:524 — Remove unused "$mdb" local variable (php:S1481)
  • [MINOR] cron.php:539 — Remove unused "$mdb" local variable (php:S1481)