diff --git a/.vscode/ftp-kr.sync.cache.json b/.vscode/ftp-kr.sync.cache.json index 45da776a..ddd3e635 100644 --- a/.vscode/ftp-kr.sync.cache.json +++ b/.vscode/ftp-kr.sync.cache.json @@ -98,7 +98,7 @@ }, "google-merchant_id-1.xml": { "type": "-", - "size": 18095653, + "size": 18373587, "lmtime": 0, "modified": true }, diff --git a/custom-script.php b/custom-script.php index 4400781b..22ff3672 100644 --- a/custom-script.php +++ b/custom-script.php @@ -1,34 +1,59 @@ - 'mysql', - 'database_name' => 'interblue_sklep', - 'server' => 'localhost', - 'username' => 'interblue_sklep', - 'password' => '2212+#++@pSVSb4', - 'charset' => 'utf8' - ] ); + query( 'SELECT c.firstname, c.lastname, c.email, a.phone, COUNT(DISTINCT o.id_order) AS orders_count -FROM ps_customer AS c -JOIN ps_address AS a ON c.id_customer = a.id_customer -JOIN ps_orders AS o ON c.id_customer = o.id_customer -WHERE o.date_add > DATE_SUB(NOW(), INTERVAL 2 YEAR) -GROUP BY c.email -HAVING COUNT(DISTINCT o.id_order) >= 2' ) -> fetchAll( \PDO::FETCH_ASSOC ); +// Konfiguracja środowiska PrestaShop +define('_PS_ADMIN_DIR_', getcwd()); +require_once dirname(__FILE__) . '/config/config.inc.php'; +require_once dirname(__FILE__) . '/init.php'; -// Otwarcie pliku CSV do zapisu -$file = fopen('customers.csv', 'w'); -// Dodanie nagłówków kolumn do pliku CSV -fputcsv($file, ['First Name', 'Last Name', 'Email', 'Phone']); +// ID producentów, których produkty mają zostać zaktualizowane +$manufacturerIds = [198, 256]; -// Zapisanie danych do pliku CSV -foreach ($results as $row) { - fputcsv($file, $row); +// ID cechy oraz jej wartości do przypisania +$featureId = 20; +$featureValueId = 19002; + +// Pobierz produkty od wybranych producentów +$sql = ' + SELECT p.id_product + FROM ' . _DB_PREFIX_ . 'product p + WHERE p.id_manufacturer IN (' . implode(',', array_map('intval', $manufacturerIds)) . ') +'; + +$productIds = Db::getInstance()->executeS($sql); + +if ($productIds) { + foreach ($productIds as $product) { + $productId = (int)$product['id_product']; + + // Sprawdź, czy cecha już istnieje dla produktu + $sqlCheck = ' + SELECT id_feature + FROM ' . _DB_PREFIX_ . 'feature_product + WHERE id_product = ' . $productId . ' AND id_feature = ' . (int)$featureId . ' + '; + + $featureExists = Db::getInstance()->getValue($sqlCheck); + + if (!$featureExists) { + // Przypisz cechę do produktu + $insert = ' + INSERT INTO ' . _DB_PREFIX_ . 'feature_product (id_feature, id_product, id_feature_value) + VALUES (' . (int)$featureId . ', ' . $productId . ', ' . (int)$featureValueId . ') + '; + Db::getInstance()->execute($insert); + + echo 'Product ID: ' . $productId . " - Feature ID: $featureId - Feature Value ID: $featureValueId\n"; + echo '
'; + echo "Dodano cechę dla produktu ID: $productId\n"; + echo '
'; + } else { + echo "Produkt ID: $productId już posiada tę cechę\n"; + echo '
'; + } + } +} else { + echo "Nie znaleziono produktów dla podanych producentów.\n"; + echo '
'; } -// Zamknięcie pliku -fclose($file); - -echo "Dane zostały zapisane do pliku customers.csv."; -?> \ No newline at end of file +echo "Operacja zakończona.\n";