Ejemplo n.º 1
0
/**
 *
 */
function takeover_getBidding($caveCount = 0)
{
    global $db;
    // prepare query
    $sql = $db->prepare("SELECT * FROM " . CAVE_TAKEOVER_TABLE . " WHERE playerID = :playerID");
    $sql->bindValue('playerID', $_SESSION['player']->playerID, PDO::PARAM_INT);
    // return NULL on error or if recordSet is empty, as there is no bidding
    if (!$sql->execute()) {
        return NULL;
    }
    // fetch row
    $row = $sql->fetch();
    if (!$row) {
        return NULL;
    }
    // fill return value
    $bidding = array('caveID' => $row['caveID'], 'xCoord' => $row['xCoord'], 'yCoord' => $row['yCoord'], 'status' => $row['status'], 'caveName' => $row['name'], 'uh_caveName' => unhtmlentities($row['name']));
    // get own status
    $bidding += takeover_getStatusPic($row['status']);
    // get sent resources
    $sum = 0;
    $resources = array();
    foreach ($GLOBALS['resourceTypeList'] as $resource) {
        $amount = $row[$resource->dbFieldName];
        if ($amount > 0) {
            $resources[] = array('name' => $resource->name, 'value' => $amount);
            $sum += $amount * $resource->takeoverValue;
        }
    }
    // merge $resources with bidding
    if (sizeof($resources)) {
        $bidding['resource'] = $resources;
        $bidding['sum'] = $sum;
        $bidding['proportion'] = $sum > 0 && $caveCount > 0 ? round($sum / (200 * pow($caveCount, 2)), 3) : 0;
    }
    // get other bidders
    $bidders = array();
    $sql = $db->prepare("SELECT p.name, p.playerID, ct.status \n                       FROM " . CAVE_TAKEOVER_TABLE . " ct, Player p \n                       WHERE caveID = :caveID AND ct.playerID = p.playerID \n                       AND ct.playerID != :playerID");
    $sql->bindValue('caveID', $row['caveID'], PDO::PARAM_INT);
    $sql->bindValue('playerID', $_SESSION['player']->playerID, PDO::PARAM_INT);
    if ($sql->execute()) {
        while ($row = $sql->fetch()) {
            $temp = array('playername' => $row['name'], 'playerID' => $row['playerID']);
            $temp += takeover_getStatusPic($row['status']);
            $bidders[] = $temp;
        }
    }
    // merge $bidders with bidding
    if (sizeof($bidders)) {
        $bidding['bidder'] = $bidders;
    }
    return $bidding;
}
Ejemplo n.º 2
0
/**
 *
 */
function takeover_getBidding()
{
    global $db, $params, $resourceTypeList;
    // prepare query
    $query = sprintf('SELECT * FROM Cave_takeover WHERE playerID = %d', $params->SESSION->player->playerID);
    // execute query
    $result = $db->query($query);
    // return NULL on error or if recordSet is empty, as there is no bidding
    if (!$result || $result->isEmpty()) {
        return NULL;
    }
    // fetch row
    $row = $result->nextrow();
    // fill return value
    $bidding = array('caveID' => $row['caveID'], 'xCoord' => $row['xCoord'], 'yCoord' => $row['yCoord'], 'status' => $row['status'], 'caveName' => $row['name'], 'uh_caveName' => unhtmlentities($row['name']));
    // get own status
    $bidding += takeover_getStatusPic($row['status']);
    // get sent resources
    $sum = 0;
    $resources = array();
    foreach ($resourceTypeList as $resource) {
        $amount = $row[$resource->dbFieldName];
        if ($amount > 0) {
            $resources[] = array('name' => $resource->name, 'value' => $amount);
            $sum += $amount * $resource->takeoverValue;
        }
    }
    // merge $resources with bidding
    if (sizeof($resources)) {
        $bidding['RESOURCE'] = $resources;
        $bidding['SUM'] = array('sum' => $sum);
    } else {
        $bidding['NONE'] = array('iterate' => '');
    }
    // get other bidders
    $bidders = array();
    $query = sprintf('SELECT p.name, p.playerID, ct.status ' . 'FROM Cave_takeover ct, Player p ' . 'WHERE caveID = %d AND ct.playerID = p.playerID ' . 'AND ct.playerID != %d', $row['caveID'], $params->SESSION->player->playerID);
    $result = $db->query($query);
    if ($result) {
        while ($row = $result->nextrow()) {
            $temp = array('playername' => $row['name'], 'playerID' => $row['playerID']);
            $temp += takeover_getStatusPic($row['status']);
            $bidders[] = $temp;
        }
    }
    // merge $bidders with bidding
    if (sizeof($bidders)) {
        $bidding['BIDDER'] = $bidders;
    } else {
        $bidding['NOONE'] = array('iterate' => '');
    }
    return $bidding;
}