Exemple #1
0
<?php

//Koniguration laden
require_once $_SERVER['DOCUMENT_ROOT'] . '/vereinsverwaltung/src/conf/config.php';
//Nur ausführen, wenn cli sonst Fehlermeldung
if (php_sapi_name() == 'cli') {
    $dbconn = new mysqli('localhost', DBUSER, DBPASSWD, DATABASE);
    if ($dbconn->connect_errno) {
        echo "Failed to connect to MySQL: (" . $dbconn->connect_errno . ") " . $dbconn->connect_error . "\n";
        die;
    }
    //Benutzernamen einlesen (eingabe wird mit NEWLINE abgeschlossen)
    echo "Geben sie einen Benutzernamen ein:\n";
    $username = rtrim(fgets(STDIN), "\n");
    while (!usernameAvailable($username, $dbconn)) {
        echo "Der Benutzername ist bereits vorhanden. Wählen sie einen anderen:\n";
        $username = rtrim(fgets(STDIN), "\n");
    }
    //Passwort lesen mit echo aus
    echo "Geben sie ein Passwort für den Benutzer ein:\n";
    $pw = getPassword();
    //Benutzer in Datenbank anlegen
    createUser($username, $pw, $dbconn);
} else {
    echo 'Zugriff verweigert!';
}
function usernameAvailable($name, $conn)
{
    $available = true;
    $dbRes = $conn->query("SELECT * FROM " . DATABASE . ".login WHERE username = '******'");
    if ($dbRes->num_rows != 0) {
 // Start session management
 $user->session_begin();
 $username = request_var('username', '');
 $email = request_var('email', '');
 $choice = request_var('choice', '');
 switch ($choice) {
     case "create_new":
         if (usernameAvailable($username)) {
             $userId = insertUserRow($username, $email);
             $user->session_create($userId);
         } else {
             trigger_error("Username unavailable, please login with your openid and make another choice.");
         }
         break;
     case "detect_by_openid":
         if (usernameAvailable($username)) {
             $userId = insertUserRow($username, $email);
             $user->session_create($userId);
         } else {
             trigger_error("Username unavailable, please login with your openid make another choice.");
         }
         break;
     case "bind_existed":
     default:
         $password = request_var('password', '', true);
         $result = $auth->login($username, $password, false, 1, false);
         if ($result['status'] == LOGIN_SUCCESS) {
             $userId = bind($username);
             $user->session_create($result["user_row"]["user_id"]);
         } else {
             trigger_error("Authenticate failed, please login with your openid and retry.");