Files
b2b.redline.com.pl/cron-products.php
2026-02-02 21:43:54 +01:00

61 lines
2.3 KiB
PHP

<?
include 'modules/medoo.php';
function log_msg($message)
{
$timestamp = date('Y-m-d H:i:s');
echo '[' . $timestamp . '] ' . $message . "<br>" . PHP_EOL;
}
$mdb = new medoo( [
'database_type' => 'mysql',
'database_name' => 'host439372_b2b',
'server' => 'localhost',
'username' => 'host439372_b2b',
'password' => 'BNbuvNMs22Dq48drp6Ee',
'charset' => 'utf8'
] );
log_msg('Start: przeliczanie cen zestawów (pack).');
$rows = $mdb -> select( 'ps_product', '*', [ 'cache_is_pack' => 1 ] );
log_msg('Znaleziono zestawów: ' . count($rows));
foreach ( $rows as $row )
{
log_msg('Przeliczam cenę zestawu ID: ' . $row['id_product']);
$summary_price = 0;
$rows2 = $mdb -> select( 'ps_pack', '*', [ 'id_product_pack' => $row['id_product'] ] );
foreach ( $rows2 as $row2 )
{
$price = (float)$mdb -> get( 'ps_product', 'price', [ 'id_product' => $row2['id_product_item'] ] );
$summary_price += $price * $row2['quantity'];
}
$mdb -> update( 'ps_product', [ 'price' => $summary_price ], [ 'id_product' => $row['id_product'] ] );
$mdb -> update( 'ps_product_shop', [ 'price' => $summary_price ], [ 'id_product' => $row['id_product'] ] );
log_msg('Zapisano cenę zestawu ID: ' . $row['id_product'] . ' = ' . $summary_price);
}
log_msg('Start: przeliczanie stanów magazynowych zestawów (pack).');
$rows = $mdb -> select( 'ps_product', '*', [ 'cache_is_pack' => 1 ] );
log_msg('Znaleziono zestawów: ' . count($rows));
foreach ( $rows as $row )
{
log_msg('Przeliczam stan magazynowy zestawu ID: ' . $row['id_product']);
$product_quantity = 999999999;
$rows2 = $mdb -> select( 'ps_pack', '*', [ 'id_product_pack' => $row['id_product'] ] );
foreach ( $rows2 as $row2 )
{
$quantity = $mdb -> get( 'ps_stock_available', 'quantity', [ 'id_product' => $row2['id_product_item'] ] );
$product_quantity_tmp = floor( $quantity / $row2['quantity'] );
if ( $product_quantity > $product_quantity_tmp )
$product_quantity = $product_quantity_tmp;
}
$mdb -> update( 'ps_stock_available', [ 'quantity' => $product_quantity ], [ 'id_product' => $row['id_product'] ] );
log_msg('Zapisano stan magazynowy zestawu ID: ' . $row['id_product'] . ' = ' . $product_quantity);
}
log_msg('Koniec: zakończono przetwarzanie zestawów.');
?>