public function save(\model\User $user) { if ($this->doExists($user->getUsername())) { throw new \Exception(); } $stmt = $this->database->prepare("INSERT INTO `lab4` (`username` , `password`) VALUES (?, ?)"); if ($stmt === FALSE) { throw new \Exception($this->database->error); } $username = $user->getUsername(); $password = $user->getPassword(); $stmt->bind_param('ss', $username, $password); $stmt->execute(); }
public function doUserExist(User $user) { $this->database->prepare('SELECT * FROM users WHERE username = :username'); $this->database->bindValue(':username', $user->getUsername()); $this->database->fetchAll(); if ($this->database->rowCount() > 0) { throw new exception\UserAlreadyExistException(); } }
/** * @return bool * Encrypts password with the php 5.5 hashing API (uses BCrypt) */ public function addUser(\model\User $user) { $successfulRegistration = false; $users = $this->getAllUsers(); if ($users->isInList($user->getUsername())) { throw new \UserAlreadyExistException("User exists, pick another username."); } try { $db = $this->db->getConnection(); $sql = "INSERT INTO {$this->dbTable} (" . self::$usernameColumn . ", " . self::$passwordColumn . ") VALUES (?, ?)"; $params = array($user->getUsername(), password_hash($user->getPassword(), PASSWORD_DEFAULT)); $query = $db->prepare($sql); $query->execute($params); $successfulRegistration = true; } catch (\PDOException $e) { die("Database error, please try again later"); } return $successfulRegistration; }
/** * Used when the person who is currently logged in wants to stop following another user * @param User $user, person who is already following * @param $followee, a person who is being followed * @return bool */ public function removeFollowee(\model\User $user, $followee) { $follower = $user->getUsername(); try { DB::getInstance()->deleteFollowee($follower, $followee); return true; } catch (\Exception $e) { return false; } }
public function addNewStatus(\model\User $user, $content) { if (strlen($content) > 255) { return false; } try { $username = $user->getUsername(); DB::getInstance()->addStatusToDB($username, $content); return true; } catch (\Exception $e) { return false; } }
/** * Login user * * @param \model\User $credential * @return bool */ public function doLogin(\model\User $credential) { $username = $credential->getUsername(); $password = $credential->getPassword(); $records = new \Db(); $records->query('SELECT username, password FROM users WHERE BINARY username = :username'); $records->bind(':username', $username); $results = $records->single(); if (count($results) > 0 && password_verify($password, $results['password'])) { return $this->sessionStorage->set(SessionStorage::$auth, $username); } else { return false; } }
public function doExist(\model\User $user) { $sqlQuery = $this->dal->prepare("SELECT EXISTS(SELECT 1 FROM Users WHERE Username=?)"); if ($sqlQuery == false) { throw new \Exception($this->dal->error); } $username = $user->getUsername(); $sqlQuery->bind_param('s', $username); $sqlQuery->execute(); $sqlQuery->bind_result($result); $sqlQuery->fetch(); if ($result == 1) { return true; } return false; }
/** * Generate user profile * @return String HTML-code */ public function response() { return '<h1>' . $this->user->getUsername() . '</h1> ' . $this->setInfo(); }