<?php

require_once "LocalUserManager.php";
require_once "DatabaseUserManager.php";

/**
 * Zentrale Klasse für den Zugriff auf Benutzerdaten.
 *
 * Hier kann zwischen lokaler Speicherung und Datenbankspeicherung
 * gewechselt werden.
 */
class UserManager {

    public static function getInstance() {
        $userManager = DatabaseUserManager::getInstance();

        /*
         * Dummy-User anlegen, falls sie noch nicht existieren.
         * Passwort für alle User: test12345
         */
        $dummyUsers = [
            ['email' => 'max.mustermann@web.de', 'vorname' => 'Max', 'nachname' => 'Mustermann'],
            ['email' => 'erika.mustermann@web.de', 'vorname' => 'Erika', 'nachname' => 'Mustermann'],
            ['email' => 'john.doe@gmail.com', 'vorname' => 'John', 'nachname' => 'Doe'],
            ['email' => 'jane.doe@gmail.com', 'vorname' => 'Jane', 'nachname' => 'Doe'],
            ['email' => 'anna.schmidt@gmx.de', 'vorname' => 'Anna', 'nachname' => 'Schmidt'],
            ['email' => 'thomas.mueller@gmx.de', 'vorname' => 'Thomas', 'nachname' => 'Müller'],
            ['email' => 'sabine.fischer@outlook.com', 'vorname' => 'Sabine', 'nachname' => 'Fischer'],
            ['email' => 'michael.weber@outlook.com', 'vorname' => 'Michael', 'nachname' => 'Weber'],
            ['email' => 'julia.wagner@t-online.de', 'vorname' => 'Julia', 'nachname' => 'Wagner'],
            ['email' => 'stefan.becker@t-online.de', 'vorname' => 'Stefan', 'nachname' => 'Becker']
        ];

        $passwordHash = password_hash("test12345", PASSWORD_DEFAULT);

        foreach ($dummyUsers as $user) {
            if ($userManager->findUser($user['email']) == null) {
                $userManager->addUser(
                    $user['email'],
                    $user['vorname'],
                    $user['nachname'],
                    $passwordHash
                );
            }
        }

        return $userManager;
    }
}