update
This commit is contained in:
2025-05-12 20:38:21 +02:00
7 changed files with 17294 additions and 37 deletions

View File

@@ -21,7 +21,7 @@ $mdb_dr = new medoo( [
'charset' => 'utf8'
] );
$mdb -> query( 'TRUNCATE TABLE estella_products' );
$mdb -> query( 'TRUNCATE TABLE estella_products_drmaterac' );
$file = file_get_contents( 'https://b2b.estella.eu/generator/22413dfa-be6d-473d-b301-282351168cf6/xml/aa6648e6-c4a8-4af6-b6ae-33954c47886f' );
$doc = new DOMDocument();
@@ -41,43 +41,24 @@ foreach ( $products as $product )
$ean = $xpath -> query( 'Ean', $product );
$ean_value = $ean -> item(0) -> nodeValue;
if ( $mdb -> count( 'estella_products', [ 'sku' => $indeks_value ] ) == 0 )
{
$mdb -> insert( 'estella_products', [
$mdb -> insert( 'estella_products_drmaterac', [
'sku' => $indeks_value,
'name' => $nazwa_value,
'ean' => $ean_value
] );
}
if ( $mdb -> count( 'estella_products_old', [ 'sku' => $indeks_value ] ) == 0 )
{
$mdb -> insert( 'estella_products_old', [
'sku' => $indeks_value,
'name' => $nazwa_value,
'ean' => $ean_value
] );
}
}
$products_to_delete = [];
$old_products = $mdb -> select( 'estella_products_old', [ 'sku' ] );
foreach ( $old_products as $product_tmp )
$estella_products = $mdb_dr -> query( 'SELECT id_product FROM materac_product_lang WHERE name LIKE \'%Estella%\' AND id_product > 0' ) -> fetchAll( PDO::FETCH_COLUMN, 0 );
$estella_products = array_unique($estella_products);
foreach ( $estella_products as $estella_product_id )
{
if ( $mdb -> count( 'estella_products', [ 'sku' => $product_tmp['sku'] ] ) == 0 )
{
$products_to_delete[] = $product_tmp['sku'];
}
}
$product = $mdb_dr -> get( 'materac_product', '*', [ 'id_product' => $estella_product_id ] );
$product_reference = $product['reference'];
foreach ( $products_to_delete as $product_to_delete )
{
$product_id_tmp = $mdb_dr -> get( 'materac_product', 'id_product', [ 'reference' => $product_to_delete ] );
if ( $product_id_tmp )
if ( !$mdb -> count( 'estella_products_drmaterac', [ 'sku' => $product_reference ] ) )
{
$mdb_dr -> update( 'materac_product', [ 'active' => 0 ], [ 'id_product' => $product_id_tmp ] );
$mdb_dr -> update( 'materac_product_shop', [ 'active' => 0 ], [ 'id_product' => $product_id_tmp ] );
echo '<p>Deaktywowano produkt: ' . $product_to_delete . '</p>';
$mdb_dr -> update( 'materac_product', [ 'active' => 0 ], [ 'id_product' => $estella_product_id ] );
$mdb_dr -> update( 'materac_product_shop', [ 'active' => 0 ], [ 'id_product' => $estella_product_id ] );
echo 'Nie ma produktu w bazie Estella: ' . $product_reference . ', id: ' . $estella_product_id . '<br>';
}
}

View File

@@ -0,0 +1,64 @@
<?php
error_reporting( E_ALL ^ E_NOTICE ^ E_STRICT ^ E_WARNING ^ E_DEPRECATED );
include '../_plugins/medoo.php';
include '../settings.php';
$mdb = new medoo( [
'database_type' => 'mysql',
'database_name' => $settings['db']['database'],
'server' => $settings['db']['host'] ,
'username' => $settings['db']['user'],
'password' => $settings['db']['password'],
'charset' => 'utf8'
] );
$mdb_dr = new medoo( [
'database_type' => 'mysql',
'database_name' => 'admin_lulandia',
'server' => 'dedyk8.cyber-folks.pl',
'username' => 'admin_lulandia',
"password" => '6_atdQ-N#xlN-t#0',
'charset' => 'utf8'
] );
$mdb -> query( 'TRUNCATE TABLE estella_products_lulandia' );
$file = file_get_contents( 'https://b2b.estella.eu/generator/22413dfa-be6d-473d-b301-282351168cf6/xml/aa6648e6-c4a8-4af6-b6ae-33954c47886f' );
$doc = new DOMDocument();
$doc -> loadXML( $file );
$xpath = new DOMXPath( $doc );
$products = $xpath->query('//Document/Produkt');
foreach ( $products as $product )
{
$indeks = $xpath -> query( 'Indeks', $product );
$indeks_value = $indeks -> item(0) -> nodeValue;
$nazwa = $xpath -> query( 'Nazwa', $product );
$nazwa_value = $nazwa -> item(0) -> nodeValue;
$ean = $xpath -> query( 'Ean', $product );
$ean_value = $ean -> item(0) -> nodeValue;
$mdb -> insert( 'estella_products_lulandia', [
'sku' => $indeks_value,
'name' => $nazwa_value,
'ean' => $ean_value
] );
}
$estella_products = $mdb_dr -> query( 'SELECT id_product FROM materac_product_lang WHERE name LIKE \'%Estella%\' AND id_product > 0' ) -> fetchAll( PDO::FETCH_COLUMN, 0 );
$estella_products = array_unique($estella_products);
foreach ( $estella_products as $estella_product_id )
{
$product = $mdb_dr -> get( 'materac_product', '*', [ 'id_product' => $estella_product_id ] );
$product_reference = $product['reference'];
if ( !$mdb -> count( 'estella_products_lulandia', [ 'sku' => $product_reference ] ) )
{
$mdb_dr -> update( 'materac_product', [ 'active' => 0 ], [ 'id_product' => $estella_product_id ] );
$mdb_dr -> update( 'materac_product_shop', [ 'active' => 0 ], [ 'id_product' => $estella_product_id ] );
echo 'Nie ma produktu w bazie Estella: ' . $product_reference . ', id: ' . $estella_product_id . '<br>';
}
}

View File

@@ -0,0 +1,65 @@
<?php
error_reporting( E_ALL ^ E_NOTICE ^ E_STRICT ^ E_WARNING ^ E_DEPRECATED );
include '../_plugins/medoo.php';
include '../settings.php';
$mdb = new medoo( [
'database_type' => 'mysql',
'database_name' => $settings['db']['database'],
'server' => $settings['db']['host'] ,
'username' => $settings['db']['user'],
'password' => $settings['db']['password'],
'charset' => 'utf8'
] );
$mdb_dr = new medoo( [
'database_type' => 'mysql',
'database_name' => 'admin_masimmo_shop',
'server' => 'dedyk8.cyber-folks.pl',
'username' => 'admin_masimmo_shop',
"password" => '-T.C0Q-6iPO@e+Fi',
'charset' => 'utf8'
] );
$mdb -> query( 'TRUNCATE TABLE estella_products_masimmo' );
$file = file_get_contents( 'https://b2b.estella.eu/generator/22413dfa-be6d-473d-b301-282351168cf6/xml/aa6648e6-c4a8-4af6-b6ae-33954c47886f' );
$doc = new DOMDocument();
$doc -> loadXML( $file );
$xpath = new DOMXPath( $doc );
$products = $xpath->query('//Document/Produkt');
foreach ( $products as $product )
{
$indeks = $xpath -> query( 'Indeks', $product );
$indeks_value = $indeks -> item(0) -> nodeValue;
$nazwa = $xpath -> query( 'Nazwa', $product );
$nazwa_value = $nazwa -> item(0) -> nodeValue;
$ean = $xpath -> query( 'Ean', $product );
$ean_value = $ean -> item(0) -> nodeValue;
$mdb -> insert( 'estella_products_masimmo', [
'sku' => $indeks_value,
'name' => $nazwa_value,
'ean' => $ean_value
] );
}
$estella_products = $mdb_dr -> query( 'SELECT id_product FROM ps_product_lang WHERE name LIKE \'%Estella%\' AND id_product > 0' ) -> fetchAll( PDO::FETCH_COLUMN, 0 );
$estella_products = array_unique($estella_products); echo count( $estella_products ) . '<br>';
foreach ( $estella_products as $estella_product_id )
{
$product = $mdb_dr -> get( 'ps_product', '*', [ 'id_product' => $estella_product_id ] );
$product_reference = $product['reference'];
if ( !$mdb -> count( 'estella_products_masimmo', [ 'sku' => $product_reference ] ) )
{
$mdb_dr -> update( 'ps_product', [ 'active' => 0 ], [ 'id_product' => $estella_product_id ] );
$mdb_dr -> update( 'ps_product_shop', [ 'active' => 0 ], [ 'id_product' => $estella_product_id ] );
echo 'Nie ma produktu w bazie Estella: ' . $product_reference . ', id: ' . $estella_product_id . '<br>';
}
}
echo 'koniec';

15764
drmaterac.pl/estella.xml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff