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/exchange/admin/cron/update_credisafe_values.php
<?php
$folders = explode(DIRECTORY_SEPARATOR, pathinfo(__FILE__, PATHINFO_DIRNAME));
array_pop($folders);
array_pop($folders);

include(implode(DIRECTORY_SEPARATOR, $folders) . '/Bin/init.php');
require_once(ROOT_FOLDER . 'Bin/Security.php');
include(implode(DIRECTORY_SEPARATOR, $folders) . '/Bin/constants.php');
Bin_Config::requireAdminModel('MActivityLogs');

$db = Bin_Db::connect();
$activityLogs = new Model_MActivityLogs();

$originatorsId = array(997, 1002, 1020, 1024, 1039, 1044, 1109, 1145, 1159, 1175, 1266, 1277, 1293, 1307, 1329, 1342, 1422, 1476);
$debtorsId = array(3892, 3929, 3942, 3955, 3956, 3963, 3965, 3966, 3967, 3972, 3999, 4001, 4002, 4007, 4030, 4034, 4035, 4038, 4039, 4052, 4054, 4063, 4065, 4074, 4090, 4102, 4105, 4118, 4148, 4150, 4172, 4174, 4182, 4184, 4186, 4192, 4225, 4230, 4234, 4239, 4246, 4249, 4267, 4268, 4274, 4277, 4279, 4282, 4286, 4287, 4288, 4290, 4365, 4718, 4720, 4724, 4725, 4727, 4729, 4730, 4731, 4732, 4733, 4757, 4758, 4768, 4770, 4775, 4777, 4814, 4839, 4840, 4842, 4854, 4877, 4878, 5098, 5100, 5107, 5224, 5230, 5231, 5232, 5233, 5234, 5238, 5250, 5251, 5264, 5267, 5268, 5271, 5272, 5295, 5296, 5297, 5305, 5307, 5311, 5322, 5327, 5328, 5344, 5346, 5399, 5400, 5401, 5402, 5405, 5428, 5432, 5433, 5434, 5444, 5446, 5447, 5448, 5569, 5570, 5571, 5573, 5591, 5592, 5593, 5594, 5596, 5600, 5603, 5610, 5613, 5618, 5627, 5629, 5631, 5640, 5651, 5653, 5661, 5662, 5665, 5666, 5668, 5670, 5673, 5674, 5675, 5676, 5679, 5681, 5682, 5684, 5686, 5688, 5694, 5697, 5698, 5711, 5712, 5713, 5744, 5745, 5747, 5757, 5758, 5767, 5769, 5770, 5773, 5775, 5780, 5786, 5797, 5800, 5801, 5802, 5806, 5810, 5813, 5818, 5820, 5821, 5822, 5825, 5827, 5834, 5838, 5839, 5846, 5855, 5858, 5863, 5872, 5996, 6042, 6092, 6101);

$selectOriginatorRisk = "SELECT rc.risk_credit_id, od.user_id FROM risk_credit rc
JOIN organisation_details od ON od.organisation_id = rc.organisation_id
WHERE rc.organisation_id = :o_id ORDER BY risk_credit_id DESC LIMIT 1";
$selectDebtor = "SELECT dd.debtor_id, dr.trader_id as user_id, od.organisation_id
FROM debtors_detail dd
JOIN debtor_relation dr ON dr.debtor_id = dd.debtor_id
JOIN organisation_details od ON od.user_id = dr.trader_id
WHERE dd.debtor_id = :d_id";
$checkOriginatorRiskUpdate = "SELECT * FROM activity_logs
WHERE organisation_id = :o_id AND title = 'UPDATE_D_SCORE'
ORDER BY activity_id DESC LIMIT 1";
$selectOriginatorLastSystemRisk = "SELECT * FROM activity_logs
WHERE organisation_id = :o_id AND title = 'UPDATE_D_SCORE' AND link <> 'api'
ORDER BY activity_id DESC LIMIT 1";
$checkOriginatorLimitUpdate = "SELECT * FROM activity_logs
WHERE organisation_id = :o_id AND title = 'UPDATE_D_LIMIT'
ORDER BY activity_id DESC LIMIT 1";
$selectOriginatorLastSystemLimit = "SELECT * FROM activity_logs
WHERE organisation_id = :o_id AND title = 'UPDATE_D_LIMIT' AND link <> 'api'
ORDER BY activity_id DESC LIMIT 1";
$checkDebtorRiskUpdate = "SELECT * FROM activity_logs
WHERE debtor_id = :d_id AND title = 'UPDATE_DEBTOR_CREDIT_RISK'
ORDER BY activity_id DESC LIMIT 1";
$selectDebtorLastSystemRisk = "SELECT * FROM activity_logs
WHERE debtor_id = :d_id AND title = 'UPDATE_DEBTOR_CREDIT_RISK' AND link <> 'api'
ORDER BY activity_id DESC LIMIT 1";
$checkDebtorLimitUpdate = "SELECT * FROM activity_logs
WHERE debtor_id = :d_id AND title = 'UPDATE_DEBTOR_CREDIT_TODAY_LIMIT'
ORDER BY activity_id DESC LIMIT 1";
$selectDebtorLastSystemLimit = "SELECT * FROM activity_logs
WHERE debtor_id = :d_id AND title = 'UPDATE_DEBTOR_CREDIT_TODAY_LIMIT' AND link <> 'api'
ORDER BY activity_id DESC LIMIT 1";

$updateOriginatorRisk = "UPDATE risk_credit SET provider4_risk_score = ':r_v' WHERE risk_credit_id = :r_id";
$updateOriginatorLimit = "UPDATE risk_credit SET provider4_credit_limit = ':r_v' WHERE risk_credit_id = :r_id";
$updateDebtorRisk = "UPDATE debtors_detail SET credit_risk = ':r_v' WHERE debtor_id = :r_id";
$updateDebtorLimit = "UPDATE debtors_detail SET credit_today_limit = ':r_v' WHERE debtor_id = :r_id";

foreach ($originatorsId as $oId) {
    $oParams = array(':o_id' => $oId);
    $risk = $db->query($selectOriginatorRisk, $oParams)->getFirstRow();
    // check risk
    $checkOriginatorRisk = $db->query($checkOriginatorRiskUpdate, $oParams)->getFirstRow();
    $originatorRisk = $db->query($selectOriginatorLastSystemRisk, $oParams)->getFirstRow();
    if ($originatorRisk and $checkOriginatorRisk['link'] === 'api') {
        // update risk
        $db->query($updateOriginatorRisk, array(
            ':r_v' => $originatorRisk['old_value'],
            ':r_id' => $risk['risk_credit_id'],
        ));
        $activityLogs->activityLogs('UPDATE_D_SCORE', 'system', array(
            'user_id' => $risk['user_id'],
            'organisation_id' => $oId,
            'element_id' => $risk['risk_credit_id'],
            'old_value' => $originatorRisk['old_value'],
        ));
    }
    // check limit
    $checkOriginatorLimit = $db->query($checkOriginatorLimitUpdate, $oParams)->getFirstRow();
    $originatorLimit = $db->query($selectOriginatorLastSystemLimit, $oParams)->getFirstRow();
    if ($originatorLimit and $checkOriginatorLimit['link'] === 'api') {
        // update limit
        $db->query($updateOriginatorLimit, array(
            ':r_v' => $originatorLimit['old_value'],
            ':r_id' => $risk['risk_credit_id'],
        ));
        $activityLogs->activityLogs('UPDATE_D_LIMIT', 'system', array(
            'user_id' => $risk['user_id'],
            'organisation_id' => $oId,
            'element_id' => $risk['risk_credit_id'],
            'old_value' => $originatorLimit['old_value'],
        ));
    }
}

foreach ($debtorsId as $dId) {
    $dParams = array(':d_id' => $dId);
    $dObject = $db->query($selectDebtor, $dParams)->getFirstRow();
    // check risk
    $checkDebtorRisk = $db->query($checkDebtorRiskUpdate, $dParams)->getFirstRow();
    $debtorRisk = $db->query($selectDebtorLastSystemRisk, $dParams)->getFirstRow();
    if ($debtorRisk and $checkDebtorRisk['link'] === 'api') {
        // update risk
        $db->query($updateDebtorRisk, array(
            ':r_v' => $debtorRisk['old_value'],
            ':r_id' => $dId,
        ));
        $activityLogs->activityLogs('UPDATE_DEBTOR_CREDIT_RISK', 'system', array(
            'element_id' => $dId,
            'user_id' => $dObject['user_id'],
            'debtor_id' => $dId,
            'organisation_id' => $dObject['organisation_id'],
            'old_value' => $debtorRisk['old_value'],
        ));
    }
    // check limit
    $checkDebtorLimit = $db->query($checkDebtorLimitUpdate, $dParams)->getFirstRow();
    $debtorLimit = $db->query($selectDebtorLastSystemLimit, $dParams)->getFirstRow();
    if ($debtorLimit and $checkDebtorLimit['link'] === 'api') {
        // update risk
        $db->query($updateDebtorLimit, array(
            ':r_v' => $debtorLimit['old_value'],
            ':r_id' => $dId,
        ));
        $activityLogs->activityLogs('UPDATE_DEBTOR_CREDIT_TODAY_LIMIT', 'system', array(
            'element_id' => $dId,
            'user_id' => $dObject['user_id'],
            'debtor_id' => $dId,
            'organisation_id' => $dObject['organisation_id'],
            'old_value' => $debtorLimit['old_value'],
        ));
    }
}