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['idRoom']);
     unset($_SESSION['idProduction']);
     if (isset($_SESSION['eduquito']) || isset($_SESSION['plataform'])) {
         unset($_SESSION['eduquito']);
         unset($_SESSION['plataform']);
         unset($_SESSION['id']);
         unset($_SESSION['name']);
         unset($_SESSION['roomCreator']);
         unset($_SESSION['email']);
         unset($_SESSION['user']);
         echo "<script type='text/javascript'>";
         echo "history.go(-3);";
         echo "</script>";
     } else {
         $listRoonsAction = new ListRoonsAction();
         $listRoonsAction->execute($action);
         $this->pageController->run($forwards['success']);
     }
 }
/**
 * Returns true if the current user is the owner of the room.
 *
 * @param  	   		: Nothing
 * @return Boolean	: True to the owner of the room
 */
function isRoomOwner()
{
    if (!isset($_GET['idRoom'])) {
        $_GET['idRoom'] = $_SESSION['idRoomAux'];
        unset($_SESSION['idRoomAux']);
    }
    $action = new ActionMapping();
    $action->setName("listRoons");
    $action->setType("ListRoonsAction");
    $action->setRole("");
    $listRoonsAction = new ListRoonsAction();
    $listRoonsAction->execute($action);
    $roons = $_REQUEST["roons"];
    foreach ($roons as $room) {
        if ($room->getRoomId() == $_GET['idRoom'] && $room->getUserId() == $_SESSION['id']) {
            $control = true;
            $_SESSION['roomOwner'] = $room->getUserId();
        }
    }
    return $control;
}
 public function execute($action)
 {
     $forwards = $action->getForwards();
     $roomName = $_POST['name'];
     $user = $_SESSION['id'];
     $listUsers = explode("-", $_POST['idsSelecteds']);
     // Checks if all fields were provided
     if (!empty($_POST['name']) && !empty($_SESSION['id'])) {
         // Instantiates a new room;
         $room = new Room();
         $room->setName($_POST['name']);
         $room->setUserId($_SESSION['id']);
         $room->setActive(0);
         $room->setActiveProduction(0);
         $room->setCourse($_POST['course']);
         $resultRoom = $this->dao->saveNewRoom($room);
         // List Rooms
         $listRoonsAction = new ListRoonsAction();
         $listRoonsAction->execute($action);
         $roons = $_REQUEST["roons"];
         foreach ($roons as $srcRoom) {
             if (is_null($srcRoom->getCode())) {
                 $newRoomId = $srcRoom->getRoomId();
             }
         }
         // Generates the secret code of the room
         $room = $this->dao->getRoom($newRoomId);
         $code = md5($newRoomId);
         $room->setCode($code);
         $room->save();
         // Gives permission to the user who created the room
         $listUsers[] = $_SESSION['id'];
         // Instantiates a new room permission;
         foreach ($listUsers as $allowedUserId) {
             if ($allowedUserId != 0) {
                 $permission = new Permission();
                 $permission->setUserId($allowedUserId);
                 $permission->setRoomId($newRoomId);
                 $resultPermission = $this->dao->savePermission($permission);
             }
         }
         // Showing the page
         $this->pageController->run($forwards['success']);
     } else {
         // It will set a variable with the id of the button
         // that opens the modal window that was active
         $_SESSION['openModalWindow'] = "#btnOpenNewRoomForm";
         // Error if there are blank fields
         $_REQUEST["errorMsg"] = $this->message->getText("error.blankField");
         $this->pageController->run($forwards['error']);
     }
 }