username = $form_model->getItem('username'); $model->email = $form_model->getItem('email'); $model->password_hash = password_hash($form_model->getItem('password'), PASSWORD_DEFAULT); if ($model->save()){ return $model; } return false; } public function update(FormModel $form_model, User $user): false|User { $user->username = $form_model->getItem('username'); $user->email = $form_model->getItem('email'); $user->password_hash = password_hash($form_model->getItem('password'), PASSWORD_DEFAULT); if ($user->save()){ return $user; } return false; } /** * @param string $field * @param string $value * @return mixed */ public function getByField(string $field, string $value) { return User::where($field, $value)->first(); } public static function createUsernameArr(): array { foreach (User::all()->toArray() as $user) { $userArr[$user['id']] = $user['username']; } if (!empty($userArr)) { return $userArr; } return []; } public static function getAuthUser() { if (isset($_COOKIE['user_id'])){ $user = User::where("id", $_COOKIE['user_id'])->first(); if ($user){ return $user; } } return false; } public static function getAuthUsername(): string { $user = self::getAuthUser(); if ($user){ return $user->username; } return ''; } public function getByAccessToken(string $token) { return $this->getByField("access_token", $token); } }