File: //www/exchange0old/cmws/scripts/TK25472-update-face-value.php
<?php
// custom script for updating Face Value for specific TTE transaction data from Exchange 2.0 to Credebt Machine
// list of specific TTE transactions to update (in array format)
$idListToSync = array('242515');
if (PHP_SAPI !== "cli") {
echo "The script should be run only from CLI.";
exit;
}
$memoryLimit = '1024M';
if (ini_set('memory_limit', $memoryLimit) === false) {
echo "Unable to set the required memory limit: " . $memoryLimit . ".\n";
exit;
}
if (is_null($argv)) {
echo "Please enable \$argv variable in PHP configuration.";
exit;
}
// required includes
require_once("../../exchange/Bin/constants.php");
require_once("../../exchange/Bin/init.php");
require_once(ROOT_FOLDER . "Bin/Security.php");
require_once(ROOT_FOLDER . "admin/classes/Model/base_actions.php");
require_once(ROOT_FOLDER . "admin/classes/Model/CMSync.php");
$cmSync = new CMSync(MYSQL_ENGINE_IMPROVED);
if (!$cmSync->cmSyncTransactionEnable) {
echo "Transaction Sync is disabled. Please first enable Transaction Sync in Exchange 2.0 Site Settings.\n";
exit;
}
echo $cmSync->showMemoryUsage();
if ($cmSync->initLogFile(CM_SYNC_TRANSACTION) === false) {
echo "Log File write error: Unable to create log file. Please check folder permissions.\n";
exit;
}
// script is used for specific transaction(s)
foreach ($idListToSync as $idVal) {
echo "\nChecking if transaction: ". $idVal . " exists...\n";
$basicTransactionData = $cmSync->getBasicTransactionData($idVal);
$transactionSyncList = array();
if (count($basicTransactionData) > 0) {
$transactionSyncList = $cmSync->getTransactionListForSync($basicTransactionData[0]['dataEntity'],
$basicTransactionData[0]['transactionType'], null, null, $idVal);
}
$countList = count($transactionSyncList);
$counter = 0;
echo "Record(s) to sync: " . $countList . "\n";
echo $cmSync->showMemoryUsage();
foreach ($transactionSyncList as $transactionEntry) {
$transTitle = $cmSync->getBasicTransactionTitle($basicTransactionData[0]['dataEntity'],
$basicTransactionData[0]['transactionType']);
echo "\nSyncing " . $transTitle .
" (type: " . $basicTransactionData[0]['transactionType'] . ") " . "transaction " . ++$counter .
" out of ". $countList . "; Ref. ID: " . $transactionEntry['exchange_ref_id'] . " \t";
$cmSync->clearSyncState();
$tteArray = $cmSync->prepareTransactionData($transactionEntry);
$dataToSyncArr = array(
'exchange_ref_id' => $transactionEntry['exchange_ref_id'],
'face_value' => $transactionEntry['face_value']
);
$cmSync->setTransactionData($dataToSyncArr, $tteArray['type_field_mapping_id'], CM_SYNC_TTETRANS_EDIT);
echo ($cmSync->doEditTransaction($transactionEntry['exchange_ref_id'])) === true ? "Success\n" : "Error\n";
echo "\n" . $cmSync->showMemoryUsage();
}
unset($basicTransactionData, $transactionSyncList);
}