protected function show_form($data) { $f = new Form(); $f->start($data); $f->text('role', 'Role:', 30, 'role'); echo '<p class=label>Permissions:'; $stmt = $this->db->query('select * from permission left join (select * from role_permission where role = :role) rp using (permission) order by permission', array('role' => $data['role'])); for ($n = 1; $row = $stmt->fetch(); $n++) { echo '<br>'; $fld = "fld_{$n}"; $checked = isset($row['role']) ? 'checked' : ''; echo "<input id={$fld} type=checkbox name=permission[]\n value={$row['permission']} {$checked}>"; $f->label($fld, $row['permission'], false); } $f->button('action_save', 'Save'); $f->end(); }
function show_form($data = null) { $new = is_null($data); if (empty($data['phone_method'])) { $data['phone_method'] = 'sms'; } $f = new Form(); $f->start($data); $f->errors($this->err_flds); $f->hidden('new', $new ? '1' : '0'); if ($new) { $readonly = false; $userid = ''; } else { $readonly = true; $userid = $data['userid']; } $f->text('userid', 'User ID:', 25, 'User ID', true, false, $readonly); $f->text('first', 'First Name:', 25, 'First Name'); $f->hspace(3); $f->text('last', 'Last Name:', 25, 'Last Name', false); $f->text('email', 'Email:', 75, '*****@*****.**'); $f->text('phone', 'Verification Phone:', 25, '303-555-1234'); $f->radio('phone_method', 'SMS (text)', 'sms'); $f->hspace(5); $f->radio('phone_method', 'Voice', 'voice', false); echo '<p class=label>Roles:'; if ($new && false) { $stmt = $this->db->query('select * from role order by role'); } else { $stmt = $this->db->query('select * from role left join (select * from user_role where userid = :userid) as ur using (role) order by role', array('userid' => $userid)); } for ($n = 1; $row = $stmt->fetch(); $n++) { echo '<br>'; $fld = "fld_{$n}"; $checked = isset($row['userid']) ? 'checked' : ''; echo "<input id={$fld} type=checkbox name=role[]\n value={$row['role']} {$checked}>"; $f->label($fld, $row['role'], false); } $f->button('action_save', 'Save'); $f->end(); $this->ac->show_permissions($userid); }