80 lines
3.9 KiB
PHP
80 lines
3.9 KiB
PHP
<?php
|
|
ini_set("memory_limit", "-1");
|
|
set_time_limit(0);
|
|
error_reporting(E_ALL);
|
|
|
|
require_once 'Db.php';
|
|
|
|
$db = new Database('192.168.31.102', 'ldccrm_12_2020', 'ldccrmadm', 'wai6dahB'); // INFOS NOUVELLE CRM
|
|
|
|
$newBrandId = 2; // BRAND ID de la migration
|
|
|
|
/**
|
|
* @return Generator
|
|
*/
|
|
$fileData = function() {
|
|
$file = fopen(__DIR__ . '/Export_REGHALAL.csv', 'r');
|
|
|
|
if (!$file)
|
|
die('file does not exist or cannot be opened');
|
|
|
|
while (($line = fgets($file)) !== false) {
|
|
yield $line;
|
|
}
|
|
|
|
fclose($file);
|
|
};
|
|
|
|
foreach ($fileData() as $line) {
|
|
$isSingleOptin = false;
|
|
|
|
$datas = explode(";", $line);
|
|
$oldCrmId = $datas[0];
|
|
$newCrmId = $datas[1];
|
|
$email = $datas[2];
|
|
$otherFields = json_decode($datas[3]);
|
|
|
|
if ($newCrmId === 'SINGLEOPTIN')
|
|
$isSingleOptin = true;
|
|
|
|
foreach ($otherFields as $otherField){
|
|
// created_at - updated_at - last_cnx ne bougent pas car génériques et db sur nouvelle CRM sinon DB sur nouveau site.
|
|
switch($otherField->fieldkey){
|
|
case 'created_at':
|
|
if (!$isSingleOptin) {
|
|
$query = "UPDATE customers SET created_at = :nvalue WHERE id = :newid";
|
|
$db->requestPush($query, ['nvalue' => $otherField->fieldvalue, 'newid' => $newCrmId]);
|
|
$query = "UPDATE customer_infos SET created_at = :nvalue WHERE customer_id = :newid AND brand_id = :brandid";
|
|
$db->requestPush($query, ['nvalue' => $otherField->fieldvalue, 'newid' => $newCrmId, 'brandid' => $newBrandId]);
|
|
$query = "UPDATE customer_login SET created_at = :nvalue WHERE customer_id = :newid AND brand_id = :brandid";
|
|
$db->requestPush($query, ['nvalue' => $otherField->fieldvalue, 'newid' => $newCrmId, 'brandid' => $newBrandId]);
|
|
$query = "UPDATE customer_opt_in_history SET created_at = :nvalue WHERE customer_id = :newid AND brand_id = :brandid";
|
|
$db->requestPush($query, ['nvalue' => $otherField->fieldvalue, 'newid' => $newCrmId, 'brandid' => $newBrandId]);
|
|
}else{
|
|
$query = "UPDATE single_optin SET created_at = :nvalue, updated_at = :nvalue WHERE email = :email AND brand_id = :brandid";
|
|
$db->requestPush($query, ['nvalue' => $otherField->fieldvalue, 'email' => $email, 'brandid' => $newBrandId]);
|
|
}
|
|
break;
|
|
case 'updated_at':
|
|
if (!$isSingleOptin) {
|
|
$query = "UPDATE customers SET updated_at = :nvalue WHERE id = :newid";
|
|
$db->requestPush($query, ['nvalue' => $otherField->fieldvalue, 'newid' => $newCrmId]);
|
|
$query = "UPDATE customer_infos SET updated_at = :nvalue WHERE customer_id = :newid AND brand_id = :brandid";
|
|
$db->requestPush($query, ['nvalue' => $otherField->fieldvalue, 'newid' => $newCrmId, 'brandid' => $newBrandId]);
|
|
$query = "UPDATE customer_login SET updated_at = :nvalue WHERE customer_id = :newid AND brand_id = :brandid";
|
|
$db->requestPush($query, ['nvalue' => $otherField->fieldvalue, 'newid' => $newCrmId, 'brandid' => $newBrandId]);
|
|
$query = "UPDATE customer_opt_in_history SET updated_at = :nvalue WHERE customer_id = :newid AND brand_id = :brandid";
|
|
$db->requestPush($query, ['nvalue' => $otherField->fieldvalue, 'newid' => $newCrmId, 'brandid' => $newBrandId]);
|
|
}
|
|
break;
|
|
case 'last_cnx':
|
|
if (!$isSingleOptin) {
|
|
$query = "UPDATE customer_login SET last_connection = :nvalue WHERE customer_id = :newid AND brand_id = :brandid";
|
|
$db->requestPush($query, ['nvalue' => $otherField->fieldvalue, 'newid' => $newCrmId, 'brandid' => $newBrandId]);
|
|
}
|
|
break;
|
|
|
|
}
|
|
//var_dump($otherField);
|
|
}
|
|
}
|