} if ($p['new_pwd'] != $p['new_pwd2']) { $error->add('passwords dont match'); return false; } if (!$p['new_pwd']) { $error->add('no password entered'); return false; } UserHandler::setPassword($session->id, $p['new_pwd']); js_redirect('u/edit'); } echo '<h1>Change password</h1>'; // XXXX FIXME: use js validation from register view $form = new XhtmlForm(); $form->addPassword('curr_pwd', 'Current password'); $form->addPassword('new_pwd', 'New password'); $form->addPassword('new_pwd2', 'New password again'); $form->addSubmit('Save'); $form->setHandler('handleEditPassword'); echo $form->render(); break; case 'status': function handleEditStatus($p) { $session = SessionHandler::getInstance(); if (!$session->id) { return; } PersonalStatus::setStatus($session->id, $p['status']); js_redirect('u/profile');
foreach (UserGroupHandler::getGroups($user->id) as $g) { echo '<a href="' . relurl_add(array('rm_grp' => $g->getId())) . '">' . coreButton('Delete') . '</a> '; echo ahref('a/usergroup/' . $g->getId(), $g->getName()) . '<br/>'; } echo '<br/>'; echo xhtmlForm('grp'); $x = new XhtmlComponentDropdown(); $x->name = 'grp_id'; $x->setOptions(UserGroup::getIndexedList()); echo $x->render() . ' '; echo xhtmlSubmit('Add'); echo xhtmlFormClose() . '<br/><br/>'; echo '<h2>Password</h2>'; $form = new XhtmlForm('pwd'); $form->disableAutocomplete(); $form->addPassword('change_pwd', 'Change password'); $form->addSubmit('Change'); echo $form->render() . '<br/><br/>'; echo '<h2>User settings</h2>'; $settings = UserSetting::getAll($user->id); echo xhtmlForm('edit_setting'); echo '<table>'; echo '<tr><th>Name</th><th>Value</th><th>Delete</th></tr>'; //XXX use editable YuiDataTable foreach ($settings as $set) { echo '<tr>'; echo '<td>' . xhtmlInput('setting_name_' . $set['id'], $set['name']) . '</td>'; echo '<td>' . xhtmlInput('setting_val_' . $set['id'], $set['value']) . '</td>'; echo '<td><a href="' . relurl_add(array('remove_setting' => $set['name'])) . '">Remove</a></td>'; echo '</tr>'; }