function voteOnTopAccepted($uuid, $top = null) { // Настройки подключения к БД игрового сервера. Да, так быть не должно :) $dbHostname = $methuselah["primary-hostname"]; $dbDatabase = $methuselah["primary-database"]; $dbUsername = $methuselah["primary-username"]; $dbPassword = $methuselah["primary-password"]; // Настройки поощрения за голосования global $voteMoneyToAdd; $voteEconomyTable = 'fe_accounts'; $voteEconomyColumnUser = '******'; $voteEconomyColumnUUID = 'uuid'; $voteEconomyDashedUUID = true; $voteEconomyColumnMoney = 'money'; // Уточняем детали запроса в БД $target = $voteEconomyDashedUUID ? preg_replace("/([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})/", "\$1-\$2-\$3-\$4-\$5", $uuid) : $uuid; // Соединиться и выполнить денежное поощрение $economyConn = mysqli_connect($dbHostname, $dbUsername, $dbPassword, $dbDatabase); if (mysqli_connect_errno()) { responseWithError("Internal server error (topcraft 1)"); } $query = "UPDATE `{$dbDatabase}`.`{$voteEconomyTable}` SET `{$voteEconomyColumnMoney}` = `{$voteEconomyColumnMoney}` + {$voteMoneyToAdd}" . " WHERE `{$voteEconomyColumnUUID}` = '{$target}';"; $economyConn->query($query) or responseWithError("Internal server error (topcraft 2)"); $economyConn->close(); // Дополнительное поощрение: по 1 реальному рублю за 1 голос if ($top != null) { addProfileMoney($uuid, 1.0, "Поощрение за голосование на топе {$top}"); } }
if (isset($notification['test_notification']) && $notification['test_notification'] == 'true') { $isTest = true; // die('TEST-OK'); } // Кошелёк может быть переполнен и не принимать переводы if (isset($notification['unaccepted']) && $notification['unaccepted'] == 'true') { die('METHOD TEMPORARY UNAVAILABLE'); } // Не стоит принимать отрицательные переводы :) $money = doubleval($notification['amount']); if ($money <= 0.0) { responseWithError("Parameters are incorrect (3)"); } $log = "Яндекс.Деньги: Принят платёж от " . $notification['sender'] . " в размере {$money} рублей."; // В поле label мы храним uuid пополняемой учётной записи $uuid = null; if (isset($notification['label'])) { $uuid = $notification['label']; if (!isProfileExist($uuid)) { echo 'UUID IS NOT SET!\\n'; } else { if (!$isTest) { // Приём денежных средств на указанный счёт addProfileMoney($uuid, $money, $log); die('OK'); } } } // Записываем приём в лог writeAccountLog(null, $log); die('OK');