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}");
    }
}
示例#2
0
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');