Hintergrundverwaltung und leere Hüllen; neuaufsetzen submodule

This commit is contained in:
2026-03-23 23:40:20 +01:00
parent a2751d4776
commit 122af4aa54
32 changed files with 32012 additions and 45 deletions

View File

@@ -0,0 +1,74 @@
<?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."];
}
}
}

View File

@@ -5,9 +5,15 @@ namespace App\Http\Controllers;
use App\Models\TickerMessages;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Auth;
class TickerController extends Controller
{
public function showEditTicker(){
}
public static function getTicker(){
$t = "";
foreach(TickerMessages::getMessages(App::getLocale())->get() as $message){

View File

@@ -4,17 +4,19 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Auth;
class WebsiteController extends Controller
{
public function __construct(){
public function __construct()
{
$this->setLang($_COOKIE['lang'] ?? 'de');
}
private function setLang($lang)
{
if (! in_array($lang, ['de', 'en'])) {
if (!in_array($lang, ['de', 'en'])) {
$lang = 'de';
}
@@ -22,9 +24,52 @@ class WebsiteController extends Controller
}
//
public function index(Request $request){
public function index(Request $request)
{
return view('content.index');
}
public function about(Request $request){
return view('content.about');
}
public function contact(Request $request){
return view('content.contact');
}
public function imprint(Request $request){
return view('content.imprint');
}
public function news(Request $request){
return view('content.news');
}
public function services(Request $request){
return view('content.services');
}
return view('layout.app', ['page' => 'content.index']);
// c3gov-Stuffs
public function showRegister()
{
return view('login.register');
}
public function showLogin()
{
return view('login.login');
}
public function editTicker(){
if(Auth::check()){
return view('ticker.edit');
}
abort(404);
}
public function editNews(){
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
/**
* @method static \Illuminate\Database\Eloquent\Builder<static>|RegisterToken newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder<static>|RegisterToken newQuery()
* @method static \Illuminate\Database\Eloquent\Builder<static>|RegisterToken query()
* @mixin \Eloquent
*/
class RegisterToken extends Model
{
protected $table = 'register_tokens';
protected $primaryKey = 'token';
public $incrementing = false;
public $timestamps = false;
}

View File

@@ -4,6 +4,22 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model;
/**
* @property int $id
* @property string $language
* @property string $message
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder<static>|TickerMessages newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder<static>|TickerMessages newQuery()
* @method static \Illuminate\Database\Eloquent\Builder<static>|TickerMessages query()
* @method static \Illuminate\Database\Eloquent\Builder<static>|TickerMessages whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|TickerMessages whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|TickerMessages whereLanguage($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|TickerMessages whereMessage($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|TickerMessages whereUpdatedAt($value)
* @mixin \Eloquent
*/
class TickerMessages extends Model
{
//

View File

@@ -10,6 +10,31 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
/**
* @property int $id
* @property string $name
* @property string $email
* @property \Illuminate\Support\Carbon|null $email_verified_at
* @property string $password
* @property string|null $remember_token
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read int|null $notifications_count
* @method static \Database\Factories\UserFactory factory($count = null, $state = [])
* @method static \Illuminate\Database\Eloquent\Builder<static>|User newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder<static>|User newQuery()
* @method static \Illuminate\Database\Eloquent\Builder<static>|User query()
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereEmail($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereEmailVerifiedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|User wherePassword($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereRememberToken($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereUpdatedAt($value)
* @mixin \Eloquent
*/
#[Fillable(['name', 'email', 'password'])]
#[Hidden(['password', 'remember_token'])]
class User extends Authenticatable