From 4db202b25125aa8528e9aad34b2854de2bd4141d Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Tue, 13 May 2025 23:13:31 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Poprawa=20usuwania=20starych=20plik=C3=B3w?= =?UTF-8?q?=20XML=20przed=20pobraniem=20nowego=20pliku?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- drmaterac.pl/ceneo_drmaterac_feed.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drmaterac.pl/ceneo_drmaterac_feed.php b/drmaterac.pl/ceneo_drmaterac_feed.php index 00f3ff6..6beb694 100644 --- a/drmaterac.pl/ceneo_drmaterac_feed.php +++ b/drmaterac.pl/ceneo_drmaterac_feed.php @@ -17,7 +17,8 @@ $manufacturers = $mdb->select('materac_x13gpsr_responsible_manufacturer', '*', [ // Pobranie pliku XML $url = "http://drmaterac.pl/modules/pricewars2/service.php?id_xml=1"; $localFile = "ceneo_drmaterac_feed_temp.xml"; -unlink ( $localFile ); // Usunięcie starego pliku, jeśli istnieje +unlink( $localFile ); // Usunięcie starego pliku, jeśli istnieje +unlink( "ceneo_drmaterac_feed.xml" ); // Usunięcie starego pliku, jeśli istnieje $xmlContent = file_get_contents($url); if ($xmlContent === false) { From 2b584d7748b4b33e73a99e6a0a1b4ccdbe35040c Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Wed, 14 May 2025 23:35:55 +0200 Subject: [PATCH 2/2] Add ceneo_lulandia_feed.php for XML feed generation and manufacturer data integration - Implemented database connection using Medoo for MySQL. - Fetched active manufacturers from the database. - Retrieved XML data from a specified URL and saved it locally. - Created a new XML structure for responsible producers and integrated it into the existing XML feed. - Added responsible manufacturer information to each product offer in the XML. - Handled file operations including deletion of old files and renaming of the final output. - Included error handling for various stages of the process to ensure robustness. --- drmaterac.pl/ceneo_drmaterac_feed.php | 2 +- drmaterac.pl/ceneo_lulandia_feed.php | 145 +++++++++++ drmaterac.pl/estella.xml | 342 +++++++++++++------------- 3 files changed, 323 insertions(+), 166 deletions(-) create mode 100644 drmaterac.pl/ceneo_lulandia_feed.php diff --git a/drmaterac.pl/ceneo_drmaterac_feed.php b/drmaterac.pl/ceneo_drmaterac_feed.php index 6beb694..1bef1b2 100644 --- a/drmaterac.pl/ceneo_drmaterac_feed.php +++ b/drmaterac.pl/ceneo_drmaterac_feed.php @@ -42,7 +42,7 @@ foreach ( $manufacturers as $manufacturer ) $address = $producer -> addChild( 'address' ); - $country_iso_code = $mdb -> get( 'materac_country', 'iso_code', [ 'id' => $manufacturer['id_country'] ] ); + $country_iso_code = $mdb -> get( 'materac_country', 'iso_code', [ 'id_country' => $manufacturer['id_country'] ] ); $address -> addChild( 'countryCode', htmlspecialchars( $country_iso_code ?? '' ) ); $address -> addChild( 'street', htmlspecialchars( $manufacturer['address'] ?? '' ) ); diff --git a/drmaterac.pl/ceneo_lulandia_feed.php b/drmaterac.pl/ceneo_lulandia_feed.php new file mode 100644 index 0000000..dbd3fdb --- /dev/null +++ b/drmaterac.pl/ceneo_lulandia_feed.php @@ -0,0 +1,145 @@ + 'mysql', + 'database_name' => 'admin_lulandia', + 'server' => 'dedyk8.cyber-folks.pl', + 'username' => 'admin_lulandia', + 'password' => '6_atdQ-N#xlN-t#0', + 'charset' => 'utf8' +]); + +// Pobranie aktywnych producentów +$manufacturers = $mdb->select('materac_x13gpsr_responsible_manufacturer', '*', ['active' => 1]); + +// Pobranie pliku XML +$url = "http://lulandia.pl/modules/pricewars2/service.php?id_xml=7"; +$localFile = "ceneo_lulandia_feed_temp.xml"; +unlink( $localFile ); // Usunięcie starego pliku, jeśli istnieje +unlink( "ceneo_lulandia_feed.xml" ); // Usunięcie starego pliku, jeśli istnieje + +$xmlContent = file_get_contents($url); +if ($xmlContent === false) { + die("Nie udało się pobrać pliku XML."); +} + +// Zapisanie zawartości do lokalnego pliku +if (file_put_contents($localFile, $xmlContent) === false) { + die("Nie udało się zapisać pliku XML."); +} + +// Tworzenie nowego fragmentu XML dla producentów +$responsibleProducers = new SimpleXMLElement(''); + +foreach ( $manufacturers as $manufacturer ) +{ + $producer = $responsibleProducers -> addChild( 'p' ); + $producer -> addAttribute( 'id', $manufacturer['id_x13gpsr_responsible_manufacturer'] ); + + $producer -> addChild( 'name', htmlspecialchars( $manufacturer['name'] ) ); + + $address = $producer -> addChild( 'address' ); + + $country_iso_code = $mdb -> get( 'materac_country', 'iso_code', [ 'id_country' => $manufacturer['id_country'] ] ); + $address -> addChild( 'countryCode', htmlspecialchars( $country_iso_code ?? '' ) ); + + $address -> addChild( 'street', htmlspecialchars( $manufacturer['address'] ?? '' ) ); + $address -> addChild( 'postalCode', htmlspecialchars( $manufacturer['postcode'] ?? '' ) ); + $address -> addChild( 'city', htmlspecialchars( $manufacturer['city'] ?? '' ) ); + + $contact = $producer -> addChild( 'contact' ); + $contact->addChild('email', htmlspecialchars($manufacturer['email'] ?? '')); + $contact->addChild('phoneNumber', htmlspecialchars($manufacturer['phone'] ?? '')); +} + +// Wczytanie istniejącego pliku XML +$existingXml = simplexml_load_file($localFile); +if ($existingXml === false) { + die("Nie udało się wczytać istniejącego pliku XML."); +} + +// Dodanie sekcji zaraz po otwarciu +$domExisting = dom_import_simplexml($existingXml)->ownerDocument; +$domResponsibleProducers = dom_import_simplexml($responsibleProducers)->ownerDocument->documentElement; + +// Znalezienie elementu +$offersElement = $domExisting->getElementsByTagName('offers')->item(0); +if ($offersElement === null) { + die("Nie znaleziono elementu w pliku XML."); +} + +// Wstawienie zaraz po otwarciu +$offersElement->insertBefore( + $domExisting->importNode($domResponsibleProducers, true), + $offersElement->firstChild +); + +// Zapisanie zmodyfikowanego pliku XML +if ($domExisting->save($localFile) === false) { + die("Nie udało się zapisać zmodyfikowanego pliku XML."); +} + +// Pobranie pliku XML +$localFile = "ceneo_lulandia_feed_temp.xml"; +$existingXml = simplexml_load_file($localFile); +if ($existingXml === false) { + die("Nie udało się wczytać istniejącego pliku XML."); +} + +// Iteracja po elementach +foreach ($existingXml->xpath('//o') as $offer) { + $productId = (string) $offer['id']; + + // Pobranie id_x13gpsr_responsible_manufacturer z tabeli materac_x13gpsr_responsible_manufacturer_product + $responsibleManufacturerId = $mdb->get( + 'materac_x13gpsr_responsible_manufacturer_product', + 'id_x13gpsr_responsible_manufacturer', + ['id_product' => $productId] + ); + + if (!$responsibleManufacturerId) { + // Jeśli nie znaleziono, pobierz id_manufacturer z tabeli materac_product + $brandId = $mdb->get('materac_product', 'id_manufacturer', ['id_product' => $productId]); + + if ($brandId) { + // Szukaj w tabeli materac_x13gpsr_responsible_manufacturer_brand + $responsibleManufacturerId = $mdb->get( + 'materac_x13gpsr_responsible_manufacturer_brand', + 'id_x13gpsr_responsible_manufacturer', + ['id_brand' => $brandId] + ); + } + } + + // Dodanie elementu z nazwą producenta odpowiedzialnego + if ($responsibleManufacturerId) { + $manufacturerName = $mdb->get( + 'materac_x13gpsr_responsible_manufacturer', + 'id_x13gpsr_responsible_manufacturer', + ['id_x13gpsr_responsible_manufacturer' => $responsibleManufacturerId] + ); + + $responsibleElement = $offer->addChild('a', ""); + $responsibleElement->addAttribute('name', 'Producent odpowiedzialny'); + } +} + +// Zapisanie zmodyfikowanego pliku XML +if ($existingXml->asXML($localFile) === false) { + die("Nie udało się zapisać zmodyfikowanego pliku XML."); +} + +echo "Plik XML został pomyślnie zaktualizowany."; + +// remove _temp from filename +$finalFile = str_replace('_temp', '', $localFile); +if (rename($localFile, $finalFile)) { + echo "Plik XML został pomyślnie przeniesiony do docelowej lokalizacji."; +} else { + echo "Nie udało się przenieść pliku XML do docelowej lokalizacji."; +} + +echo "
Plik XML został pomyślnie zaktualizowany. URL: " . $finalFile; +?> \ No newline at end of file diff --git a/drmaterac.pl/estella.xml b/drmaterac.pl/estella.xml index 205d26c..2ecdfc6 100644 --- a/drmaterac.pl/estella.xml +++ b/drmaterac.pl/estella.xml @@ -588,7 +588,7 @@ A205481003 Pościel 155/200 2x70/80 2x40/40 2054/810 Svizzera 5903104043414 -14 +13 359 899 @@ -616,7 +616,7 @@ A205481011 Pościel 135/200 70/80 40/40 2054/810 Svizzera 5903104043407 -24 +23 259 649 @@ -813,7 +813,7 @@ A217898511 Pościel 135/200 70/80 40/40 2178/985 Valeska 5903104054250 -9 +7 259 649 @@ -995,7 +995,7 @@ A220598503 Pościel 155/200 2x70/80 2205/985 Primavera 5903104054441 -31 +30 299 749 @@ -1213,7 +1213,7 @@ A291400016 Poszewka 40/40 cm Satyna 400/różowy 5903104046927 -142 +139 20 46 @@ -1316,7 +1316,7 @@ A570095025 Prześcieradło 150/200 cm welur 095/bahama 4053912056067 -19 +18 89 219 @@ -1358,7 +1358,7 @@ A570100025 Prześcieradło 150/200 cm welur 100/weiss 4053912056074 -13 +11 89 219 @@ -1442,7 +1442,7 @@ A570160025 Prześcieradło 150/200 cm welur 160/hellblau 4053912056098 -9 +8 89 219 @@ -1568,7 +1568,7 @@ A570620025 Prześcieradło 150/200 cm welur 620/flieder 4053912056203 -10 +9 89 219 @@ -1596,7 +1596,7 @@ A570800021 Prześcieradło 100/200 cm welur 800/kiesel 4053912056005 -15 +14 73 179 @@ -1694,7 +1694,7 @@ A570915025 Prześcieradło 150/200 cm welur 915/platin 4053912056289 -8 +20 89 219 @@ -1739,7 +1739,7 @@ A617418011 Pościel 135/200 70/80 6174/180 Gregorio 5903104037017 -4 +2 269 659 @@ -1913,7 +1913,7 @@ A630100044 Prześcieradło 200/200 cm Bio bawełna GOTS 100/biały 4053912376769 -3 +2 159 329 @@ -1941,7 +1941,7 @@ A630565025 Prześcieradło 150/200 cm Bio bawełna GOTS 565/pistacjowy 4053912376738 -2 +1 123 249 @@ -2039,7 +2039,7 @@ A630915044 Prześcieradło 200/200 cm Bio bawełna GOTS 915/platynowy 4053912376790 -3 +2 159 329 @@ -2087,20 +2087,6 @@ https://b2b.estella.eu/assets/images/products/6748/6317-230_1.jpg|https://b2b.estella.eu/assets/images/products/6748/6317-230_2.jpg - - -Komplety pościeli - - -A631723011 -Pościel 135/200 70/80 6317/230 Moritz -5903104052782 -1 -269 -569 - -https://b2b.estella.eu/assets/images/products/6750/6317-230_1.jpg|https://b2b.estella.eu/assets/images/products/6750/6317-230_2.jpg - Komplety pościeli @@ -2109,7 +2095,7 @@ A632091503 Pościel 155/200 2x70/80 6320/915 Theo 5903104052911 -5 +4 339 719 @@ -2123,7 +2109,7 @@ A632091511 Pościel 135/200 70/80 6320/915 Theo 5903104052904 -5 +2 269 569 @@ -2216,8 +2202,34 @@ Komplety pościeli + + +A633290007 +Pościel 200/220 2x70/80 6332/900 Johanna DD +5903104053109 +2 +499 +1049 + +https://b2b.estella.eu/assets/images/products/6776/6332-900_1.jpg|https://b2b.estella.eu/assets/images/products/6776/6332-900_2.jpg + + +Komplety pościeli + + +A633290011 +Pościel 135/200 70/80 6332/900 Johanna DD +5903104053086 +5 +279 +589 + +https://b2b.estella.eu/assets/images/products/6777/6332-900_1.jpg|https://b2b.estella.eu/assets/images/products/6777/6332-900_2.jpg + + +Komplety pościeli A634220003 @@ -2461,7 +2473,7 @@ A634853211 Pościel 135/200 70/80 6348/532 Frida 5903104053413 -3 +1 269 569 @@ -2517,7 +2529,7 @@ A635581003 Pościel 155/200 2x70/80 6355/810 Kim DD 5903104052973 -25 +24 359 759 @@ -2547,7 +2559,7 @@ A635705003 Pościel 155/200 2x70/80 6357/050 Karina 5903104053512 -2 +1 339 719 @@ -2576,7 +2588,7 @@ A650100009 Prześcieradło 100/200 cm jersey 100 4042745053091 -35 +33 53 129 @@ -2654,7 +2666,7 @@ A650100025 Prześcieradło 150/200 cm jersey 100 4042745055927 -49 +52 71 179 @@ -2718,7 +2730,7 @@ A650100044 Prześcieradło 200/200 cm jersey 100 4042745056856 -32 +27 99 249 @@ -2824,7 +2836,7 @@ A650110025 Prześcieradło 150/200 cm jersey 110 4042745055934 -23 +21 71 179 @@ -2888,7 +2900,7 @@ A650110044 Prześcieradło 200/200 cm jersey 110 4042745056863 -8 +15 99 249 @@ -2920,7 +2932,7 @@ A650160009 Prześcieradło 100/200 cm jersey 160 4042745053152 -22 +21 53 129 @@ -3034,7 +3046,7 @@ A650160037 Poszewka 40/60 cm jersey 160 4042745806628 -12 +11 27 69 @@ -3048,7 +3060,7 @@ A650160038 Poszewka 40/80 cm jersey 160 4042745806932 -17 +16 29 72 @@ -3170,7 +3182,7 @@ A650200025 Prześcieradło 150/200 cm jersey 200 4042745056016 -16 +12 71 179 @@ -3217,7 +3229,7 @@ A650200044 Prześcieradło 200/200 cm jersey 200 4042745056955 -8 +6 99 249 @@ -3266,7 +3278,7 @@ A650202025 Prześcieradło 150/200 cm jersey 202 4053912341330 -4 +14 71 179 @@ -3284,7 +3296,7 @@ A650202044 Prześcieradło 200/200 cm jersey 202 4053912341361 -13 +10 99 249 @@ -3380,7 +3392,7 @@ A650230025 Prześcieradło 150/200 cm jersey 230 4042745056054 -17 +16 71 179 @@ -3852,7 +3864,7 @@ A650400009 Prześcieradło 100/200 cm jersey 400 4042745053381 -17 +15 53 129 @@ -3870,7 +3882,7 @@ A650400025 Prześcieradło 150/200 cm jersey 400 4042745056207 -13 +12 71 179 @@ -3888,7 +3900,7 @@ A650400026 Prześcieradło 70/140 cm jersey 400 4042745058041 -2 +1 44 109 @@ -3906,7 +3918,7 @@ A650400044 Prześcieradło 200/200 cm jersey 400 4042745057143 -6 +4 99 249 @@ -4582,7 +4594,7 @@ A650581044 Prześcieradło 200/200 cm jersey 581 4053912341378 -6 +5 99 249 @@ -4651,7 +4663,7 @@ A650620009 Prześcieradło 100/200 cm jersey 620 4042745262790 -16 +15 53 129 @@ -4683,7 +4695,7 @@ A650620016 Poszewka 40/40 cm jersey 620 4042745806505 -5 +15 22 54 @@ -4761,7 +4773,7 @@ A650620038 Poszewka 40/80 cm jersey 620 4042745807120 -12 +11 29 72 @@ -4807,7 +4819,7 @@ A650635009 Prześcieradło 100/200 cm jersey 635 4042745053749 -14 +13 53 129 @@ -4853,7 +4865,7 @@ A650635020 Prześcieradło 120/200 cm jersey 635 4042745054722 -9 +8 71 179 @@ -4885,7 +4897,7 @@ A650635025 Prześcieradło 150/200 cm jersey 635 4042745056559 -13 +11 71 179 @@ -5174,7 +5186,7 @@ A650670016 Poszewka 40/40 cm jersey 670 4042745806529 -9 +6 22 54 @@ -5219,7 +5231,7 @@ A650670025 Prześcieradło 150/200 cm jersey 670 4042745056597 -14 +13 71 179 @@ -5469,7 +5481,7 @@ A650800009 Prześcieradło 100/200 cm jersey 800 4042745741646 -15 +14 53 129 @@ -5500,7 +5512,7 @@ A650800016 Poszewka 40/40 cm jersey 800 4042745948939 -4 +14 22 54 @@ -5545,7 +5557,7 @@ A650800025 Prześcieradło 150/200 cm jersey 800 4042745741776 -21 +18 71 179 @@ -5562,7 +5574,7 @@ A650800037 Poszewka 40/60 cm jersey 800 4042745948977 -17 +16 27 69 @@ -5576,7 +5588,7 @@ A650800038 Poszewka 40/80 cm jersey 800 4042745949011 -12 +10 29 72 @@ -5590,7 +5602,7 @@ A650800044 Prześcieradło 200/200 cm jersey 800 4042745741806 -14 +11 99 249 @@ -5639,7 +5651,7 @@ A650820025 Prześcieradło 150/200 cm jersey 820 4042745056696 -13 +12 71 179 @@ -5720,7 +5732,7 @@ A650840020 Prześcieradło 120/200 cm jersey 840 4042745054883 -14 +11 71 179 @@ -5751,7 +5763,7 @@ A650840025 Prześcieradło 150/200 cm jersey 840 4042745056702 -7 +4 71 179 @@ -5798,7 +5810,7 @@ A650840044 Prześcieradło 200/200 cm jersey 840 4042745057686 -12 +11 99 249 @@ -5829,7 +5841,7 @@ A650900009 Prześcieradło 100/200 cm jersey 900 4042745053916 -8 +7 53 129 @@ -5907,7 +5919,7 @@ A650900025 Prześcieradło 150/200 cm jersey 900 4042745056719 -17 +16 71 179 @@ -5925,7 +5937,7 @@ A650900037 Poszewka 40/60 cm jersey 900 4042745806871 -19 +18 27 69 @@ -5953,7 +5965,7 @@ A650900044 Prześcieradło 200/200 cm jersey 900 4042745057693 -7 +5 99 249 @@ -6063,7 +6075,7 @@ A650905025 Prześcieradło 150/200 cm jersey 905 4042745056726 -5 +4 71 179 @@ -6109,7 +6121,7 @@ A650905044 Prześcieradło 200/200 cm jersey 905 4042745057709 -13 +12 99 249 @@ -6141,7 +6153,7 @@ A650915009 Prześcieradło 100/200 cm jersey 915 4042745053930 -13 +10 53 129 @@ -6173,7 +6185,7 @@ A650915016 Poszewka 40/40 cm jersey 915 4042745806581 -11 +10 22 54 @@ -6219,7 +6231,7 @@ A650915025 Prześcieradło 150/200 cm jersey 915 4042745056733 -17 +14 71 179 @@ -6269,7 +6281,7 @@ A650915038 Poszewka 40/80 cm jersey 915 4042745807199 -12 +10 29 72 @@ -6283,7 +6295,7 @@ A650915044 Prześcieradło 200/200 cm jersey 915 4042745057716 -9 +2 99 249 @@ -6301,7 +6313,7 @@ A650915088 Poszewka 80/80 cm jersey 915 4042745807502 -5 +4 42 104 @@ -6333,7 +6345,7 @@ A650950025 Prześcieradło 150/200 cm jersey 950 4042745989703 -8 +7 71 179 @@ -6467,7 +6479,7 @@ A660100025 Prześcieradło 150/200 Jersey Stretch 6600/100 4053912438436 -15 +14 93 229 @@ -6509,7 +6521,7 @@ A660110025 Prześcieradło 150/200 Jersey Stretch 6600/110 4053912438467 -4 +16 93 229 @@ -6523,7 +6535,7 @@ A660110044 Prześcieradło 200/200 Jersey Stretch 6600/110 4053912438658 -12 +11 119 299 @@ -6789,7 +6801,7 @@ A660615009 Prześcieradło 100/200 Jersey Stretch 6600/615 4053912438344 -10 +9 68 169 @@ -6887,7 +6899,7 @@ A660635025 Prześcieradło 150/200 Jersey Stretch 6600/635 4053912438559 -8 +6 93 229 @@ -7097,7 +7109,7 @@ A660840025 Prześcieradło 150/200 Jersey Stretch 6600/840 4053912438597 -8 +7 93 229 @@ -7181,7 +7193,7 @@ A660915025 Prześcieradło 150/200 Jersey Stretch 6600/915 4053912438610 -11 +10 93 229 @@ -7754,7 +7766,7 @@ A663064007 Pościel 200/220 2x70/80 6630/640 Raphael 5903104054991 -22 +21 499 1249 @@ -7869,7 +7881,7 @@ A686291503 Pościel 155/200 2x70/80 6862/915 Isabella 5903104015527 -53 +50 339 849 @@ -7975,7 +7987,7 @@ A687307011 Pościel 135/200 70/80 6873/070 Takoma 5903104048723 -7 +5 269 569 @@ -7992,7 +8004,7 @@ A687329503 Pościel 155/200 2x70/80 6873/295 Takoma 5903104034115 -17 +15 339 849 @@ -8160,7 +8172,7 @@ A687382003 Pościel 155/200 2x70/80 6873/820 Takoma 5903104048785 -29 +27 339 849 @@ -8611,7 +8623,7 @@ A689881011 Pościel 135/200 70/80 6898/810 Pippa 5903104048525 -11 +10 269 659 @@ -8843,7 +8855,7 @@ A690080025 Prześcieradło 150/200 cm zwirn-jersey 080 4053912192598 -13 +11 115 289 @@ -8861,7 +8873,7 @@ A690080044 Prześcieradło 200/200 cm zwirn-jersey 080 4053912192604 -7 +4 140 349 @@ -8897,7 +8909,7 @@ A690095025 Prześcieradło 150/200 cm zwirn-jersey 095 4042745989857 -10 +9 115 289 @@ -8933,7 +8945,7 @@ A690100009 Prześcieradło 100/200 cm zwirn-jersey 100 4042745614674 -26 +24 89 219 @@ -8951,7 +8963,7 @@ A690100025 Prześcieradło 150/200 cm zwirn-jersey 100 4042745614933 -10 +33 115 289 @@ -8969,7 +8981,7 @@ A690100044 Prześcieradło 200/200 cm zwirn-jersey 100 4042745615190 -23 +30 140 349 @@ -9005,7 +9017,7 @@ A690110025 Prześcieradło 150/200 cm zwirn-jersey 110 4042745614940 -13 +10 115 289 @@ -9023,7 +9035,7 @@ A690110044 Prześcieradło 200/200 cm zwirn-jersey 110 4042745615206 -26 +25 140 349 @@ -9059,7 +9071,7 @@ A690160025 Prześcieradło 150/200 cm zwirn-jersey 160 4042745805768 -12 +9 115 289 @@ -9077,7 +9089,7 @@ A690160044 Prześcieradło 200/200 cm zwirn-jersey 160 4042745805874 -10 +9 140 349 @@ -9166,7 +9178,7 @@ A690200025 Prześcieradło 150/200 cm zwirn-jersey 200 4042745773517 -21 +20 115 289 @@ -9183,7 +9195,7 @@ A690200044 Prześcieradło 200/200 cm zwirn-jersey 200 4042745773579 -10 +9 140 349 @@ -9200,7 +9212,7 @@ A690202009 Prześcieradło 100/200 cm zwirn-jersey 202 4053912341392 -22 +20 89 219 @@ -9218,7 +9230,7 @@ A690202025 Prześcieradło 150/200 cm zwirn-jersey 202 4053912341422 -18 +26 115 289 @@ -9236,7 +9248,7 @@ A690202044 Prześcieradło 200/200 cm zwirn-jersey 202 4053912341453 -13 +12 140 349 @@ -9272,7 +9284,7 @@ A690205025 Prześcieradło 150/200 cm zwirn-jersey 205 4042745614964 -0 +20 115 289 @@ -9290,7 +9302,7 @@ A690205044 Prześcieradło 200/200 cm zwirn-jersey 205 4042745615220 -10 +9 140 349 @@ -9434,7 +9446,7 @@ A690365025 Prześcieradło 150/200 cm zwirn-jersey 365 4042745615022 -6 +5 115 289 @@ -9539,7 +9551,7 @@ A690400025 Prześcieradło 150/200 cm zwirn-jersey 400 4042745805836 -13 +24 115 289 @@ -9846,7 +9858,7 @@ A690532025 Prześcieradło 150/200 cm zwirn-jersey 532 4053912472287 -13 +11 115 289 @@ -9860,7 +9872,7 @@ A690532044 Prześcieradło 200/200 cm zwirn-jersey 532 4053912472300 -11 +18 140 349 @@ -9892,7 +9904,7 @@ A690555025 Prześcieradło 150/200 cm zwirn-jersey 555 4042745805843 -11 +10 115 289 @@ -9910,7 +9922,7 @@ A690555044 Prześcieradło 200/200 cm zwirn-jersey 555 4042745805959 -4 +3 140 349 @@ -9946,7 +9958,7 @@ A690565025 Prześcieradło 150/200 cm zwirn-jersey 565 4042745615091 -12 +11 115 289 @@ -10000,7 +10012,7 @@ A690581025 Prześcieradło 150/200 cm zwirn-jersey 581 4053912341439 -10 +9 115 289 @@ -10108,7 +10120,7 @@ A690615025 Prześcieradło 150/200 cm zwirn-jersey 615 4042745615121 -15 +14 115 289 @@ -10141,7 +10153,7 @@ A690620009 Prześcieradło 100/200 cm zwirn-jersey 620 4042745773487 -8 +6 89 219 @@ -10159,7 +10171,7 @@ A690620025 Prześcieradło 150/200 cm zwirn-jersey 620 4042745773531 -14 +13 115 289 @@ -10214,7 +10226,7 @@ A690635025 Prześcieradło 150/200 cm zwirn-jersey 635 4042745805850 -9 +8 115 289 @@ -10324,7 +10336,7 @@ A690670025 Prześcieradło 150/200 cm zwirn-jersey 670 4042745773548 -11 +9 115 289 @@ -10375,7 +10387,7 @@ A690675025 Prześcieradło 150/200 cm zwirn-jersey 675 4053912472294 -8 +7 115 289 @@ -10405,7 +10417,7 @@ A690690009 Prześcieradło 100/200 cm zwirn-jersey 690 4042745885180 -10 +9 89 219 @@ -10495,7 +10507,7 @@ A690705044 Prześcieradło 200/200 cm zwirn-jersey 705 4042745615404 -6 +5 140 349 @@ -10531,7 +10543,7 @@ A690770025 Prześcieradło 150/200 cm zwirn-jersey 770 4053912227450 -10 +9 115 289 @@ -10585,7 +10597,7 @@ A690800025 Prześcieradło 150/200 cm zwirn-jersey 800 4042745948809 -6 +13 115 289 @@ -10603,7 +10615,7 @@ A690800044 Prześcieradło 200/200 cm zwirn-jersey 800 4042745948878 -24 +20 140 349 @@ -10639,7 +10651,7 @@ A690820025 Prześcieradło 150/200 cm zwirn-jersey 820 4042745615169 -13 +10 115 289 @@ -10657,7 +10669,7 @@ A690820044 Prześcieradło 200/200 cm zwirn-jersey 820 4042745615428 -16 +15 140 349 @@ -10721,7 +10733,7 @@ A690840025 Prześcieradło 150/200 cm zwirn-jersey 840 4053912094038 -27 +25 115 289 @@ -10739,7 +10751,7 @@ A690840044 Prześcieradło 200/200 cm zwirn-jersey 840 4053912094090 -10 +8 140 349 @@ -10793,7 +10805,7 @@ A690900044 Prześcieradło 200/200 cm zwirn-jersey 900 4042745615435 -14 +16 140 349 @@ -10847,7 +10859,7 @@ A690905044 Prześcieradło 200/200 cm zwirn-jersey 905 4042745773623 -11 +9 140 349 @@ -10884,7 +10896,7 @@ A690915025 Prześcieradło 150/200 cm zwirn-jersey 915 4042745805867 -13 +8 115 289 @@ -10903,7 +10915,7 @@ A690915044 Prześcieradło 200/200 cm zwirn-jersey 915 4042745805973 -22 +20 140 349 @@ -10941,7 +10953,7 @@ A690950025 Prześcieradło 150/200 cm zwirn-jersey 950 4042745989727 -7 +6 115 289 @@ -11049,7 +11061,7 @@ A69501005 Zwirn jersey "Topper"180- 200/200/7 cm Fb. 100 4053912143408 -2 +4 140 349 @@ -11906,7 +11918,7 @@ A699382003 Pościel 155/200 2x70/80 6993/820 Imogen DD 5903104050405 -4 +2 359 759 @@ -12095,7 +12107,7 @@ A793192003 Pościel 155/200 2x70/80 2x40/40 7931/920 Joyce DD 5903104051099 -20 +17 309 649 @@ -12870,7 +12882,7 @@ AT217263003 Pościel 155/200 2x70/80 2172/630 Amanda DD 4053912455181 -32 +31 379 799 @@ -13226,7 +13238,7 @@ AT445298003 Pościel 155/200 2x70/80 4452/980 Chestnut 4053912478067 -3 +1 184 379 @@ -13334,7 +13346,7 @@ AT470453007 Pościel 200/220 2x70/80 4704/530 Meadow 4053912269146 -60 +59 279 699 @@ -13349,7 +13361,7 @@ AT470453011 Pościel 135/200 70/80 4704/530 Meadow 4053912401003 -71 +69 149 369 @@ -13393,7 +13405,7 @@ AT480008507 Pościel 200/220 2x70/80 4800/085 Leavely 4053912454757 -27 +25 269 559 @@ -13619,7 +13631,7 @@ AT482953003 Pościel 155/200 2x70/80 4829/530 Clare 4053912519128 -99 +97 219 549 @@ -13675,7 +13687,7 @@ AT784411003 Pościel 155/200 2x70/80 7844/110 Valetta 4053912468358 -66 +62 219 549 @@ -13872,7 +13884,7 @@ AT795971003 Pościel 155/200 2x70/80 2x40/40 7959/710 Lumina DD 4053912521008 -59 +57 299 749 @@ -13900,7 +13912,7 @@ AT796981003 Pościel 155/200 2x70/80 2x40/40 7969/810 Orion DD 4053912520988 -36 +35 279 699 @@ -14086,7 +14098,7 @@ AT834898501Z Poszewka dekoracyjna 50/50 8348/985 Hydra wypełnienie 50/50 4053912410678 -8 +6 99 199 @@ -14419,7 +14431,7 @@ B3055018086 Ręcznik 30/50 cm Imperial 086/ jasnoszary 5903104018122 -5 +17 6 11.99 @@ -14435,7 +14447,7 @@ B3055018104 Ręcznik 30/50 cm Imperial 104/ kremowy 5903104018139 -23 +22 6 11.99 @@ -14555,7 +14567,7 @@ B3055127037 Ręcznik 50/100 cm Imperial 037/cappuccino 5903104018238 -2 +8 18 35.99 @@ -14799,7 +14811,7 @@ B3056018005 Ręcznik 30/50 cm Imperial Trend 005/turkusowy 5903104018689 -11 +10 7 13.99 @@ -14910,7 +14922,7 @@ B3056052029 Ręcznik-dywanik 50/70 cm Imperial Trend 029 /mocca 5903104018795 -33 +32 21.7 43.49 @@ -15459,7 +15471,7 @@ B3130137005 Ręcznik 50/100 cm Portofino 005 /turkusowy 2000000068237 -2 +5 24 47.99 @@ -15518,7 +15530,7 @@ B3130284134 Ręcznik 70/140 cm Portofino 134 /kiwi 6010422014213 -0 +6 47 93.99 @@ -15592,7 +15604,7 @@ B3260018 Ręcznik 30/50cm Palma 010/ biały 6010422014671 -0 +12 7.8 15.99 @@ -15645,7 +15657,7 @@ B3270018 Ręcznik 30/50cm Palma 092 /antracyt 6010422027534 -1 +13 10 19.99 @@ -15738,7 +15750,7 @@ Z651800016 Poszewka 40/40 cm Aloe Vera jersey 800 5903104011994 -133 +129 13.5 29 @@ -15752,7 +15764,7 @@ Z691905009 Prześcieradło 100/200 cm zwirn-jersey Aloe Vera905 5903104025649 -10 +9 67 139