REDROOM
PHP 8.3.30
Path:
Logout
Edit File
Size: 6.83 KB
Close
/home/getspomw/royalsquad.us/app/Http/Controllers/BlogController.php
Text
Base64
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use App\Models\Blog; use App\Models\BlogCategory; use Carbon\Carbon; use Illuminate\Http\Request; class BlogController extends Controller { public function index() { $blogs = Blog::orderBy('created_at', 'desc')->get(); return view('admin.blog.list', compact('blogs')); } // create new blogs public function create() { $blog_categories = BlogCategory::all(); return view('admin.blog.create', compact('blog_categories')); } // store blogs public function store(Request $request) { $request->validate([ 'category_id' => 'required', 'title' => 'required|max:255', 'description' => 'required', 'meta_description' => 'required', 'meta_keywords' => 'required', 'meta_title' => 'required', 'banner_alt' => 'required', 'slug' => 'required|unique:blogs,slug', 'banner' => 'required|image|mimes:jpeg,png,jpg', 'meta_img' => 'required|image|mimes:jpeg,png,jpg', ]); $blog = new Blog; if ($request->hasFile('banner')) { $file = $request->file('banner'); $filename = time() . '_banner.' . $file->getClientOriginalExtension(); $path = public_path('uploads'); $file->move($path, $filename); $blog->banner = 'uploads/' . $filename; } elseif ($request->has('banner') && isset($blog->banner)) { $blog->banner = $blog->banner; } if ($request->hasFile('meta_img')) { $file = $request->file('meta_img'); $filename = time() . '_meta.' . $file->getClientOriginalExtension(); $path = public_path('uploads'); $file->move($path, $filename); $blog->meta_img = 'uploads/' . $filename; } elseif ($request->has('meta_img') && isset($blog->meta_img)) { $blog->meta_img = $blog->meta_img; } $slug = preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $request->slug)); $blog->category_id = $request->category_id; $blog->title = $request->title; $blog->slug = strtolower(trim($slug, '-')); $blog->short_description = $request->short_description; $blog->description = $request->description; $blog->banner_alt = $request->banner_alt; $blog->meta_title = $request->meta_title; $blog->meta_description = $request->meta_description; $blog->meta_keywords = $request->meta_keywords; $blog->save(); // ===== Update sitemap.xml ===== $sitemapPath = base_path('sitemap.xml'); if (! file_exists($sitemapPath)) { $sitemap = '<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> </urlset>'; file_put_contents($sitemapPath, $sitemap); } $xml = simplexml_load_file($sitemapPath); $url = $xml->addChild('url'); $url->addChild('loc', url('blogs/' . $blog->slug)); $url->addChild('lastmod', Carbon::now()->toAtomString()); $url->addChild('priority', '0.64'); $xml->asXML($sitemapPath); return redirect()->route('admin.blog')->with('success', 'Blog post has been created successfully'); } // edit blogs in admin public function edit($id) { $blog = Blog::find($id); $blog_categories = BlogCategory::all(); return view('admin.blog.edit', compact('blog', 'blog_categories')); } public function destroy($id) { $blog = Blog::find($id); if ($blog) { $blog->delete(); $sitemapPath = base_path('sitemap.xml'); if (file_exists($sitemapPath)) { $xml = simplexml_load_file($sitemapPath); foreach ($xml->url as $url) { if ((string) $url->loc === url('blogs/' . $blog->slug)) { $dom = dom_import_simplexml($url); $dom->parentNode->removeChild($dom); break; } } $xml->asXML($sitemapPath); } return redirect()->route('admin.blog')->with('success', 'Blog post has been deleted successfully'); } return redirect()->route('admin.blog')->with('error', 'Blog post not found'); } // update blogs in admin public function update(Request $request, $id) { $request->validate([ 'category_id' => 'required', 'title' => 'required|max:255', ]); $blog = Blog::find($id); $oldSlug = $blog->slug; $slug = preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $request->slug)); $newSlug = strtolower(trim($slug, '-')); if ($request->hasFile('banner')) { $file = $request->file('banner'); $filename = time() . '_banner.' . $file->getClientOriginalExtension(); $path = public_path('uploads'); $file->move($path, $filename); $blog->banner = 'uploads/' . $filename; } if ($request->hasFile('meta_img')) { $file = $request->file('meta_img'); $filename = time() . '_meta.' . $file->getClientOriginalExtension(); $path = public_path('uploads'); $file->move($path, $filename); $blog->meta_img = 'uploads/' . $filename; } $blog->category_id = $request->category_id; $blog->title = $request->title; $blog->slug = strtolower(trim($slug, '-')); $blog->short_description = $request->short_description; $blog->description = $request->description; $blog->banner_alt = $request->banner_alt; $blog->meta_title = $request->meta_title; $blog->meta_description = $request->meta_description; $blog->meta_keywords = $request->meta_keywords; $blog->save(); $sitemapPath = base_path('sitemap.xml'); if (file_exists($sitemapPath)) { $xml = simplexml_load_file($sitemapPath); foreach ($xml->url as $url) { if ((string) $url->loc === url('blogs/' . $oldSlug)) { $url->loc = url('blogs/' . $newSlug); $url->lastmod = Carbon::now()->toAtomString(); break; } } $xml->asXML($sitemapPath); } return redirect()->route('admin.blog')->with('success', 'Blog post has been updated successfully'); } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 12
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
AccessControlController.php
2.85 KB
lrw-rw-rw-
2025-09-18 05:50:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
AdminController.php
315 B
lrw-rw-rw-
2025-09-17 06:52:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
BlogCategoryController.php
2.74 KB
lrw-rw-rw-
2025-09-17 06:52:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
BlogController.php
6.83 KB
lrw-rw-rw-
2025-09-17 06:52:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ContactController.php
4.65 KB
lrw-rw-rw-
2026-02-09 06:01:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Controller.php
77 B
lrw-rw-rw-
2025-09-17 06:52:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CustomPasswordResetController.php
2.80 KB
lrw-rw-rw-
2025-09-18 05:51:38
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
error_log
616 B
lrw-r--r--
2026-04-19 15:59:24
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
LoginController.php
3.58 KB
lrw-rw-rw-
2025-09-18 05:56:23
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
RegisterController.php
1.48 KB
lrw-rw-rw-
2025-09-17 06:52:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
SettingController.php
8.60 KB
lrw-rw-rw-
2025-09-18 05:56:47
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ViewController.php
8.22 KB
lrw-rw-rw-
2026-02-09 07:03:26
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).