Ejemplo n.º 1
0
function tribe_processJoin($playerID, $tag, $password, $db)
{
    if (!tribe_changeTribeAllowedForPlayerID($playerID, $db)) {
        return -11;
    }
    if (!relation_leaveTribeAllowed($tag, $db)) {
        return -12;
    }
    $query = "SELECT name " . "FROM Tribe " . "WHERE tag LIKE '{$tag}' " . "AND password = '******' ";
    if (!($result = $db->query($query))) {
        return -1;
    }
    if (!($row = $result->nextRow())) {
        return -2;
    }
    if (!($player = getPlayerFromID($playerID))) {
        return -3;
    }
    if (!tribe_joinTribe($playerID, $tag, $db)) {
        return -3;
    }
    tribe_setBlockingPeriodPlayerID($playerID, $db);
    tribe_sendTribeMessage($tag, TRIBE_MESSAGE_MEMBER, "Spielerbeitritt", "Der Spieler {$player['name']} ist soeben dem " . "Clan beigetreten.");
    return 1;
}
Ejemplo n.º 2
0
function tribe_processJoin($playerID, $tag, $password, $db)
{
    if (!tribe_changeTribeAllowedForPlayerID($playerID, $db)) {
        return -11;
    }
    if (!relation_leaveTribeAllowed($tag, $db)) {
        return -12;
    }
    $query = "SELECT tag " . "FROM Tribe " . "WHERE tag LIKE '{$tag}' " . "AND password = '******' ";
    if (!($result = $db->query($query))) {
        return -1;
    }
    if (!($row = $result->nextRow())) {
        return -2;
    }
    $tag = $row['tag'];
    if (!($player = getPlayerByID($playerID))) {
        return -3;
    }
    if (!tribe_joinTribe($playerID, $tag, $db)) {
        return -3;
    }
    tribe_setBlockingPeriodPlayerID($playerID, $db);
    Player::addHistoryEntry($db, $playerID, sprintf(_('tritt dem Stamm \'%s\' bei'), $tag));
    tribe_sendTribeMessage($tag, TRIBE_MESSAGE_MEMBER, "Spielerbeitritt", "Der Spieler {$player['name']} ist soeben dem " . "Stamm beigetreten.");
    return 1;
}
Ejemplo n.º 3
0
function tribe_processJoin($playerID, $tag, $password)
{
    global $db;
    if (!tribe_changeTribeAllowedForPlayerID($playerID)) {
        return -10;
    }
    if (!relation_leaveTribeAllowed($tag)) {
        return -6;
    }
    $sql = $db->prepare("SELECT tag\n                       FROM " . TRIBE_TABLE . "\n                       WHERE tag LIKE :tag\n                         AND password = BINARY :password");
    $sql->bindValue('tag', $tag, PDO::PARAM_STR);
    $sql->bindValue('password', $password, PDO::PARAM_STR);
    if (!$sql->rowCountSelect()) {
        return -1;
    }
    if (!($player = getPlayerByID($playerID))) {
        return -3;
    }
    $tribeData = tribe_getTribeByTag($tag);
    if ((int) TRIBE_MAXIMUM_SIZE > 0) {
        $sql = $db->prepare("SELECT count(*) < " . (int) TRIBE_MAXIMUM_SIZE . " as IsOk \n                         FROM " . PLAYER_TABLE . "\n                         WHERE tribe LIKE :tag");
        $sql->bindValue('tag', $tribeData['tag'], PDO::PARAM_STR);
        if (!$sql->execute()) {
            return -7;
        }
        $row = $sql->fetch(PDO::FETCH_ASSOC);
        $sql->closeCursor();
        if (!$row['IsOk']) {
            return -7;
        }
    }
    if (!tribe_joinTribe($playerID, $tribeData['tag'])) {
        return -3;
    }
    tribe_setBlockingPeriodPlayerID($playerID);
    Player::addHistoryEntry($playerID, sprintf(_("tritt dem Stamm '%s' bei"), $tribeData['tag']));
    tribe_sendTribeMessage($tribeData['tag'], TRIBE_MESSAGE_MEMBER, "Spielerbeitritt", "Der Spieler {$player['name']} ist soeben dem Stamm beigetreten.");
    return 1;
}