diff options
author | emkael <emkael@tlen.pl> | 2016-03-10 16:36:52 +0100 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2016-03-10 16:36:52 +0100 |
commit | 8a4afbcfefb283d8217ae6be0f96d7e01bbbd21d (patch) | |
tree | 34056cdd9c0fbab1919fb11dfd07079a0c9a2741 /app/php/pages | |
parent | f2cdce29953391437018fcc69d08451d4b4a17f2 (diff) |
* password change form in profile page
Diffstat (limited to 'app/php/pages')
-rw-r--r-- | app/php/pages/Profile.page | 53 | ||||
-rw-r--r-- | app/php/pages/Profile.php | 17 |
2 files changed, 69 insertions, 1 deletions
diff --git a/app/php/pages/Profile.page b/app/php/pages/Profile.page index b5dcf37..71ed112 100644 --- a/app/php/pages/Profile.page +++ b/app/php/pages/Profile.page @@ -1,3 +1,54 @@ <com:TContent ID="Content"> - Profile + Change password<br /> + Current password: + <com:TTextBox ID="Password" + TextMode="Password" + ValidationGroup="ChangePasswordGroup" /> + <com:TRequiredFieldValidator + ControlToValidate="Password" + Display="Dynamic" + ErrorMessage="Current password cannot be empty" + ValidationGroup="ChangePasswordGroup" /> + <com:TCustomValidator + ControlToValidate="Password" + OnServerValidate="checkPassword" + Display="Dynamic" + ErrorMessage="Password is incorrect" + ValidationGroup="ChangePasswordGroup" /> + <br /> + New password: + <com:TTextBox ID="NewPassword" + TextMode="Password" + ValidationGroup="ChangePasswordGroup" /> + <com:TRequiredFieldValidator + ControlToValidate="NewPassword" + Display="Dynamic" + ErrorMessage="New password cannot be empty" + ValidationGroup="ChangePasswordGroup" /> + <br /> + Repeat password: + <com:TTextBox ID="ReNewPassword" + TextMode="Password" + ValidationGroup="ChangePasswordGroup" /> + <com:TRequiredFieldValidator + ControlToValidate="ReNewPassword" + Display="Dynamic" + ErrorMessage="New password cannot be empty" + ValidationGroup="ChangePasswordGroup" /> + <com:TCompareValidator + ControlToValidate="ReNewPassword" + ControlToCompare="NewPassword" + DataType="String" + Operator="Equal" + Display="Dynamic" + ErrorMessage="Passwords don't match" + ValidationGroup="ChangePasswordGroup" /> + <br /> + <com:TButton + Text="Change password" + OnCommand="changePassword" + ValidationGroup="ChangePasswordGroup" /> + <com:TLabel ID="SuccessMessage" + Text="Your password has been changed" + Visible="false" /> </com:TContent> diff --git a/app/php/pages/Profile.php b/app/php/pages/Profile.php index fb2c89f..6df87bc 100644 --- a/app/php/pages/Profile.php +++ b/app/php/pages/Profile.php @@ -2,6 +2,23 @@ class Profile extends TPage { + public function checkPassword($sender, $param) { + $param->IsValid = DbUser::verifyPassword( + $this->Password->Text, $this->User->DbRecord->Password + ); + } + + public function changePassword($sender, $param) { + $this->SuccessMessage->Visible = FALSE; + if ($this->Page->IsValid) { + $this->User->DbRecord->Password = DbUser::generatePassword( + $this->NewPassword->Text + ); + $this->User->DbRecord->save(); + $this->SuccessMessage->Visible = TRUE; + } + } + } ?> |