case 'new': $session->requireLoggedIn(); // create new photo album echo '<h1>Create a new photo album</h1>'; function handleNew($p) { $session = SessionHandler::getInstance(); $o = new PhotoAlbum(); $o->owner = $session->id; $o->name = $p['name']; $o->time_created = sql_datetime(time()); if ($session->isSuperAdmin && $p['system']) { $o->owner = 0; } // create a system wide album $o->id = $o->store(); js_redirect('u/album/show/' . $session->id . '/' . $o->id); } $form = new XhtmlForm(); $form->addInput('name', 'Name'); $form->setFocus('name'); if ($session->isSuperAdmin) { $form->addCheckbox('system', 'System wide album? (SUPERADMIN)'); } $form->addSubmit('Save'); $form->setHandler('handleNew'); echo $form->render(); break; default: throw new \Exception('no such view: ' . $this->owner); }
break; case 'remove': if (confirmed('Are you sure you want to remove this chatroom?')) { ChatRoom::remove($this->child); js_redirect('a/chatroom/list'); } break; case 'empty': if (confirmed('Are you sure you want to remove all messages from this chatroom?')) { ChatMessage::deleteByRoom($this->child); js_redirect('a/chatroom/list'); } break; case 'new': function createHandler($p) { $o = new ChatRoom(); $o->name = trim($p['name']); $o->id = $o->store(); js_redirect('a/chatroom/list'); } echo '<h2>Create new chatroom</h2>'; $x = new XhtmlForm(); $x->addInput('name', 'Name'); $x->addSubmit('Create'); $x->setHandler('createHandler'); echo $x->render(); break; default: echo 'No handler for view ' . $this->owner; }
} if ($fb->type == USER) { $from = User::get($fb->from); echo '<h2>User feedback from ' . $fb->name . '</h2>'; } echo 'Subject: ' . $fb->subject . '<br/>'; if ($fb->body) { echo 'Message: ' . nl2br($fb->body); } echo '<br/>'; if ($fb->type == USER) { $msg = "In response to your feedback:\n\n" . $fb->body; $frm = new XhtmlForm(); $frm->addHidden('owner', $this->child); $frm->addHidden('to', $fb->from); $frm->addTextarea('msg', 'Reply', $msg); $frm->addSubmit('Send'); $frm->setHandler('fbHandle'); echo $frm->render(); } echo '<br/>'; echo ahref('a/feedback/markhandled/' . $this->child, 'Mark as handled'); break; case 'markhandled': // child = tblFeedback.id Feedback::markHandled($this->child); js_redirect('a/feedback/default'); break; default: echo 'No handler for view ' . $this->owner; }
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>'; } echo '</table>'; echo xhtmlSubmit('Save changes');