/** Metodo que tem a funcao de verificar a permissao de cada acao **/ public function actionPermission($action) { if ($action->getAuthentication() == true && !isset($_SESSION["id"])) { $action->setName("loginForm"); $action->setType("ForwardAction"); $action->setRole(""); $action->setSSL("true"); $action->setAuthentication("false"); $action->setForwards(array("success" => ".showLoginForm")); $forwardAction = new ForwardAction(); $forwardAction->execute($action); } else { return true; } }
public function execute($action) { //error_reporting(E_ALL); //ini_set("display_errors", 1); $forwards = $action->getForwards(); $strJson = str_replace('\\', '', $_POST['json']); $json = json_decode(utf8_encode($strJson)); $data = $json->{'logindata'}; $sucess = false; $createdUser = false; if (!is_null($data->{'email'})) { $user = $this->dao->getUserByEmail($data->{'email'}); if (!$user) { // Store a new user $user = new User(); $user->setName($data->{'name'}); $user->setEmail($data->{'email'}); $user->setPassword($data->{'passoword'}); if ($data->{'roomCreator'} == 'F0') { $user->setRoomcreator(true); } else { $user->setRoomcreator(false); } // Saving a new user $this->dao->saveNewUser($user); $createdUser = true; } //else{ //TODO verificar a senha //} // Store data in PHP SESSION if ($user) { $sucess = true; $_SESSION['id'] = $user->getUserId(); $_SESSION['name'] = $user->getName(); $_SESSION['roomCreator'] = $user->getRoomcreator(); $_SESSION['email'] = $user->getEmail(); $_SESSION['user'] = $user; } else { //TODO ajustar quando o login nao funciona $sucess = false; $_REQUEST["errorMsg"] = $this->message->getText("error.loginFail"); $this->pageController->run($forwards['error']); } } else { //TODO ajustar quando o login nao funciona $sucess = false; $_REQUEST["errorMsg"] = $this->message->getText("error.loginFail"); $this->pageController->run($forwards['error']); } if ($createdUser == true) { // Verifica se o usuario foi criado, se sim, manda para uma pagina de sucesso $action = new ActionMapping(); $action->setName("createdUserSuccess"); $action->setType("ForwardAction"); $action->setRole(""); $action->setForwards(array("success" => ".createdUserSuccess")); $forwardAction = new ForwardAction(); $forwardAction->execute($action); } else { if ($sucess) { $_REQUEST["msg"] = "Sua conta foi criada com sucesso no Quadro Branco, por favor, volte e entre novamente"; $action = new ActionMapping(); $action->setName("listRoons"); $action->setType("ListRoonsAction"); $action->setRole(""); $action->setForwards(array("success" => ".showUserPage", "error" => ".error")); $listRoonsAction = new ListRoonsAction(); $listRoonsAction->execute($action); } } }
public function execute($action) { if (isset($_SESSION["idRoom"])) { // Setting the room state to off $this->dao->updateRoomState($_SESSION["idRoom"], false, 0); } unset($_SESSION['id']); unset($_SESSION['name']); unset($_SESSION['user']); session_destroy(); $action = new ActionMapping(); $action->setName("loginForm"); $action->setType("ForwardAction"); $action->setRole(""); $action->setForwards(array("success" => ".showLoginForm", "error" => ".error")); $forwardAction = new ForwardAction(); $forwardAction->execute($action); }