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; }
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; }
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; }