Файл: upload/core/functions/cooldown.php
Строк: 65
<?php
function getAvailableBalance($us, $currentBalance)
{
$cooldown = 72 * 3600;
$now = time();
$frozen = 0;
$res = dbquery("
SELECT summ, k_time
FROM transactions
WHERE us = ?
AND k_ord = 1
AND k_type = 3
AND status = 1
", [$us]);
while ($row = FetchAssoc($res)) {
if (($now - intval($row['k_time'])) < $cooldown) {
$frozen += floatval($row['summ']);
}
}
$available = $currentBalance - $frozen;
return max($available, 0);
}
function getAvailableAdminBalance($projectId, $currentBalance)
{
$cooldown = 72 * 3600;
$now = time();
$frozen = 0;
$res = dbquery("
SELECT summ, k_time
FROM transactions
WHERE us = ?
AND k_ord = 1
AND k_type = 4
AND status = 1
", [$projectId]);
while ($row = FetchAssoc($res)) {
if (($now - intval($row['k_time'])) < $cooldown) {
$frozen += floatval($row['summ']);
}
}
$available = $currentBalance - $frozen;
return max($available, 0);
}
function getFrozenBalance($us)
{
$cooldown = 72 * 3600;
$now = time();
$frozen = 0;
$res = dbquery("
SELECT summ, k_time
FROM transactions
WHERE us = ?
AND k_ord = 1
AND k_type = 4
AND status = 1
", [$us]);
while ($row = FetchAssoc($res)) {
if (($now - intval($row['k_time'])) < $cooldown) {
$frozen += floatval($row['summ']);
}
}
return $frozen;
}
function hasDealCooldownPassed($workId)
{
$cooldown = 72 * 3600;
$now = time();
// Получаем данные сделки
$row = FetchAssoc(dbquery("
SELECT time_close_work, stade
FROM work_processed
WHERE k_work = ?
LIMIT 1
", [$workId]));
// Если сделки нет — холда нет
if (!$row) {
return true;
}
// Если сделка НЕ успешна — холда нет
if (intval($row['stade']) != 2) {
return true;
}
// Если сделка успешна — проверяем холд
$closeTime = intval($row['time_close_work']);
return ($now - $closeTime) >= $cooldown;
}
?>