Ejemplo n.º 1
0
 /**
  * @param Slim $app
  * @return mixed
  */
 public function registerUser(Slim $app)
 {
     $response = $this->getResponse($app);
     $username = $app->request->params('username');
     $password = $app->request->params('password');
     $names = $app->request->params('names');
     $user = new User($username, $password, $names);
     //get token
     $auth = new Authenticate($username, $password);
     $tokenResponse = $auth->getToken();
     $token = $this->jsonDecode($tokenResponse)['token'];
     $tokenExpire = $this->jsonDecode($tokenResponse)['expiry'];
     //set user token and expiry
     $user->setToken($token);
     $user->setTokenExpire($tokenExpire);
     $manager = new UserManager();
     $manager->save($user);
     $token = $auth->login();
     $response->body($token);
     return $response;
 }
Ejemplo n.º 2
0
 /**
  * Save a newly created user to database
  *
  * @param User $user
  * @return bool
  */
 public function save(User $user)
 {
     //construct a sql statement
     $sql = 'INSERT INTO users (username, password, usernames,token, token_expire) VALUES(?,?,?,?,?)';
     //connect to the database
     $connection = $this->getConnection();
     //prepare a statement
     $statement = $connection->prepare($sql);
     /*
      * I have to get the object properties here because, apparently
      * PDOStatement::bindParam() does not allow passing of objects by reference, sad
      * stuff.
      */
     $username = $user->getUsername();
     $password = $user->getPassword();
     $names = $user->getNames();
     $token = $user->getToken();
     $tokenExpire = $user->getTokenExpire();
     //bind params to statement
     $statement->bindParam(1, $username);
     $statement->bindParam(2, $password);
     $statement->bindParam(3, $names);
     $statement->bindParam(4, $token);
     $statement->bindParam(5, $tokenExpire);
     //execute query
     $statement->execute();
     //check to see if user was saved
     if ($statement->rowCount() > 0) {
         return true;
     }
     throw new PDOException("Error:  Record not saved. Please try again");
 }