throw new redirect($uri); } $form = $userprofil->getForm($uri); $form->linkbutton('Abbrechen', MODUL_SELF); $grid[1]->box($form, 'Profil', '500px'); } elseif (empty($_GET['edit']) || !$modulrights['edit']) { $grid[1]->box($rc->get_create(), 'User erstellen'); } 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'); }
} elseif ($minlen && strlen($_POST['register_pass']) < $minlen) { printf($error, 'Ihr Passwort muss mindestens ' . $minlen . ' Zeichen enthalten'); } elseif ($_POST['register_pass'] != $_POST['register_repetition']) { printf($error, 'Passwort und Wiederholung stimmen nicht überein'); } elseif ($usecap && !recaptcha_check_answer($recaptcha_privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"])->is_valid) { printf($error, 'Captcha ist inkorrekt'); } elseif ($db->query("SELECT 1 FROM `user_blocked`\n\t\t\tWHERE '%s' LIKE CONCAT('%%', `pattern`,'%%')\n\t\t\tAND `type` = 'name'", $_POST['register_name'])->num_rows()) { printf($error, 'Der Username ist unzulässig'); } elseif ($db->query("SELECT 1 FROM `user_blocked`\n\t\t\tWHERE '%s' LIKE CONCAT('%%', `pattern`,'%%')\n\t\t\tAND `type` = 'email'", $_POST['register_mail'])->num_rows()) { printf($error, 'Die E-Mail ist unzulässig'); } elseif ($db->id_get('user_data', $_POST['register_mail'], 'email')) { printf($error, 'Die angegebene E-Mail ist bereits vergeben'); } elseif ($db->id_get('user_data', $_POST['register_name'], 'name')) { printf($error, 'Der angegebene Name ist bereits vergeben'); } else { $db->insert('user_data', array('name' => $_POST['register_name'], 'email' => $_POST['register_mail'], 'pass_salt' => $salt = uniqid(), 'pass_hash' => session_iv::crypt($_POST['register_pass'], $salt), 'type' => 1)); // @TODO: Registration Mail throw new redirect(PAGE_SELF . 'completed'); } } if (isset($_GET['completed'])) { echo '<p>Registration erfolgreich und so...</p>'; } else { $captcha = '<div class="control-group"><label class="control-label" for="form_field_3">Captcha</label>' . '<div class="controls">' . recaptcha_get_html($recaptcha_publickey) . '</div></div>'; $form = new form_renderer(PAGE_SELF); $form->text('register_name', 'Username', $_POST['register_name']); $form->password('register_pass', 'Passwort'); $form->password('register_repetition', 'Wiederholung'); $form->text('register_mail', 'E-Mail', $_POST['register_mail']); if ($usecap) { $form->append($captcha);