$content = takeover_changeConfirm($params->SESSION->user['playerID'], $params->POST->xCoord, $params->POST->yCoord, $params->POST->currentXCoord, $params->POST->currentYCoord); break; ///////////////////////////////////////////////////////////////////////////// // PUNKTZAHLEN // ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // PUNKTZAHLEN // ///////////////////////////////////////////////////////////////////////////// case RANKING: tmpl_set($template, 'pagetitle', 'Spielerranking'); $offset = ranking_checkOffset($params->SESSION->user['playerID'], $params->POST->offset); $content = ranking_getContent($caveID, $offset); break; case RANKING_TRIBE: tmpl_set($template, 'pagetitle', 'Clanranking'); $offset = rankingTribe_checkOffset($params->POST->offset); $content = rankingTribe_getContent($caveID, $offset); break; ///////////////////////////////////////////////////////////////////////////// // TRIBES // ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // TRIBES // ///////////////////////////////////////////////////////////////////////////// case TRIBE: tmpl_set($template, 'pagetitle', 'Clans'); $content = tribe_getContent($params->SESSION->user['playerID'], $params->SESSION->user['tribe']); break; case TRIBE_ADMIN: tmpl_set($template, 'pagetitle', 'Clan verwalten'); $content = tribeAdmin_getContent($params->SESSION->user['playerID'], $params->SESSION->user['tribe']);
break; ///////////////////////////////////////////////////////////////////////////// // PUNKTZAHLEN // ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // PUNKTZAHLEN // ///////////////////////////////////////////////////////////////////////////// case RANKING_PLAYER: $offset = Request::getVar('offset', ''); $offset = ranking_checkOffset($_SESSION['player']->playerID, $offset); ranking_getContent($caveID, $offset); $requestKeys = array('offset'); break; case RANKING_TRIBE: $offset = Request::getVar('offset', ''); $offset = rankingTribe_checkOffset($offset); rankingTribe_getContent($caveID, $offset); $requestKeys = array('offset'); break; ///////////////////////////////////////////////////////////////////////////// // TRIBES // ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // TRIBES // ///////////////////////////////////////////////////////////////////////////// case TRIBE: if (!empty($_SESSION['player']->tribe)) { tribe_getContent($caveID, $ownCaves[$caveID]); } else { tribe_getContentNoTribe($caveID, $ownCaves[$caveID]); }
function player_getContent($caveID, $playerID) { global $db, $template; // open template $template->setFile('playerDetail.tmpl'); $template->setShowRresource(false); // workaround, if no playerID is submitted! TODO if ($playerID == 0) { $playerID = $_SESSION['player']->playerID; } $playerDetails = Player::getPlayer($playerID, true); if (!$playerDetails) { $template->throwError('Da wollte irgendwie was nicht aus der Datenbank ausgelesen werden :('); return; } if ($playerDetails['avatar']) { $playerDetails['avatar'] = @unserialize($playerDetails['avatar']); $template->addVars(array('player_avatar' => $playerDetails['avatar']['path'], 'player_avatar_width' => $playerDetails['avatar']['width'], 'player_avatar_height' => $playerDetails['avatar']['height'])); } if (!empty($playerDetails['awards'])) { $tmp = explode('|', $playerDetails['awards']); $awards = array(); foreach ($tmp as $tag) { $awards[] = $tag; } $playerDetails['award'] = $awards; } unset($playerDetails['awards']); foreach ($playerDetails as $k => $v) { if (!$v) { $playerDetails[$k] = _('k.A.'); } } $playerDetails['mail_receiver'] = urlencode($playerDetails['name']); $playerDetails['caveID'] = $caveID; $playerTribe = $playerDetails['tribe']; $timediff = getUgaAggaTimeDiff(time_fromDatetime($playerDetails['created']), time()); $playerDetails['age'] = 18 + $timediff['year']; // init messages class $parser = new parser(); $playerDetails['description'] = $parser->p($playerDetails['description']); // show player's caves $caves = getCaves($playerID); if ($caves) { $template->addVar('player_caves', $caves); } // show player's history $history = Player::getHistory($playerID); if (sizeof($history)) { $template->addVar('player_history', $history); } //get player rank $sql = $db->prepare("SELECT rank FROM " . RANKING_TABLE . " WHERE playerID = :playerID"); $sql->bindValue('playerID', $playerID, pDo::PARAM_INT); if (!$sql->execute()) { page_dberror(); } if ($row = $sql->fetch()) { $playerDetails['rank'] = $row['rank']; } else { $playerDetails['rank'] = ''; } $template->addVars(array('player_details' => $playerDetails, 'tribe_rank' => rankingTribe_checkOffset($playerTribe))); }
function tribe_getContent($caveID, $tag) { global $db, $template; if (!$tag) { $template->throwError('Es wurde kein Stamm ausgewählt.'); return; } // open template $template->setFile('tribeDetail.tmpl'); $template->setShowRresource(false); $sql = $db->prepare("SELECT t.*, p.playerID, p.name AS leader_name\n FROM " . TRIBE_TABLE . " t\n LEFT JOIN " . PLAYER_TABLE . " p\n ON p.playerID = t.leaderID\n WHERE t.tag LIKE :tag"); $sql->bindValue('tag', $tag, PDO::PARAM_STR); if (!$sql->execute()) { $template->throwError('Fehler in der Datenbank.'); return; } if (!($row = $sql->fetch(PDO::FETCH_ASSOC))) { $template->throwError('Es konnte kein Stamm mit dem Namen gefunden werden.'); return; } $sql->closeCursor(); $JuniorAdmin = $targetPlayer = new Player(getPlayerByID($row['juniorLeaderID'])); if (!empty($row['awards'])) { $tmp = explode('|', $row['awards']); $awards = array(); foreach ($tmp as $tag1) { $awards[] = array('award_tag' => $tag1, 'award_modus' => AWARD_DETAIL); } $row['award'] = $awards; } if ($row['avatar']) { $row['avatar'] = @unserialize($row['avatar']); $row['avatar_path'] = $row['avatar']['path']; $row['avatar_width'] = $row['avatar']['width']; $row['avatar_height'] = $row['avatar']['height']; } foreach ($row as $k => $v) { if (!$v && $k != 'avatar') { $row[$k] = "k.A."; } } $row['rank_offset'] = rankingTribe_checkOffset($tag); // parse tribe message $parser = new parser(); $row['description'] = $parser->p($row['description']); // get Tribe Rank $sql = $db->prepare("SELECT rank FROM " . RANKING_TRIBE_TABLE . " WHERE tribe = :tag"); $sql->bindValue('tag', $tag, PDO::PARAM_STR); if (!$sql->execute()) { $template->throwError('Fehler in der Datenbank.'); return; } if ($ranking = $sql->fetch(PDO::FETCH_ASSOC)) { $row['rank'] = $ranking['rank']; } else { $row['rank'] = ''; } $template->addVar('tribe_details', $row); // history $history = relation_getTribeHistory($tag); $template->addVar('tribe_history', $history); // player list $playerList = tribe_getPlayerList($tag, true, true); foreach ($playerList as $id => $playerData) { if (!empty($playerData['awards'])) { $playerData['awards'] = explode('|', $playerData['awards']); $awards = array(); foreach ($playerData['awards'] as $award) { $awards[] = array('tag' => $award, 'award_modus' => AWARD_DETAIL); } $playerData['award'] = $awards; } foreach ($playerData as $k => $v) { if ($k == 'awards' || $k == 'religion') { continue; } if (!$v) { $playerData[$k] = _('k.A.'); } } $playerList[$id] = $playerData; } $template->addVar('tribe_player_list', $playerList); // relations $relations = relation_getRelationsForTribe($tag); $relationsData = array(); if (isset($relations['own'])) { foreach ($relations['own'] as $target => $relationData) { $relationsData[$target] = array('tribe' => $relationData['tribe_target'], 'relation_to' => $GLOBALS['relationList'][$relationData['relationType']]['name'], 'relation_from' => isset($relations['other'][$target]) && $relations['other'][$target] ? $GLOBALS['relationList'][$relations['other'][$target]['relationType']]['name'] : $GLOBALS['relationList'][0]['name']); } } if (isset($relations['other'])) { foreach ($relations['other'] as $target => $relationData) { // already printed out this relation if (isset($relationsData[$target])) { continue; } $relationsData[$target] = array('tribe' => $relationData['tribe'], 'relation_to' => $GLOBALS['relationList'][0]['name'], 'relation_from' => $GLOBALS['relationList'][$relationData['relationType']]['name']); } } $template->addVar('relations_data', $relationsData); }