Beispiel #1
0
FROM `Pools` NATURAL LEFT JOIN `Tokens`
WHERE `Pools`.`poolName` = {$escPool};
EOS
);
    REST::fatal(REST::HTTP_OK, 'Pool destroyed successfully.');
}
// Handle the creation of a number of tokens, set by the user.
$input = NULL;
if ($_SERVER['REQUEST_METHOD'] === 'POST' && strpos(@$_SERVER['CONTENT_TYPE'], 'application/x-www-form-urlencoded') === 0) {
    if (isset($_POST['pool'])) {
        if ($_POST['pool'] === '') {
            REST::fatal(REST::HTTP_BAD_REQUEST, 'Empty parameter "pool"');
        }
        $tokens = isset($_POST['tokens']) ? preg_split('/[^\\d]+/', $_POST['tokens'], -1, PREG_SPLIT_NO_EMPTY) : array();
        $tgtPool = $poolId;
        $srcPool = Topos::poolId($_POST['pool']);
        $tokenIds = count($tokens) ? 'AND `tokenId` IN (' . implode(',', $tokens) . ')' : '';
        Topos::real_query(<<<EOS
UPDATE `Tokens`
SET `poolId` = {$tgtPool}
WHERE `poolId` = {$srcPool}
      {$tokenIds};
EOS
);
        REST::fatal(REST::HTTP_OK, Topos::mysqli()->affected_rows . ' tokens moved');
    } elseif (isset($_POST['ntokens'])) {
        $offset = (int) @$_POST['offset'];
        $ntokens = (int) $_POST['ntokens'];
        if ($ntokens <= 0 || $ntokens > 1000000) {
            REST::fatal(REST::HTTP_BAD_REQUEST, 'Bad values for "ntokens" or "offset"');
        }
Beispiel #2
0
DELETE FROM `Tokens`
WHERE `Tokens`.`tokenId` = {$TOPOS_TOKEN}
  AND `poolId` = {$poolId};
EOS;
    Topos::real_query($query);
    if (Topos::mysqli()->affected_rows) {
        REST::fatal(REST::HTTP_OK, 'Token destroyed');
    } else {
        REST::fatal(REST::HTTP_NOT_FOUND);
    }
}
REST::require_method('HEAD', 'GET');
if (!empty($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
    REST::fatal(REST::HTTP_NOT_MODIFIED);
}
$poolId = Topos::poolId($TOPOS_POOL);
$result = Topos::query(<<<EOS
SELECT `tokenLength`, `tokenType`, `tokenCreated`, `tokenName`,
       IF(`tokenLockTimeout` > UNIX_TIMESTAMP(), `tokenLockUUID`, NULL) AS 'tokenLockUUID', `tokenLeases`
FROM `Tokens`
WHERE `tokenId` = {$TOPOS_TOKEN}
  AND `poolId`  = {$poolId};
EOS
);
if (!($row = $result->fetch_array())) {
    REST::fatal(REST::HTTP_NOT_FOUND);
}
$result = Topos::query(<<<EOS
SELECT `tokenValue` FROM `TokenValues`
WHERE `tokenId` = {$TOPOS_TOKEN}
EOS