HEX
Server: Apache/2.2.15 (CentOS)
System: Linux ip-10-0-2-146.eu-west-1.compute.internal 2.6.32-754.35.1.el6.centos.plus.x86_64 #1 SMP Sat Nov 7 11:33:42 UTC 2020 x86_64
User: root (0)
PHP: 5.6.40
Disabled: NONE
Upload Files
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);
}