61 lines
2.3 KiB
PHP
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.');
|
|
?>
|