21 import(
'classes.handler.Handler');
22 import(
'lib.pkp.classes.core.JSONMessage');
32 function authorize($request, &$args, $roleAssignments) {
34 import(
'lib.pkp.classes.security.authorization.UserRequiredPolicy');
37 return parent::authorize($request, $args, $roleAssignments);
48 import(
'lib.pkp.classes.user.form.IdentityForm');
50 $identityForm->initData();
51 return new JSONMessage(
true, $identityForm->fetch($request));
63 import(
'lib.pkp.classes.user.form.IdentityForm');
65 $identityForm->readInputData();
66 if ($identityForm->validate()) {
67 $identityForm->execute();
69 $notificationMgr->createTrivialNotification($request->getUser()->getId());
72 return new JSONMessage(
true, $identityForm->fetch($request));
83 import(
'lib.pkp.classes.user.form.ContactForm');
84 $contactForm =
new ContactForm($request->getUser());
85 $contactForm->initData();
86 return new JSONMessage(
true, $contactForm->fetch($request));
98 import(
'lib.pkp.classes.user.form.ContactForm');
99 $contactForm =
new ContactForm($request->getUser());
100 $contactForm->readInputData();
101 if ($contactForm->validate()) {
102 $contactForm->execute();
104 $notificationMgr->createTrivialNotification($request->getUser()->getId());
107 return new JSONMessage(
true, $contactForm->fetch($request));
118 import(
'lib.pkp.classes.user.form.RolesForm');
119 $rolesForm =
new RolesForm($request->getUser());
120 $rolesForm->initData();
121 return new JSONMessage(
true, $rolesForm->fetch($request));
133 import(
'lib.pkp.classes.user.form.RolesForm');
134 $rolesForm =
new RolesForm($request->getUser());
135 $rolesForm->readInputData();
136 if ($rolesForm->validate()) {
137 $rolesForm->execute();
139 $notificationMgr->createTrivialNotification($request->getUser()->getId());
142 return new JSONMessage(
false, $rolesForm->fetch($request));
153 import(
'lib.pkp.classes.user.form.PublicProfileForm');
155 $publicProfileForm->initData();
156 return new JSONMessage(
true, $publicProfileForm->fetch($request));
166 import(
'lib.pkp.classes.user.form.PublicProfileForm');
168 $result = $publicProfileForm->uploadProfileImage();
170 return $request->redirectUrlJson($request->getDispatcher()->url($request, ROUTE_PAGE,
null,
'user',
'profile',
null, array(
'uniq' => uniqid()),
'publicProfile'));
172 return new JSONMessage(
false, __(
'common.uploadFailed'));
182 import(
'lib.pkp.classes.user.form.PublicProfileForm');
184 $publicProfileForm->deleteProfileImage();
185 $request->redirectUrl($request->getDispatcher()->url($request, ROUTE_PAGE,
null,
'user',
'profile',
null, array(
'uniq' => uniqid()),
'publicProfile'));
197 import(
'lib.pkp.classes.user.form.PublicProfileForm');
199 $publicProfileForm->readInputData();
200 if ($publicProfileForm->validate()) {
201 $publicProfileForm->execute();
203 $notificationMgr->createTrivialNotification($request->getUser()->getId());
206 return new JSONMessage(
true, $publicProfileForm->fetch($request));
217 import(
'lib.pkp.classes.user.form.APIProfileForm');
219 $apiProfileForm->initData();
220 return new JSONMessage(
true, $apiProfileForm->fetch($request));
232 import(
'lib.pkp.classes.user.form.APIProfileForm');
234 $apiProfileForm->readInputData();
235 if ($apiProfileForm->validate()) {
236 $apiProfileForm->execute();
238 $notificationMgr->createTrivialNotification($request->getUser()->getId());
239 return new JSONMessage(
true, $apiProfileForm->fetch($request));
241 return new JSONMessage(
true, $apiProfileForm->fetch($request));
252 import(
'lib.pkp.classes.user.form.ChangePasswordForm');
254 $passwordForm->initData();
255 return new JSONMessage(
true, $passwordForm->fetch($request));
266 import(
'lib.pkp.classes.user.form.ChangePasswordForm');
268 $passwordForm->readInputData();
270 if ($passwordForm->validate()) {
271 $passwordForm->execute();
273 $notificationMgr->createTrivialNotification($request->getUser()->getId());
277 return new JSONMessage(
true, $passwordForm->fetch($request));
289 $user = $request->getUser();
290 import(
'classes.notification.form.NotificationSettingsForm');
292 return new JSONMessage(
true, $notificationSettingsForm->fetch($request));
304 import(
'classes.notification.form.NotificationSettingsForm');
307 $notificationSettingsForm->readInputData();
310 if ($notificationSettingsForm->validate()) {
311 $notificationSettingsForm->execute();
313 $notificationMgr->createTrivialNotification($request->getUser()->getId());
315 $json->setStatus(
false);