Skip to content
Snippets Groups Projects
register-service.php 1.44 KiB
Newer Older
<?php
    include 'config.php';
    include 'validation-service.php';

    $validation = checkRequest(['accountname', 'password', 'nickname', 'email', 'status']);
    if ($validation !== true){
        $payload = [
            'success' => false,
            'message' => $validation
        ];
        http_response_code(400);
        exit(json_encode($payload));
    }

    $saltFile = fopen($assetsDir.'/salt', 'r');
    $salt = fread($saltFile, 128);
    fclose($saltFile);

    $users = fopen($assetsDir.'/users.csv', 'c+');
    // Check if account already exists
    while(!feof($users)){
        $user = fgetcsv($users);
        if ($user[0] == $_POST['accountname']){
            $payload = [
                'success' => false,
                'message' => 'Der Account '.$_POST['accountname'].' exisitert bereits. Bitte wähle einen anderen Namen.'
            ];
            http_response_code(400);
            exit(json_encode($payload));
        }
    }

    // Save new user to file
    $newUser = [
        'accountname' => $_POST['accountname'],
        'password' => hash('sha512', $_POST['password'], $salt),
        'nickname' => $_POST['nickname'],
        'email' => $_POST['email'],
        'status' => $_POST['status']
    ];
    fputcsv($users, $newUser);
    fclose($users);

    $payload = [
        'success' => true,
        'message' => 'Der Account wurde erfolgreich angelegt.'
    http_response_code(200);
    exit(json_encode($payload));