} else { $form = $rc->get_edit($_GET['edit']); $edituser = db()->id_get('user_data', $_GET['edit']); $tabs = new tabs(); $uri = MODUL_SELF . '&edit=' . $edituser['id']; if ($modulrights['password']) { $i++; if (!empty($_POST['pass_new']) && $_POST['pass_new'] == $_POST['pass_rep']) { $pass = session_iv::crypt($_POST['pass_new'], $salt = uniqid()); db()->id_update('user_data', array('pass_type' => 0, 'pass_hash' => $pass, 'pass_salt' => $salt), $_GET['edit']); $msg = alert('Passwort geändert.', 'success'); } $passform = new form_renderer($uri . '#tabs-' . $i . '-hash'); $passform->password('pass_new', 'Neues Passwort'); $passform->password('pass_rep', 'Passwort Wiederholung'); $tabs->add('Password', $msg . $passform); } if ($modulrights['rights']) { $i++; if (isset($_POST['type'])) { $type = 4 * $_POST['type']['sysadmin'] + 2 * $_POST['type']['backend'] + $_POST['type']['frontend']; db()->id_update('user_data', array('type' => $type), $_GET['edit']); throw new redirect($uri . '#tabs-' . $i . '-hash'); } $typeform = new form_renderer($uri . '#tabs-' . $i . '-hash'); $typeform->checkbox('type[frontend]', 'Frontend', $edituser['type'] & 1); $typeform->checkbox('type[backend]', 'Backend', $edituser['type'] & 2); $typeform->checkbox('type[sysadmin]', 'Sysadmin', $edituser['type'] & 4); $tabs->add('Type', $typeform); $i++; $rc_groups = new data_controller('user_group_owner', $uri . '#tabs-' . $i . '-hash');
$_POST['rights'] = serialize($_POST['r']); $rc = new data_controller('user_groups', MODUL_SELF); $rc->add('name', 'Name', 1, 1, 1, 1); $rc->add('rights', 'Rechte', 0, 0, 1, 0, 'hidden'); if ($rc->run()) { throw new redirect(MODUL_SELF . '&edit=' . intval($_GET['update'])); } $grid = $view->grid(); $grid[0]->box($rc->get_create(), 'Gruppe erstellen'); $grid[0]->box($rc->get_list(), 'Gruppen verwalte'); if (!empty($_GET['edit']) && ($group = db()->id_get('user_groups', $_GET['edit']))) { $form = $rc->get_edit($_GET['edit']); $form->append($tabs = new tabs()); $grouprights = (array) unserialize($group['rights']); foreach ($rights->providers as $type => $provider) { $inputs = array(); $typerights = $grouprights[$type] ?: array(); foreach ($provider->keys() as $key => $caption) { if (!isset($provider->always[$key])) { $inputs[] = $inp = new form_field_boxtree("r[{$type}][{$key}]", $caption, isset($typerights[$key])); foreach ($provider->flagNames($key) as $flag => $caption) { $inp->sub("r[{$type}][{$key}][{$flag}]", $caption, isset($typerights[$key][$flag])); } } } $tabs->add($provider->name, implode($inputs)); } $grid[1]->box($form, 'Rechte bearbeiten'); } else { $grid[1]->box('Bitte wählen sie eine Gruppe zur bearbeiung aus', 'Systemhinweis'); }