Beispiel #1
0
            Topos::real_query("DELETE FROM `Tokens` WHERE `tokenId` = {$tokenId};");
            REST::fatal($e->getCode(), $e->getMessage());
        }
    }
    $tokenURL = Topos::urlbase() . 'pools/' . REST::urlencode($TOPOS_POOL) . '/tokens/' . $tokenId;
    REST::created($tokenURL);
}
REST::require_method('HEAD', 'GET');
$nameClause = is_string(@$_GET['name']) && strlen($_GET['name']) ? "AND MATCH(`tokenName`) AGAINST (" . Topos::escape_string($_GET['name']) . " IN BOOLEAN MODE)" : '';
if ((int) @$_GET['timeout'] > 0) {
    $timeout = (int) $_GET['timeout'];
    if ($timeout < 1) {
        REST::fatal(REST::HTTP_BAD_REQUEST, 'Illegal value for parameter "timeout"');
    }
    $escDescription = isset($_GET['description']) ? Topos::escape_string((string) $_GET['description']) : "''";
    $lockUUID = Topos::uuid();
    $timeout = <<<EOS
, `tokenLockTimeout` = UNIX_TIMESTAMP() + {$timeout}
, `tokenLockUUID` = '{$lockUUID}'
, `tokenLockDescription` = {$escDescription}
EOS;
} else {
    $timeout = '';
    $lockUUID = null;
}
while (true) {
    while (true) {
        $result = Topos::query("SELECT `minLeases` FROM `Pools` WHERE `poolId` = {$poolId};");
        $minLeases = ($row = $result->fetch_row()) ? $row[0] : 0;
        $result = Topos::query(<<<EOS
SELECT `tokenId`, `tokenLeases` FROM `Tokens`