diff --git a/app/Http/Controllers/BlogController.php b/app/Http/Controllers/BlogController.php new file mode 100644 index 0000000..3bb4dd5 --- /dev/null +++ b/app/Http/Controllers/BlogController.php @@ -0,0 +1,15 @@ +where('published', 1)->orderBy('id', 'desc')->paginate(5); + } +} diff --git a/app/Http/Controllers/TickerController.php b/app/Http/Controllers/TickerController.php index e3a1f34..259b67e 100644 --- a/app/Http/Controllers/TickerController.php +++ b/app/Http/Controllers/TickerController.php @@ -11,6 +11,16 @@ class TickerController extends Controller { public function deleteTicker(Request $request){ if(Auth::check()){ + $toDelete = $request->input('delete')[0]; + try{ + foreach($toDelete as $item){ + $ticker = TickerMessages::find($item); + $ticker->delete(); + } + return ["messageStatus" => "success", "errorMessage" => ""]; + } catch(\Exception $e){ + return ["messageStatus" => "failure", "errorMessage" => $e->getMessage()]; + } } abort(404); @@ -18,7 +28,18 @@ class TickerController extends Controller public function addTicker(Request $request){ if(Auth::check()){ + $toAdd = $request->input('insert'); + $lang = $request->input('lang'); + try { + $ticker = new TickerMessages(); + $ticker->message = $toAdd; + $ticker->language = $lang; + $ticker->save(); + return ["messageStatus" => "success", "errorMessage" => ""]; + } catch(\Exception $e){ + return ["messageStatus" => "failure", "errorMessage" => $e->getMessage()]; + } } abort(404); } @@ -26,9 +47,13 @@ class TickerController extends Controller public static function getTicker(){ $t = ""; foreach(TickerMessages::getMessages(App::getLocale())->get() as $message){ - $t .= " -- " . $message->message; + $t .= " -- $message->message"; } - $t .= " -- "; + + if(!empty($t)){ + $t .= " -- "; + } + return $t; } } diff --git a/app/Http/Controllers/WebsiteController.php b/app/Http/Controllers/WebsiteController.php index eb70232..5529d31 100644 --- a/app/Http/Controllers/WebsiteController.php +++ b/app/Http/Controllers/WebsiteController.php @@ -42,7 +42,7 @@ class WebsiteController extends Controller } public function news(Request $request){ - return view('content.news'); + return view('content.news', ['blogs' => BlogController::blogPaginated()]); } public function services(Request $request){ diff --git a/app/Models/Blog.php b/app/Models/Blog.php new file mode 100644 index 0000000..cd00ee9 --- /dev/null +++ b/app/Models/Blog.php @@ -0,0 +1,13 @@ +id(); + $table->unsignedBigInteger('published_by'); + $table->foreign('published_by')->references('id')->on('users'); + $table->string('language'); + $table->string('title'); + $table->text('body'); + $table->boolean('published')->default(false); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('blogs'); + } +}; diff --git a/public/css/style.css b/public/css/style.css index 4f82cf7..28caec9 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -2,6 +2,7 @@ html, body { margin: 0; width: 100vw; height: 100vh; + background-color: #4b0600; } .ticker { @@ -61,23 +62,56 @@ html, body { .main { - float: left; + display: flex; + flex-direction: row; margin: 0; - height: 77vh; + min-height: 77vh; width: 100vw; } .navbar { - float: left; background-color: #ccc; - height: 77vh; width: 20vw; } .content { - float: left; background-color: #dcccaa; - height: 77vh; - width: 79vw; + width: 80vw; padding-left: 1vw; } + +.eingabemaske { + border: 5px inset; + font-size: 1.2em; +} + +.eingabemaske table, th, td { + border: 4px outset; +} + +.eingabemaske input { + padding: 0.5em; +} + +.eingabemaske button { + padding: 1em; + border: 4px outset; + font-size: 1.2em; +} + +#fehlermeldung { + border: 4px outset; + width: 50vw; +} + +nav { + font-size: 1.2em; +} + +.w-5 { + width: 5vw; +} + +.h-5 { + height: 5vh; +} diff --git a/public/css/ticker/ticker.css b/public/css/ticker/ticker.css new file mode 100644 index 0000000..87eeb92 --- /dev/null +++ b/public/css/ticker/ticker.css @@ -0,0 +1,10 @@ +.split-left { + float: left; + width: 21%; +} +.split-right { + float: left; + width: 50%; + border-left: 1px dotted #000; + padding-left: 30px; +} diff --git a/public/js/intern.js b/public/js/intern.js new file mode 100644 index 0000000..99755c2 --- /dev/null +++ b/public/js/intern.js @@ -0,0 +1,12 @@ +function setzeFehlermeldung(alertType, message){ + let f = $("#fehlermeldung"); + switch(alertType){ + case "success": + f.css("border-color", "#0033cc"); + break; + case "failure": + f.css("border-color", "#cc3300"); + break; + } + f.html(message); +} diff --git a/public/js/login/login.js b/public/js/login/login.js index 4046b5b..52d90f1 100644 --- a/public/js/login/login.js +++ b/public/js/login/login.js @@ -1,12 +1,3 @@ -function setzeFehlermeldung(alertType, message){ - let f = $("#fehlermeldung"); - - f.removeClass('alert-success').removeClass('alert-danger').removeClass('alert-primary'); - f.addClass('alert-' + alertType); - f.html(message); -} - - function login(){ let data = {}; data.mail = $("#mail").val(); @@ -24,15 +15,15 @@ function login(){ location.reload(); break; case "failure": - setzeFehlermeldung("danger", "Es ist ein Fehler geschehen: " + d.errorMessage); + setzeFehlermeldung("failure", "Es ist ein Fehler geschehen: " + d.errorMessage); break; case "not permitted": - setzeFehlermeldung("warning", "Sie sind nicht berechtigt diese Funktion zu nutzen."); + setzeFehlermeldung("failure", "Sie sind nicht berechtigt diese Funktion zu nutzen."); break; } }, error: function(d, status, errorThrown) { - setzeFehlermeldung("danger", "Es ist ein Fehler geschehen: " + errorThrown); + setzeFehlermeldung("failure", "Es ist ein Fehler geschehen: " + errorThrown); } }); diff --git a/public/js/login/registrieren.js b/public/js/login/registrieren.js index 7fdf34c..8650724 100644 --- a/public/js/login/registrieren.js +++ b/public/js/login/registrieren.js @@ -1,12 +1,3 @@ -function setzeFehlermeldung(alertType, message){ - let f = $("#fehlermeldung"); - - f.removeClass('alert-success').removeClass('alert-danger').removeClass('alert-primary'); - f.addClass('alert-' + alertType); - f.html(message); -} - - function abschicken(){ let data = {}; data.mail = $("#mail").val(); @@ -16,7 +7,7 @@ function abschicken(){ if(data.password !== $("#password_repeat").val()) { - setzeFehlermeldung("danger", "Ihr Kennwort stimmt nicht überein."); + setzeFehlermeldung("failure", "Ihr Kennwort stimmt nicht überein."); for(let i=0; i{{ __('app.nav.news') }} + @foreach($blogs as $blog) +

{{ $blog->title }}

+ {{ $blog->created_at }}
+

{!! $blog->body !!}

+
+
+
+ @endforeach +

+ {{ $blogs->links() }} +

@endsection diff --git a/resources/views/layout/app.blade.php b/resources/views/layout/app.blade.php index 01c0e7e..045a776 100644 --- a/resources/views/layout/app.blade.php +++ b/resources/views/layout/app.blade.php @@ -9,22 +9,20 @@ @yield('scripts') -
-
-
- {{\App\Http\Controllers\TickerController::getTicker()}} -
+ +
+ {{\App\Http\Controllers\TickerController::getTicker()}}
-
-
+
+ -