function load() { parent::load(); $allianceId = intval($this->data['alliance_id']); if ($allianceId == 0 || !$this->hasAllianceSetRoles() || !isset($_GET['uid'])) { exit(0); return null; } $uid = intval($_GET['uid']); $m = new AllianceModel(); $this->allianceData = $m->getAllianceData($allianceId); if (!$this->isMemberOfAlliance($uid)) { exit(0); return null; } if ($this->isPost()) { $roleName = isset($_POST['a_titel']) ? $_POST['a_titel'] : ''; if (trim($roleName) == '') { $roleName = '.'; } $roleNumber = 0; if (isset($_POST['e1'])) { $roleNumber |= ALLIANCE_ROLE_SETROLES; } if (isset($_POST['e2'])) { $roleNumber |= ALLIANCE_ROLE_REMOVEPLAYER; } if (isset($_POST['e3'])) { $roleNumber |= ALLIANCE_ROLE_EDITNAMES; } if (isset($_POST['e4'])) { $roleNumber |= ALLIANCE_ROLE_EDITCONTRACTS; } if (isset($_POST['e5'])) { $roleNumber |= ALLIANCE_ROLE_SENDMESSAGE; } if (isset($_POST['e6'])) { $roleNumber |= ALLIANCE_ROLE_INVITEPLAYERS; } $m->setPlayerAllianceRole($uid, $roleName, $roleNumber); } $row = $m->getPlayerAllianceRole($uid); if ($row == NULL) { exit(0); return null; } $this->playerName = $row['name']; $alliance_roles = trim($row['alliance_roles']); if ($alliance_roles == '') { $this->playerRoles = array('name' => '', 'roles' => 0); } else { list($rolesNumber, $roleName) = explode(' ', $alliance_roles, 2); $this->playerRoles = array('name' => $roleName == '.' ? '' : $roleName, 'roles' => $rolesNumber); } $m->dispose(); }
function load() { parent::load(); $m = new AllianceModel(); $allianceId = 0; $this->allianceData = NULL; if (isset($_GET['id']) && 0 < intval($_GET['id'])) { $allianceId = intval($_GET['id']); $this->allianceData = $m->getAllianceData($allianceId); } if ($this->allianceData == NULL) { $allianceId = intval($this->data['alliance_id']); if ($allianceId <= 0) { $this->hasAlliance = FALSE; return null; } $this->allianceData = $m->getAllianceData($allianceId); } $this->hasAlliance = TRUE; $this->fullView = $allianceId == intval($this->data['alliance_id']); $this->selectedTabIndex = 0; if ($this->fullView) { $this->selectedTabIndex = isset($_GET['t']) && is_numeric($_GET['t']) && 0 <= intval($_GET['t']) && intval($_GET['t']) <= 3 ? intval($_GET['t']) : 0; if ($this->selectedTabIndex == 1 && !$this->hasAllianceEditRole()) { $this->selectedTabIndex = 0; } } if ($this->isPost()) { if ($this->fullView && $this->selectedTabIndex == 1 && $this->hasAllianceEditRole()) { $newData = array('name' => isset($_POST['aname1']) && trim($_POST['aname1']) != '' ? $_POST['aname1'] : $this->allianceData['name'], 'name2' => isset($_POST['aname2']) && trim($_POST['aname2']) != '' ? $_POST['aname2'] : $this->allianceData['name2'], 'description1' => htmlspecialchars($_POST['be1']), 'description2' => htmlspecialchars($_POST['be2'])); $m->editAllianceData(intval($this->data['alliance_id']), $newData, $this->allianceData['players_ids']); $m->dispose(); $this->redirect('alliance.php'); return null; } } if ($this->selectedTabIndex == 0 && isset($_GET['d']) && 0 < intval($_GET['d']) && $this->hasAllianceRemovePlayerRole() && $this->player->playerId != intval($_GET['d']) && $this->isMemberOfAlliance(intval($_GET['d']))) { $this->allianceData['players_ids'] = $m->removeFromAlliance(intval($_GET['d']), $allianceId, $this->allianceData['players_ids'], $this->allianceData['player_count']); --$this->allianceData['player_count']; } else { if ($this->selectedTabIndex == 2) { $lastReportsType = 0; if (isset($_GET['ac'])) { if ($_GET['ac'] == 1) { $lastReportsType = 1; } else { if ($_GET['ac'] == 2) { $lastReportsType = 2; } } } $this->lastReports = $m->getLatestReports($this->allianceData['players_ids'], $lastReportsType); } else { if ($this->selectedTabIndex == 3) { if (isset($_GET['a'])) { switch ($_GET['a']) { case 1: if (!$this->hasAllianceInviteRoles()) { unset($_GET['a']); break; } $this->allianceData['players_invites'] = array(); if (trim($this->allianceData['invites_player_ids']) != '') { $invites = explode('', trim($this->allianceData['invites_player_ids'])); foreach ($invites as $invite) { list($pid, $pname) = explode(' ', $invite, 2); $this->allianceData['players_invites'][$pid] = $pname; } } if ($this->isPost() && isset($_POST['a_name'])) { $pid = intval($m->getPlayerId($_POST['a_name'])); if (0 < $pid) { if (!isset($this->allianceData['players_invites'][$pid])) { $this->invitesResult = 2; $this->allianceData['players_invites'][$pid] = $_POST['a_name']; $m->addAllianceInvites($pid, $allianceId); } } else { $this->invitesResult = 1; } } if (isset($_GET['d']) && 0 < intval($_GET['d']) && isset($this->allianceData['players_invites'][intval($_GET['d'])])) { unset($this->allianceData['players_invites'][intval($_GET['d'])]); $m->removeAllianceInvites(intval($_GET['d']), $allianceId); } break; case 2: if (!$this->hasAllianceEditContractRole()) { unset($_GET['a']); break; } $contracts_alliance_id = trim($this->allianceData['contracts_alliance_id']); $contracts = array(); if ($contracts_alliance_id != '') { $contracts_alliance_idArr = explode(',', $contracts_alliance_id); foreach ($contracts_alliance_idArr as $item) { list($aid, $pendingStatus) = explode(' ', $item); $contracts[$aid] = $pendingStatus; } } $this->hasErrors = TRUE; if (!$this->isPost()) { if (isset($_GET['d']) && 0 < intval($_GET['d']) && isset($contracts[$_GET['d']])) { unset($contracts[$_GET['d']]); $m->removeAllianceContracts($allianceId, intval($_GET['d'])); } if (isset($_GET['c']) && 0 < intval($_GET['c']) && isset($contracts[$_GET['c']])) { $contracts[$_GET['c']] = 0; $m->acceptAllianceContracts($allianceId, intval($_GET['c'])); } } else { if (isset($_POST['a_name']) && trim($_POST['a_name']) != '') { $caid = intval($m->getAllianceId(trim($_POST['a_name']))); if (0 < $caid && !isset($contracts[$caid])) { $m->addAllianceContracts($allianceId, $caid); $contracts[$caid] = 1; $this->hasErrors = FALSE; } } } $this->contracts = $contracts; break; case 3: if ($this->isPost()) { if (isset($_POST['pw']) && strtolower($this->data['pwd']) == strtolower(md5($_POST['pw']))) { $this->allianceData['players_ids'] = $m->removeFromAlliance($this->player->playerId, $allianceId, $this->allianceData['players_ids'], $this->allianceData['player_count']); --$this->allianceData['player_count']; $m->dispose(); $this->redirect('alliance.php'); return null; } $this->hasErrors = TRUE; } } } } } } if ($this->selectedTabIndex == 0) { $contracts_alliance_id = trim($this->allianceData['contracts_alliance_id']); $this->contracts = array(); if ($contracts_alliance_id != '') { $contracts_alliance_idArr = explode(',', $contracts_alliance_id); foreach ($contracts_alliance_idArr as $item) { list($aid, $pendingStatus) = explode(' ', $item); if ($pendingStatus == 0) { $this->contracts[$aid] = $m->getAllianceName($aid); } } } $this->allianceData['rank'] = $m->getAllianceRank($allianceId, $this->allianceData['score']); $result = $m->getAlliancePlayers($this->allianceData['players_ids']); $this->allianceData['players'] = array(); while ($result != NULL && $result->next()) { $this->allianceData['players'][] = array('id' => $result->row['id'], 'name' => $result->row['name'], 'total_people_count' => $result->row['total_people_count'], 'alliance_roles' => $result->row['alliance_roles'], 'villages_count' => $result->row['villages_count'], 'lastLoginFromHours' => $result->row['lastLoginFromHours']); } } $m->dispose(); }