public static function manage() { $league = current(LeagueModel::get($_GET["id"])); // check permissions $visitor = User::getVisitor(); if ($visitor->id != $league->managerId) { Controller::requirePermissions(["AdminAllLeagues"]); } if (!empty($_POST)) { if (array_key_exists("update-team-numbers", $_POST)) { $teams = $league->getAssignedTeams(); foreach ($teams as $team) { if (array_key_exists("team" . $team->id . "number", $_POST)) { Team::update($team->id, null, null, null, null, $_POST["team" . $team->id . "number"]); } } Controller::addAlert(new Alert("success", "Team assigned numbers updated successfully")); } else { if (array_key_exists("update-league-details", $_POST)) { LeagueModel::update($_POST["id"], $_POST["name"], $_POST["manager"]); Controller::addAlert(new Alert("success", "League details updated successfully")); $league = current(LeagueModel::get($_POST["id"])); } } } // construct fixtures $fixtures = Fixture::get(null, $league->id); View::load("acp/league_manage.twig", ["users" => User::get(), "league" => $league, "fixtures" => $fixtures, "unassignedTeams" => Team::get(null, null, null, false, $_GET["id"])]); }
/** * Get manager * * @return \sma\models\User */ public function getManager() { if (!$this->manager) { $this->manager = current(User::get($this->managerId)); } return $this->manager; }
public static function logout() { if (array_key_exists("target", $_GET) && $_GET["target"] == "all") { UserModel::logoutAll(); } else { UserModel::logout(); } Controller::redirect(""); }
public static function delete() { Controller::requirePermissions(["AdminAccessDashboard", "AdminUsers", "PerformDeletionOperations"]); if (!array_key_exists("id", $_GET)) { Controller::redirect("/acp/user"); } $users = UserModel::get($_GET["id"]); if (!empty($users)) { current($users)->delete(); Controller::addAlert(new Alert("success", "User deleted successfully")); } else { Controller::addAlert(new Alert("danger", "The user you attempted to delete does not exist")); } Controller::redirect("/acp/user"); }
public static function install() { if (InstallerModel::databaseLocked()) { View::load("install/database_locked.twig"); } else { if (empty($_POST)) { View::load("install/install.twig", ["checks" => InstallerModel::checkRequirements()]); } else { InstallerModel::installDatabase(true); $adminGroupId = current(UserGroup::get(null, "Root Admin"))->id; User::add($_POST["email"], $_POST["full-name"], $_POST["phone-number"], $_POST["password"], $adminGroupId); View::load("install/complete.twig"); } } }
public static function delete() { Controller::requirePermissions(["AdminAccessDashboard"]); $fixture = current(FixtureModel::get($_GET["id"])); if (!$fixture) { Controller::addAlert(new Alert("success", "The specified fixture does not exist")); Controller::redirect("/acp/league"); } $league = $fixture->getLeague(); // check permissions $visitor = UserModel::getVisitor(); if ($visitor->id != $league->managerId) { Controller::requirePermissions(["AdminAllLeagues"]); } $fixture->delete(); Controller::addAlert(new Alert("success", "Fixture deleted successfully")); Controller::redirect("/acp/league/manage?id=" . $league->id); }
public static function delete() { Controller::requirePermissions(["AdminAccessDashboard"]); if (!array_key_exists("id", $_GET)) { Controller::redirect("/acp/league"); } $section = current(LeagueSectionModel::get($_GET["id"])); // check permissions $visitor = User::getVisitor(); if ($visitor->id != $section->getLeague()->managerId) { Controller::requirePermissions(["AdminAllLeagues"]); } try { $section->delete(); Controller::addAlert(new Alert("success", "League section deleted successfully")); } catch (ObjectCannotBeDeletedException $e) { Controller::addAlert(new Alert("danger", "You cannot delete a section which has teams assigned to it. Please reassign the teams to an alternative section first")); } Controller::redirect("/acp/league/manage?id=" . $section->getLeague()->id); }
/** * Check if user has proper permissions and throw exception if not * * @param \sma\models\Permission|\sma\models\Permission[] $permissions required permissions * @param string $requirement 'all' to require all permissions listed, 'any' to require at least * one of them */ public static function requirePermissions($permissions, $requirement = "all") { static::requireLoggedInUser(); if (!User::getVisitor()->checkPermissions($permissions, $requirement)) { ErrorHandler::forbidden(); } }
/** * Register global variables * * @param Twig_Environment $twig twig environment * @return Twig_Environment twig environment */ private static function registerGlobalVariables($twig) { $twig->addGlobal("base_url", BASE_URL); $twig->addGlobal("base_links_url", BASE_LINKS_URL); $twig->addGlobal("base_view_url", BASE_VIEW_URL); $twig->addGlobal("base_assets_url", BASE_ASSETS_URL); $twig->addGlobal("site_name", SITE_NAME); $twig->addGlobal("show_request_times", SHOW_REQUEST_TIMES); $alerts = Controller::getAlerts(); if (!empty($alerts)) { $twig->addGlobal("alerts", $alerts); } if (Installer::getDatabaseStatus() == Installer::DATABASE_STATUS_INSTALLED) { $twig->addGlobal("visitor", User::getVisitor()); } return $twig; }
/** * Get users in group * * @return \sma\models\User[] users */ public function getUsers() { return User::get(null, null, $this->id); }
public static function updateplayer() { Controller::requireFields("get", ["id"], "/acp/team"); $player = current(Player::get($_GET["id"])); if (!User::getVisitor()->checkPermissions(["RegisterTeamsForAnyOrganization"])) { Controller::requirePermissions(["RegisterTeamsForOwnOrganization"]); if ($player->getTeam()->organizationId != User::getVisitor()->organizationId) { ErrorHandler::forbidden(); } } if ($_GET["exempt"] == 1 && !$player->exempt) { if ($player->getTeam()->getNumberOfExemptPlayers() >= MAX_EXEMPTS) { Controller::addAlert(new Alert("danger", "You have already starred the maximum number of players")); Controller::redirect("/team/edit?id=" . $player->getTeam()->id); } } Player::update($player->id, null, (bool) $_GET["exempt"]); Controller::addAlert(new Alert("success", "Player updated successfully")); Controller::redirect("/team/edit?id=" . $player->getTeam()->id); }
public static function submitted() { Controller::requirePermissions(["SubmitMatchReports"]); $visitor = User::getVisitor(); $teams = Team::get(null, $visitor->organizationId); $teamIds = []; foreach ($teams as $team) { $teamIds[] = $team->id; } $reports = MatchReport::get(null, null, null, $teamIds, 25); View::load("match/submitted.twig", ["organizationReports" => $reports, "userReports" => MatchReport::get(null, null, $visitor->id, null, 25)]); }
/** * Get user * * @return \sma\models\User user */ public function getUser() { return current(User::get($this->userId)); }