diff options
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; + } + } + } ?> |
