public function save(User $user) { if ($user->getId()) { $sql = <<<sql UPDATE user SET username = ?, password = ?, secret = ? WHERE id = ? sql; $sth = $this->dbh->prepare($sql); $sth->execute([$user->getUsername(), $user->getPassword(), $user->getSecret(), $user->getId()]); } else { throw new \Exception("Creating new users is not implemented yet!"); } }
static function connect($login, $password) { $pdo = DataSource::load(); $statement = 'SELECT * FROM User WHERE login = :login LIMIT 1'; $preparedStatement = $pdo->prepare($statement); $preparedStatement->execute(array('login' => $login)); $userData = $preparedStatement->fetch(); if (!empty($userData)) { if (self::cryptPassword($password, $userData['salt']) == $userData['hash']) { $user = new User(); $user->setProperties($userData); self::$user = $user; $_SESSION[self::SESSION_KEY] = $user->getSecret(); return self::$user; } } return false; }