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>
This commit is contained in:
2026-02-16 23:06:06 +01:00
parent 8e97413361
commit 431add234c
159 changed files with 1501 additions and 3043 deletions

View File

@@ -12,7 +12,7 @@ class Product implements \ArrayAccess
$lang_id = ( new \Domain\Languages\LanguagesRepository( $mdb ) )->defaultLanguage();
$result = $mdb -> get( 'pp_shop_products', '*', [ 'id' => $product_id ] );
if ( \S::is_array_fix( $result ) ) foreach ( $result as $key => $val )
if ( \Shared\Helpers\Helpers::is_array_fix( $result ) ) foreach ( $result as $key => $val )
$this -> $key = $val;
// kombinacja produktu
@@ -22,12 +22,12 @@ class Product implements \ArrayAccess
if ( !$this -> price_netto or !$this -> price_brutto )
{
$result = $mdb -> get( 'pp_shop_products', [ 'price_netto', 'price_brutto', 'price_netto_promo', 'price_brutto_promo', 'vat', 'wp' ], [ 'id' => $this -> parent_id ] );
if ( \S::is_array_fix( $result ) ) foreach ( $result as $key => $val )
if ( \Shared\Helpers\Helpers::is_array_fix( $result ) ) foreach ( $result as $key => $val )
$this -> $key = $val;
}
$results = $mdb -> select( 'pp_shop_products_langs', '*', [ 'AND' => [ 'product_id' => $this -> parent_id, 'lang_id' => $lang_id ] ] );
if ( \S::is_array_fix( $results ) ) foreach ( $results as $row )
if ( \Shared\Helpers\Helpers::is_array_fix( $results ) ) foreach ( $results as $row )
{
if ( $row[ 'copy_from' ] )
{
@@ -50,7 +50,7 @@ class Product implements \ArrayAccess
else
{
$results = $mdb -> select( 'pp_shop_products_langs', '*', [ 'AND' => [ 'product_id' => $product_id, 'lang_id' => $lang_id ] ] );
if ( \S::is_array_fix( $results ) ) foreach ( $results as $row )
if ( \Shared\Helpers\Helpers::is_array_fix( $results ) ) foreach ( $results as $row )
{
if ( $row[ 'copy_from' ] )
{
@@ -71,7 +71,7 @@ class Product implements \ArrayAccess
$this -> products_sets = $mdb -> select( 'pp_shop_product_sets_products', 'product_id', [ 'AND' => [ 'set_id' => $this -> set_id, 'product_id[!]' => $product_id ] ] );
$results = $mdb -> select( 'pp_shop_products', 'id', [ 'parent_id' => $product_id ] );
if ( \S::is_array_fix( $results ) )
if ( \Shared\Helpers\Helpers::is_array_fix( $results ) )
{
foreach ( $results as $row )
$product_combinations[] = \shop\Product::getFromCache( $row, $lang_id );
@@ -367,7 +367,7 @@ class Product implements \ArrayAccess
global $mdb;
$results = $mdb -> select( 'pp_shop_products_images', 'src', [ 'product_id' => $product_id, 'ORDER' => [ 'o' => 'ASC' ] ] );
if ( \S::is_array_fix( $results ) ) foreach ( $results as $row )
if ( \Shared\Helpers\Helpers::is_array_fix( $results ) ) foreach ( $results as $row )
return $row;
}
@@ -380,7 +380,7 @@ class Product implements \ArrayAccess
$lang_id = ( new \Domain\Languages\LanguagesRepository( $mdb ) )->defaultLanguage();
$results = $mdb -> select( 'pp_shop_products_langs', '*', [ 'AND' => [ 'product_id' => $product_id, 'lang_id' => $lang_id ] ] );
if ( \S::is_array_fix( $results ) ) foreach ( $results as $row )
if ( \Shared\Helpers\Helpers::is_array_fix( $results ) ) foreach ( $results as $row )
{
if ( $row[ 'copy_from' ] )
{
@@ -393,7 +393,7 @@ class Product implements \ArrayAccess
$language = $row;
}
$language['seo_link'] ? $url = '/' . $language['seo_link'] : $url = '/p-' . $product_id . '-' . \S::seo( $language['name'] );
$language['seo_link'] ? $url = '/' . $language['seo_link'] : $url = '/p-' . $product_id . '-' . \Shared\Helpers\Helpers::seo( $language['name'] );
return $url;
}
@@ -632,25 +632,25 @@ class Product implements \ArrayAccess
{
if ( in_array( $category_tmp, $product_categories ) )
{
$price['price_new'] = \S::normalize_decimal( $price['price_new'] - $price['price_new'] * $coupon -> amount / 100 );
$price['price_new'] = \Shared\Helpers\Helpers::normalize_decimal( $price['price_new'] - $price['price_new'] * $coupon -> amount / 100 );
break;
}
}
}
// ? nieograniczony kategoriami
else
$price['price_new'] = \S::normalize_decimal( $price['price_new'] - $price['price_new'] * $coupon -> amount / 100 );
$price['price_new'] = \Shared\Helpers\Helpers::normalize_decimal( $price['price_new'] - $price['price_new'] * $coupon -> amount / 100 );
// ? uwzględnij promocję jeżeli może łączyć się z rabatami i produktami przecenionymi
if ( $basket_position['discount_amount'] && $basket_position['discount_include_coupon'] && $basket_position['include_product_promo'] )
{
// ? najtańszy produkt w koszyku (z wybranych kategorii) za X zł
if ( $basket_position['discount_type'] == 3 )
$price['price_new'] = \S::normalize_decimal( $basket_position['discount_amount'] );
$price['price_new'] = \Shared\Helpers\Helpers::normalize_decimal( $basket_position['discount_amount'] );
// ? rabat procentowy
if ( $basket_position['discount_type'] == 1 )
$price['price_new'] = \S::normalize_decimal($price['price_new'] - $price['price_new'] * $basket_position['discount_amount'] / 100 );
$price['price_new'] = \Shared\Helpers\Helpers::normalize_decimal($price['price_new'] - $price['price_new'] * $basket_position['discount_amount'] / 100 );
}
}
// ? brak kodu rabatowego
@@ -660,11 +660,11 @@ class Product implements \ArrayAccess
{
// ? Najtańszy produkt w koszyku (z wybranych kategorii) za X zł
if ( $basket_position['discount_type'] == 3 )
$price['price_new'] = \S::normalize_decimal( $basket_position['discount_amount'] );
$price['price_new'] = \Shared\Helpers\Helpers::normalize_decimal( $basket_position['discount_amount'] );
// ? rabat procentowy
if ( $basket_position['discount_type'] == 1 )
$price['price_new'] = \S::normalize_decimal($price['price_new'] - $price['price_new'] * $basket_position['discount_amount'] / 100 );
$price['price_new'] = \Shared\Helpers\Helpers::normalize_decimal($price['price_new'] - $price['price_new'] * $basket_position['discount_amount'] / 100 );
}
}
}
@@ -686,25 +686,25 @@ class Product implements \ArrayAccess
{
if ( in_array( $category_tmp, $product_categories ) )
{
$price['price_new'] = \S::normalize_decimal( $price['price_new'] - $price['price_new'] * $coupon -> amount / 100 );
$price['price_new'] = \Shared\Helpers\Helpers::normalize_decimal( $price['price_new'] - $price['price_new'] * $coupon -> amount / 100 );
break;
}
}
}
// ? nieograniczony
else
$price['price_new'] = \S::normalize_decimal($price['price'] - $price['price'] * $coupon -> amount / 100 );
$price['price_new'] = \Shared\Helpers\Helpers::normalize_decimal($price['price'] - $price['price'] * $coupon -> amount / 100 );
// ? uwzględnij promocję jeżeli może łączyć się z rabatami i produktami przecenionymi
if ( $basket_position['discount_amount'] && $basket_position['discount_include_coupon'] && $basket_position['include_product_promo'] )
{
// ? najtańszy produkt w koszyku (z wybranych kategorii) za X zł
if ( $basket_position['discount_type'] == 3 )
$price['price_new'] = \S::normalize_decimal( $basket_position['discount_amount'] );
$price['price_new'] = \Shared\Helpers\Helpers::normalize_decimal( $basket_position['discount_amount'] );
// ? rabat procentowy
if ( $basket_position['discount_type'] == 1 )
$price['price_new'] = \S::normalize_decimal($price['price'] - $price['price'] * $basket_position['discount_amount'] / 100 );
$price['price_new'] = \Shared\Helpers\Helpers::normalize_decimal($price['price'] - $price['price'] * $basket_position['discount_amount'] / 100 );
}
}
// ? bez kodu rabatowego
@@ -714,11 +714,11 @@ class Product implements \ArrayAccess
{
// ? Najtańszy produkt w koszyku (z wybranych kategorii) za X zł
if ( $basket_position['discount_type'] == 3 )
$price['price_new'] = \S::normalize_decimal( $basket_position['discount_amount'] );
$price['price_new'] = \Shared\Helpers\Helpers::normalize_decimal( $basket_position['discount_amount'] );
// ? rabat procentowy
if ( $basket_position['discount_type'] == 1 )
$price['price_new'] = \S::normalize_decimal($price['price'] - $price['price'] * $basket_position['discount_amount'] / 100 );
$price['price_new'] = \Shared\Helpers\Helpers::normalize_decimal($price['price'] - $price['price'] * $basket_position['discount_amount'] / 100 );
}
}
}
@@ -792,7 +792,7 @@ class Product implements \ArrayAccess
}
}
$attributes = S::removeDuplicates( $attributes, 'id' );
$attributes = \Shared\Helpers\Helpers::removeDuplicates( $attributes, 'id' );
foreach ( $attributes as $key => $val )
{