/** * @param $id * @return bool * @throws \Nette\InvalidArgumentException */ public function delete($id) { if ($user = $this->userFacade->getOne($id)) { $this->userFacade->delete($user); return true; } else { throw new \Nette\InvalidArgumentException('User with ID "' . $id . '" does not exist'); } }
public static function RequiresLoggedInUser($redirectTo) { if (!UserFacade::IsUserLoggenIn()) { $error = new Error(Error::NotAuthenticated, "You have to log in to get access to that page."); Site::Redirect($redirectTo, $error); } }
function GetAllUsers() { $users = UserFacade::GetAllUsers(); if ($users->error->code != Error::NoError) { return $users; } $noUser = array(); $noUser[] = array("id" => 0, "name" => "--- Choose player ---"); $users->result = array_merge($noUser, $users->result); return $users; }
function ValidateParameters($user, $password, $retypedPassword) { if (empty($user)) { return new Error(Error::InvalidParameter, "User name cannot be empty."); } if (UserFacade::IsUserRegistered($user)) { return new Error(Error::NotUniqueValue, "User with provided name is already registered."); } if (empty($password)) { return new Error(Error::InvalidParameter, "Password cannot be empty."); } if (strcmp($password, $retypedPassword)) { return new Error(Error::InvalidParameter, "Passwords don't match to each other."); } return new Error(); }
<h1>Menu</h1> <?php print "<p class=\"menu-option\"><a href=\"/inex.php\">Find mutual champions</a>"; if (UserFacade::IsUserLoggenIn()) { if (UserFacade::HasLoggedUserPermission(Permission::AddNewChampion)) { print "<p class=\"menu-option\"><a href=\"/add-new-champion.php\">Add new champion</a>"; } print "<p class=\"menu-option\"><a href=\"/manage-champions.php\">Manage owned champions</a>"; print "<div class=\"horizontal-separator\"></div>"; print "<p class=\"menu-option\"><a href=\"/log-out.php\">Log out</a><br />"; } else { print "<div class=\"horizontal-separator\"></div>"; print "<p class=\"menu-option\"><a href=\"/log-in.php\">Log in</a>"; print "<p class=\"menu-option\"><a href=\"/register.php\">Register</a><br />"; } print "<div class=\"horizontal-separator\"></div>"; print "<p class=\"menu-option\"><a href=\"/about.php\">About</a>";
<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/include/scripts/include-all.php"; UserFacade::LogUserOut(); Site::Redirect("/index.php");
<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/include/scripts/include-all.php"; if (isset($_POST)) { $user = strtolower($_POST["user"]); $password = $_POST["password"]; $error = UserFacade::LogUserIn($user, $password); if ($error->code != Error::NoError) { Site::Redirect("/log-in.php", $error); } } else { $error = new Error(Error::InvalidParameter, "No parameter has been sent."); Site::Redirect("/log-in.php", $error); } Site::Redirect("/index.php");
<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/include/scripts/include-all.php"; Site::RequiresLoggedInUser("/log-in.php"); if (isset($_POST)) { $championId = $_POST["champion"]; $actionName = $_POST["submit"]; $userId = UserFacade::GetLoggedUserId(); $error = new Error(); if ($championId == 0) { $error = new Error(Error::InvalidParameter, "Invalid champion chosen."); Site::Redirect("/manage-champions.php", $error); } $error = PerformAction($actionName, $championId, $userId); if ($error->code != Error::NoError) { Site::Redirect("/manage-champions.php", $error); } } else { $error = new Error(Error::InvalidParameter, "No parameter has been sent."); Site::Redirect("/manage-champions.php", $error); } Site::Redirect("/manage-champions.php"); //Based by provided action name, adds or removes provided champion. //Returns error code function PerformAction($actionName, $championId, $userId) { $error = new Error(); if (strcmp($actionName, "Add") == 0) { $error = ChampionFacade::AddChampionToUser($championId, $userId); } else { if (strcmp($actionName, "Remove") == 0) {
class User { protected $userName; protected $userAge; public function setUserName($userName) { return $this->userName = $userName; } public function setUserAge($userAge) { return $this->userAge = $userAge; } public function getUser() { echo '用户姓名:' . $this->userName . '; 用户年龄:' . $this->userAge; } } //创建一个User 类调用接口,简化获取用户getUser方法的调用 class UserFacade { public static function getUserCall($userInfo) { $User = new User(); $User->setUserName($userInfo['username']); $User->setUserAge($userInfo['userAge']); return $User->getUser(); } } $userInfo = array('username' => 'initphp', 'userAge' => 12); UserFacade::getUserCall($userInfo); //只要一个函数就能将调用类简化