From dfe234a7aaaacedcc94716f955b44a1b50c4a057 Mon Sep 17 00:00:00 2001 From: emkael Date: Wed, 6 Apr 2016 13:50:31 +0200 Subject: * components -> controls --- app/php/controls/PasswordChange.php | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 app/php/controls/PasswordChange.php (limited to 'app/php/controls/PasswordChange.php') diff --git a/app/php/controls/PasswordChange.php b/app/php/controls/PasswordChange.php new file mode 100644 index 0000000..9f2ac7f --- /dev/null +++ b/app/php/controls/PasswordChange.php @@ -0,0 +1,38 @@ +getControlState('user'); + } + + public function setUserToChange(DbUser $user) { + if ($user->IsGuest) { + throw new TInvalidDataValueException( + 'Password change impossible for guest user' + ); + } + $this->setControlState('user', $user); + } + + public function checkPassword($sender, $param) { + $param->IsValid = DbUser::verifyPassword( + $this->Password->Text, $this->UserToChange->getPassword() + ); + } + + public function changePassword($sender, $param) { + $this->SuccessMessage->Visible = FALSE; + if ($this->Page->IsValid) { + $this->UserToChange->changePassword( + $this->NewPassword->Text + ); + $this->SuccessMessage->Visible = TRUE; + } + } + +} + +?> -- cgit v1.2.3