00001 <?php
00002
00015
00016
00017
00018 class ProfileHandler extends UserHandler {
00019
00023 function profile() {
00024 parent::validate();
00025 parent::setupTemplate(true);
00026
00027 import('user.form.ProfileForm');
00028
00029 $profileForm = &new ProfileForm();
00030 if ($profileForm->isLocaleResubmit()) {
00031 $profileForm->readInputData();
00032 } else {
00033 $profileForm->initData();
00034 }
00035 $profileForm->display();
00036 }
00037
00041 function saveProfile() {
00042 parent::validate();
00043 $dataModified = false;
00044
00045 import('user.form.ProfileForm');
00046
00047 $profileForm = &new ProfileForm();
00048 $profileForm->readInputData();
00049
00050 if (Request::getUserVar('profileImage')) {
00051 if (!$profileForm->uploadProfileImage()) {
00052 $profileForm->addError('profileImage', Locale::translate('user.profile.form.profileImageInvalid'));
00053 }
00054 $dataModified = true;
00055 } else if (Request::getUserVar('deleteProfileImage')) {
00056 $profileForm->deleteProfileImage();
00057 $dataModified = true;
00058 }
00059
00060 if (!$dataModified && $profileForm->validate()) {
00061 $profileForm->execute();
00062 Request::redirect(null, Request::getRequestedPage());
00063
00064 } else {
00065 parent::setupTemplate(true);
00066 $profileForm->display();
00067 }
00068 }
00069
00073 function changePassword() {
00074 parent::validate();
00075 parent::setupTemplate(true);
00076
00077 import('user.form.ChangePasswordForm');
00078
00079 $passwordForm = &new ChangePasswordForm();
00080 $passwordForm->initData();
00081 $passwordForm->display();
00082 }
00083
00087 function savePassword() {
00088 parent::validate();
00089
00090 import('user.form.ChangePasswordForm');
00091
00092 $passwordForm = &new ChangePasswordForm();
00093 $passwordForm->readInputData();
00094
00095 if ($passwordForm->validate()) {
00096 $passwordForm->execute();
00097 Request::redirect(null, Request::getRequestedPage());
00098
00099 } else {
00100 parent::setupTemplate(true);
00101 $passwordForm->display();
00102 }
00103 }
00104
00105 }
00106
00107 ?>