Example #1
0
 /**
  * @param User $user
  * @return User 
  */
 public function get(User $user)
 {
     $statement = "SELECT name, username, positions, email FROM users WHERE username = :username AND password = :password LIMIT 1";
     $query = $this->session->prepare($statement);
     $query->bindParam(":username", $user->username());
     $query->bindParam(":password", $user->password());
     try {
         $query->execute();
         if ($query->rowCount() > 0) {
             $result = $query->fetch(PDO::FETCH_ASSOC);
             $user = new User($result['name'], $result['username']);
             $user->setPositions($result['positions']);
             $user->setEmail($result['email']);
             return $user;
         } else {
             return null;
         }
     } catch (PDOException $err) {
         throw new PDOException($err->getMessage());
     }
 }
<?php

require_once 'UserDao.php';
require_once 'User.php';
$user = new User(Session::getLoggedUser()->name(), Session::getLoggedUser()->username());
$user->setPositions($_POST['apps-position']);
$userdao = new UserDao(Connection::connect());
$jsonResponse = new JsonResponse();
if ($userdao->saveConfig($user)) {
    print_r($jsonResponse->response(true, "Suas configurações foram armazenadas com suceso!")->serialize());
} else {
    print_r($jsonResponse->response(false, "Falha ao salvar configurações do perfil")->serialize());
}
if (RequestsPatterns::postParamsSetted('email', 'name', 'username', 'password', 'confirm_password', 'city', 'activity')) {
    if (RequestsPatterns::postParamsSent('email', 'name', 'username', 'password', 'confirm_password', 'city', 'activity')) {
        require_once 'UserController.php';
        require_once 'UserDao.php';
        require_once '../core/generics/City.php';
        require_once '../core/generics/Activity.php';
        $city = new City(null, $_POST['city']);
        $activity = new Activity();
        $activity->setId($_POST['activity']);
        $user = new User($_POST['name'], $_POST['username'], $_POST['password']);
        $user->setEmail($_POST['email']);
        $user->setCity($city);
        $user->setActivity($activity);
        $positions = 'noticias,metereologia|publicacoes,videoteca|cotacoes';
        $user->setPositions($positions);
        $userController = new UserController(new UserDao(Connection::connect()));
        try {
            if ($userController->subscribe($user, $_POST['confirm_password'])) {
                $jsonResponse = new JsonResponse();
                print_r($jsonResponse->response(true, 'Usuário cadastrado com sucesso. Você será automaticamente conectado ao sistema')->addValue("redirectTo", LinkController::getBaseURL())->serialize());
                Session::login($user);
                //header('Location: '.LinkController::getBaseURL());
            } else {
                $jsonResponse = new JsonResponse();
                print_r($jsonResponse->response(false, 'Falha no cadastro do usuário. Favor tentar novamente')->serialize());
            }
        } catch (Exception $err) {
            $jsonResponse = new JsonResponse();
            print_r($jsonResponse->response(false, $err->getMessage())->serialize());
        }