Files
website/app/Http/Controllers/LoginController.php

75 lines
2.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\RegisterToken;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Log;
class LoginController extends Controller
{
//
public function register(Request $request){
// messageStatus success|failure|not permitted
$json = ["messageStatus" => "failure", "errorMessage" => "idk"];
$mail = $request->input('mail');
$username = $request->input('username');
$password = Hash::make($request->input('password'));
$token = $request->input('token');
if(preg_match('/@c3gov\.de$/', $mail) != 1){
return ["messageStatus" => "not permitted", "errorMessage" => ""];
}
$rt = RegisterToken::where('token', $token)->first();
if($rt) {
$u = User::whereEmail($mail)->first();
if($u) {
return ["messageStatus" => "failure", "errorMessage" => "Diese elektronische Postadresse wird bereits verwendet."];
}
try {
$u = new User();
$u->name = $username;
$u->email = $mail;
$u->email_verified_at = now();
$u->password = $password;
$u->save();
$rt->delete();
} catch (\Exception $e) {
return ["messageStatus" => "failure", "errorMessage" => $e->getMessage()];
}
} else {
return ["messageStatus" => "failure", "errorMessage" => "Machen Sie die Musik aus."];
}
return ["messageStatus" => "success", "errorMessage" => ""];
}
public function login(Request $request){
$mail = $request->input('mail');
$password = $request->input('password');
$u = User::whereEmail($mail)->first();
if($u){
$u_pw = $u->password;
if(Hash::check($password, $u_pw)){
Auth::login($u);
return ["messageStatus" => "success", "errorMessage" => ""];
} else {
return ["messageStatus" => "failure", "errorMessage" => "Falsch. Einfach nur falsch."];
}
} else {
return ["messageStatus" => "failure", "errorMessage" => "Falsch. Einfach nur falsch."];
}
}
}