Neuigkeiten/News/Blog-Editing und Bugfixes

This commit is contained in:
2026-03-26 01:16:56 +01:00
parent b0d7b97c46
commit 351c73778a
10 changed files with 300 additions and 44 deletions

View File

@@ -3,13 +3,73 @@
namespace App\Http\Controllers;
use App\Models\Blog;
use Illuminate\Database\QueryException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Auth;
class BlogController extends Controller
{
public function addBlog(Request $request){
if(Auth::check()){
try {
$blog = new Blog();
$blog->published_by = Auth::user()->id;
$blog->language = $request->input('language');
$blog->title = $request->input('title');
$blog->body = $request->input('body');
$blog->published = "1";
$blog->created_at = now();
$blog->updated_at = now();
$blog->save();
return ['messageStatus' => 'success', 'errorMessage' => ''];
} catch (\Illuminate\Database\QueryException $e) {
return ['messageStatus' => 'danger', 'errorMessage' => $e->getMessage()];
}
}
abort(404);
}
public function editBlog(Request $request){
if(Auth::check()){
try {
$blog = Blog::find($request->input('id'));
$blog->title = $request->input('title');
$blog->body = $request->input('body');
$blog->language = $request->input('language');
$blog->published = $request->input('published');
$blog->published_by = Auth::user()->id;
$blog->save();
return ['messageStatus' => 'success', 'errorMessage' => ''];
} catch (\Illuminate\Database\QueryException $e) {
return ['messageStatus' => 'failure', 'errorMessage' => $e->getMessage()];
}
}
abort(404);
}
public function deleteBlog(Request $request){
if(Auth::check()){
try {
$blog = Blog::find($request->input('id'));
if ($blog) {
$blog->delete();
}
return ['messageStatus' => 'success', 'errorMessage' => ''];
} catch(\Exception $e){
return ['messageStatus' => 'failure', 'errorMessage' => $e->getMessage()];
}
}
abort(404);
}
public static function blogPaginated(){
return Blog::where('language', App::getLocale())->where('published', 1)->orderBy('id', 'desc')->paginate(5);
}
public static function blogPaginatedEdit(){
return Blog::orderBy('id', 'desc')->paginate(5);
}
}

View File

@@ -42,7 +42,7 @@ class WebsiteController extends Controller
}
public function news(Request $request){
return view('content.news', ['blogs' => BlogController::blogPaginated()]);
return view('content.news', ['blogs' => BlogController::blogPaginated(App::getLocale(), true)]);
}
public function services(Request $request){
@@ -74,6 +74,11 @@ class WebsiteController extends Controller
}
public function editNews(){
if(Auth::check()){
return response()
->view('blog.edit', ['blogs' => BlogController::blogPaginatedEdit()])
->header('Cache-Control', 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
}
abort(404);
}
}

View File

@@ -9,5 +9,8 @@ class Blog extends Model
//
protected $table = 'blogs';
public function byUser(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{
return $this->belongsTo('App\Models\User', 'published_by', 'id');
}
}