diff options
author | emkael <emkael@tlen.pl> | 2016-03-10 17:04:37 +0100 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2016-03-10 17:05:29 +0100 |
commit | 94fb52459898989ea2158e6b90440632724a1679 (patch) | |
tree | 893ff1164a377c0c3f7130ef11e8ddd76d42252c /app/php/components/PasswordChange.php | |
parent | 07ecb30061e36402acf8f4f62e7b7267ebf92c86 (diff) |
* password change form as a component
Diffstat (limited to 'app/php/components/PasswordChange.php')
-rw-r--r-- | app/php/components/PasswordChange.php | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/app/php/components/PasswordChange.php b/app/php/components/PasswordChange.php new file mode 100644 index 0000000..8aedcab --- /dev/null +++ b/app/php/components/PasswordChange.php @@ -0,0 +1,34 @@ +<?php + +Prado::using('Application.user.DbUser'); + +class PasswordChange extends TTemplateControl { + + public function getUserToChange() { + return $this->getControlState('user'); + } + + public function setUserToChange(DbUser $user) { + $this->setControlState('user', $user); + } + + public function checkPassword($sender, $param) { + $param->IsValid = DbUser::verifyPassword( + $this->Password->Text, $this->UserToChange->DbRecord->Password + ); + } + + public function changePassword($sender, $param) { + $this->SuccessMessage->Visible = FALSE; + if ($this->Page->IsValid) { + $this->UserToChange->DbRecord->Password = DbUser::generatePassword( + $this->NewPassword->Text + ); + $this->UserToChange->DbRecord->save(); + $this->SuccessMessage->Visible = TRUE; + } + } + +} + +?> |