Пример #1
0
        require $file;
    }
}
spl_autoload_register('ivAutoloader');
// Magic Quotes entfernen
if (get_magic_quotes_gpc()) {
    function strip_quotes(&$value)
    {
        $value = stripslashes($value);
    }
    $gpc = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
    array_walk_recursive($gpc, 'strip_quotes');
}
// Funktion
require 'inc/functions.php';
try {
    // Datenbankverbindung herstellen
    require 'inc/database.config.php';
} catch (Exception $e) {
    // Datenbankzugangsdaten sollen nicht als Stacktrace ausgegeben werden
    die('Could not connect to database');
}
// Objekte initialisieren
iv::init();
iv::put('db', $db);
iv::put('conf', $conf = new data_options('base_conf', iv::get('options')));
iv::put('session', $session = new session_iv('IVSESSID'));
// Sitzung beenden
if (isset($_GET['logout'])) {
    $session->logout();
}
Пример #2
0
        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);