File: //var/www/innodrive/migrations/migrate_images_harmonic.php
<?php
if( php_sapi_name() !== 'cli' ) {
die("Meant to be run from command line");
}
if (!empty($argv[1])) {
define('APPLICATION_ENV', $argv[1]);
} else {
define('APPLICATION_ENV', 'production');
}
define( 'BASE_PATH', './public/' );
define('WP_USE_THEMES', false);
global $wpdb;
require(BASE_PATH . 'wp-load.php');
require(BASE_PATH . 'wp-content/plugins/import/class/Product.php');
$uploads_path = 'wp-content/uploads/images/harmonic/';
$uploads_dir = BASE_PATH . $uploads_path;
$images_mapping = [
'CHA-A' => 'CHA_20A_50_H_C1024_3_ISO.jpg',
'CHA-C' => 'img_CHA-14A_ISO.jpg',
'CHM' => 'CHM_0200A_AR_L_MDH_7_ISO.jpg',
'FHA-C' => 'FHA_25C_50_H_C1024_B_3_Seite.jpg',
'FHA-C mini' => 'FHA_11C_30_D200__E__4_Iso3.jpg',
'LynxDrive' => 'Lynxdrive_25c_30_ISO4.jpg',
'PMA' => 'img_PMA_11A_50__1_ISO_1.jpg',
'RSF' => 'RSF_8_30_F100_24B_2_ISO.jpg',
'CanisDrive' => 'CanisDrive50A_Iso2.jpg',
'BDA' => 'BDA_20_HFUC_ISO-min.jpg',
'FLA' => 'FLA_17_FB_ISO-min.jpg',
'CobaltLine-2A' => 'CSG_20_50_2A_GR_E_2_ISO.jpg',
'CSG-2A' => 'img_CSG_20_50_2UH_18_ISO_2.jpg',
'CPL-2A' => 'CPL_20A_50_2A_4_ISO.jpg',
'HFUC-2A' => 'HFUC_20_50_2A_GR_6b_ISO2.jpg',
'HFUS-2A' => 'HFUS_20_50_2A_GR_1_ISO.jpg',
'CSD-2A' => 'CSD_20_50_2A_GR_2_ISO.jpg',
'CobaltLine-CPH' => 'CobaltLine_CP_M_H_S_1_.jpg',
'CobaltLine-CPS' => 'CobaltLine_CP_M_H_S_1_.jpg',
'CobaltLine-2UH' => 'img_CSG_20_50_2UH_18_ISO_2.jpg',
'CSG-2UH' => 'img_CSG_20_50_2UH_18_ISO_2.jpg',
'HFUC-2UH' => 'img_HFUC_20_50_2UH_8_ISO_1.jpg',
'SHD-2SH ' => 'img_SHD_20_100_2SH_1_ISO_1.jpg',
'CPU-S' => 'img_CPU_20_50_M_4_ISO.jpg',
'CPU-H' => 'img_CPU_20_50_M_4_ISO.jpg',
'HFUS-2SO' => 'SHG_2SO_2UH_2SH_1_.jpg',
'HFUS-2UH' => 'SHG_2SO_2UH_2SH_1_.jpg',
'HFUS-2SH' => 'SHG_2SO_2UH_2SH_1_.jpg',
'CSD-2UH' => 'CSD-2UH_CSD-2UF_01.jpg',
'CSD-2UF' => 'CSD-2UH_CSD-2UF_01.jpg',
'SHG-2UH' => 'SHG_2SO_2UH_2SH_1_.jpg',
'PMG' => 'PMG_M_S_01.jpg',
'CSF-mini' => 'CSF_14_30_2XH_F_2_ISO.jpg',
'CobaltLine-CPM' => 'CobaltLine_CP_M_H_S_1_.jpg',
'CPU-M' => 'CPU_20_50_H_5_ISO.jpg',
'SHG-2SO' => 'HFUS_20_50_2UH_7_ISO.jpg',
'SHG-2SH' => 'HFUS_20_50_2SO_8_ISO.jpg',
'SHG-2A' => 'HFUS_20_50_2A_GR_1_ISO.jpg',
];
foreach ($images_mapping as $serie => $image) {
$image_dir = $uploads_dir . $image;
$image_path = '/' . $uploads_path . $image;
if(!file_exists($image_dir)) continue;
echo 'Servoactuators' . PHP_EOL . PHP_EOL;
$query = "SELECT products.* FROM products
JOIN categories on products.category_id = categories.id
JOIN params_servoactuator on params_servoactuator.product_id = products.id
WHERE categories.slug = %s AND params_servoactuator.serie = %s";
$products = $wpdb->get_results($wpdb->prepare($query, 'servoactuator', $serie));
echo $serie . ': ' . count($products) . PHP_EOL;
if ($products) {
foreach ($products as $product) {
Product::saveMeta($product->id, [
'Thumbnail URL' => $image_path,
'Picture URL' => $image_path
]);
echo 'Image "' . $image . '" is assigned to product with ID "' . $product->id . '"' . PHP_EOL;
}
}
echo 'Gears' . PHP_EOL . PHP_EOL;
$query = "SELECT products.* FROM products
JOIN categories on products.category_id = categories.id
JOIN params_gear on params_gear.product_id = products.id
WHERE categories.slug = %s AND params_gear.serie = %s";
$products = $wpdb->get_results($wpdb->prepare($query, 'gear', $serie));
echo $serie . ': ' . count($products) . PHP_EOL;
if ($products) {
foreach ($products as $product) {
Product::saveMeta($product->id, [
'Thumbnail URL' => $image_path,
'Picture URL' => $image_path
]);
echo 'Image "' . $image . '" is assigned to product with ID "' . $product->id . '"' . PHP_EOL;
}
}
}
echo 'DONE' . PHP_EOL . PHP_EOL;