From 84063b98d2f19d921c890b31fbebefd354ca103d Mon Sep 17 00:00:00 2001 From: Pathologic Date: Sat, 3 Dec 2022 19:14:24 +0300 Subject: [PATCH] refactor events --- src/Services/UserManager.php | 6 - src/Services/Users/UserDelete.php | 10 +- src/Services/Users/UserEdit.php | 4 +- src/Services/Users/UserLogin.php | 6 +- src/Services/Users/UserLoginById.php | 4 +- src/Services/Users/UserLogout.php | 4 +- .../Users/UserManagerChangePassword.php | 132 ------------------ src/Services/Users/UserRegistration.php | 2 +- 8 files changed, 12 insertions(+), 156 deletions(-) delete mode 100644 src/Services/Users/UserManagerChangePassword.php diff --git a/src/Services/UserManager.php b/src/Services/UserManager.php index 5abc9bc..7197b6f 100644 --- a/src/Services/UserManager.php +++ b/src/Services/UserManager.php @@ -55,12 +55,6 @@ public function repairPassword($userData, bool $events = true, bool $cache = tru return $userHash->process(); } - public function changeManagerPassword($userData, bool $events = true, bool $cache = true) - { - $user = new UserManagerChangePassword($userData, $events, $cache); - return $user->process(); - } - public function changePassword($userData, bool $events = true, bool $cache = true) { $user = new UserChangePassword($userData, $events, $cache); diff --git a/src/Services/Users/UserDelete.php b/src/Services/Users/UserDelete.php index 41aa286..0132937 100644 --- a/src/Services/Users/UserDelete.php +++ b/src/Services/Users/UserDelete.php @@ -93,7 +93,7 @@ public function process(): string if ($this->events) { // invoke OnBeforeWUsrFormDelete event - EvolutionCMS()->invokeEvent("OnBeforeWUsrFormDelete", + EvolutionCMS()->invokeEvent("OnBeforeUserDelete", array( "id" => $this->userData['id'] )); @@ -106,17 +106,11 @@ public function process(): string \EvolutionCMS\Models\UserValue::query()->where('userid', $this->userData['id'])->delete(); if ($this->events) { // invoke OnWebDeleteUser event - EvolutionCMS()->invokeEvent("OnWebDeleteUser", + EvolutionCMS()->invokeEvent("OnUserDelete", array( "userid" => $this->userData['id'], "username" => $username )); - - // invoke OnWUsrFormDelete event - EvolutionCMS()->invokeEvent("OnWUsrFormDelete", - array( - "id" => $this->userData['id'] - )); } if ($this->cache) { diff --git a/src/Services/Users/UserEdit.php b/src/Services/Users/UserEdit.php index bd2a90a..975843f 100644 --- a/src/Services/Users/UserEdit.php +++ b/src/Services/Users/UserEdit.php @@ -135,8 +135,8 @@ public function process(): \Illuminate\Database\Eloquent\Model if ($this->events) { EvolutionCMS()->invokeEvent("OnUserSave", [ "mode" => "upd", - "user" => $this->userData, "userid" => $user->getKey(), + "user" => $this->userData, "username" => $user->username, "userpassword" => isset($this->userData['clearPassword']) ? $this->userData['clearPassword'] : '', "useremail" => $user->attributes->email, @@ -169,4 +169,4 @@ public function validate(): bool return !$validator->fails(); } -} \ No newline at end of file +} diff --git a/src/Services/Users/UserLogin.php b/src/Services/Users/UserLogin.php index 698ef67..03851a8 100644 --- a/src/Services/Users/UserLogin.php +++ b/src/Services/Users/UserLogin.php @@ -129,7 +129,7 @@ public function process(): \Illuminate\Database\Eloquent\Model if ($this->events) { // invoke OnBeforeManagerLogin event - EvolutionCMS()->invokeEvent('OnBeforeManagerLogin', array( + EvolutionCMS()->invokeEvent('OnBeforeUserLogin', array( 'username' => $this->userData['username'], 'userpassword' => $this->userData['password'], 'rememberme' => $this->userData['rememberme'] ?? false @@ -151,7 +151,7 @@ public function process(): \Illuminate\Database\Eloquent\Model if ($this->events) { // invoke OnManagerLogin event - EvolutionCMS()->invokeEvent('OnManagerLogin', array( + EvolutionCMS()->invokeEvent('OnUserLogin', array( 'userid' => $this->user->getKey(), 'username' => $this->user->username, 'userpassword' => $this->userData['password'], @@ -400,7 +400,7 @@ public function checkPassword() { if ($this->events) { // invoke OnManagerAuthentication event - $rt = EvolutionCMS()->invokeEvent('OnManagerAuthentication', array( + $rt = EvolutionCMS()->invokeEvent('OnUserAuthentication', array( 'userid' => $this->user->getKey(), 'username' => $this->user->username, 'userpassword' => $this->userData['password'], diff --git a/src/Services/Users/UserLoginById.php b/src/Services/Users/UserLoginById.php index 6b99d21..a1e0482 100644 --- a/src/Services/Users/UserLoginById.php +++ b/src/Services/Users/UserLoginById.php @@ -56,7 +56,7 @@ public function process(): \Illuminate\Database\Eloquent\Model } if ($this->events) { // invoke OnBeforeManagerLogin event - EvolutionCMS()->invokeEvent('OnBeforeManagerLogin', array( + EvolutionCMS()->invokeEvent('OnBeforeUserLogin', array( 'username' => $this->user->username, )); } @@ -70,7 +70,7 @@ public function process(): \Illuminate\Database\Eloquent\Model if ($this->events) { // invoke OnManagerLogin event - EvolutionCMS()->invokeEvent('OnManagerLogin', array( + EvolutionCMS()->invokeEvent('OnUserLogin', array( 'userid' => $this->user->getKey(), 'username' => $this->user->username, )); diff --git a/src/Services/Users/UserLogout.php b/src/Services/Users/UserLogout.php index 3fd88f9..df7c6bf 100644 --- a/src/Services/Users/UserLogout.php +++ b/src/Services/Users/UserLogout.php @@ -133,7 +133,7 @@ public function process(): string $sid = EvolutionCMS()->sid; if ($this->events) { // invoke OnBeforeManagerLogout event - EvolutionCMS()->invokeEvent("OnBeforeManagerLogout", + EvolutionCMS()->invokeEvent("OnBeforeUserLogout", array( "userid" => $internalKey, "username" => $username @@ -149,7 +149,7 @@ public function process(): string if ($this->events) { // invoke OnManagerLogout event - EvolutionCMS()->invokeEvent("OnManagerLogout", + EvolutionCMS()->invokeEvent("OnUserLogout", array( "userid" => $internalKey, "username" => $username diff --git a/src/Services/Users/UserManagerChangePassword.php b/src/Services/Users/UserManagerChangePassword.php deleted file mode 100644 index 517ccb5..0000000 --- a/src/Services/Users/UserManagerChangePassword.php +++ /dev/null @@ -1,132 +0,0 @@ -validate = $this->getValidationRules(); - $this->messages = $this->getValidationMessages(); - $this->userData = $userData; - $this->events = $events; - $this->cache = $cache; - } - - /** - * @return \string[][] - */ - public function getValidationRules(): array - { - return [ - 'password' => ['required', 'min:6', 'confirmed'], - ]; - } - - /** - * @return array - */ - public function getValidationMessages(): array - { - return [ - 'password.required' => Lang::get("global.required_field", ['field' => 'password']), - 'password.confirmed' => Lang::get("global.password_confirmed", ['field' => 'password']), - 'password.min' => Lang::get("global.password_gen_length"), - - ]; - } - - /** - * @return \Illuminate\Database\Eloquent\Model - * @throws ServiceActionException - * @throws ServiceValidationException - */ - public function process(): string - { - if (!$this->checkRules()) { - throw new ServiceActionException(\Lang::get('global.error_no_privileges')); - } - - if (!$this->validate()) { - $exception = new ServiceValidationException(); - $exception->setValidationErrors($this->validateErrors); - throw $exception; - } - - - $uid = EvolutionCMS()->getLoginUserID('mgr'); - $password = EvolutionCMS()->getPasswordHash()->HashPassword($this->userData['password']); - $user = \EvolutionCMS\Models\User::find($uid); - $user->password = $password; - $user->save(); - - // invoke OnManagerChangePassword event - EvolutionCMS()->invokeEvent('OnManagerChangePassword', array( - 'userid' => $uid, - 'username' => $_SESSION['mgrShortname'], - 'userpassword' => $this->userData['password'] - )); - return $user; - } - - /** - * @return bool - */ - public function checkRules(): bool - { - return true; - } - - /** - * @return bool - */ - public function validate(): bool - { - $validator = \Validator::make($this->userData, $this->validate, $this->messages); - $this->validateErrors = $validator->errors()->toArray(); - return !$validator->fails(); - } - - -} diff --git a/src/Services/Users/UserRegistration.php b/src/Services/Users/UserRegistration.php index abee854..ed16fe8 100644 --- a/src/Services/Users/UserRegistration.php +++ b/src/Services/Users/UserRegistration.php @@ -125,7 +125,7 @@ public function process(): \Illuminate\Database\Eloquent\Model EvolutionCMS()->invokeEvent("OnUserSave", [ "mode" => "new", "userid" => $user->getKey(), - 'user' => $this->userData, + "user" => $this->userData, "username" => $user->username, "userpassword" => $this->userData['clearPassword'], "useremail" => $user->attributes->email,