REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 6.22 KB
Close
/home/byroehnu/cnggold.com.ng/app/Http/Controllers/Frontend/PageController.php
Text
Base64
<?php namespace App\Http\Controllers\Frontend; use App\Http\Controllers\Controller; use App\Models\Brand; use App\Models\Category; use App\Models\Page; use App\Models\Post; use App\Models\ProductCategory; use App\Models\Setting; use App\Models\Tag; use App\Repositories\Frontend\BlogRepository; use App\Repositories\Frontend\PageRepository; use App\Repositories\Frontend\ProductRepository; use Artesaos\SEOTools\Facades\OpenGraph; use Artesaos\SEOTools\Facades\SEOMeta; use Artesaos\SEOTools\Facades\TwitterCard; use Illuminate\Http\Request; use Inertia\Inertia; class PageController extends Controller { public function home(PageRepository $repository) { $homePageId = Setting::pull('default_home_page'); if (! $homePageId || ! $page = Page::find($homePageId)) { abort(404); } $data = $repository->getPageData($page); $seo = $this->setSeoData($page); $data['default_home_page'] = $homePageId; $data = array_merge($data, $seo); return Inertia::render('Page/Page', $data); } public function show($slug, PageRepository $pageRepository, BlogRepository $blogRepository, ProductRepository $productRepository) { $page = Page::where('slug', $slug)->with('content')->first(); if (! $page) { abort(404); } return match ($page->rendered_page) { 'basic' => $this->renderedBasic($pageRepository, $page), 'blogs' => $this->renderedBlogs(request(), $blogRepository, $page), 'shop' => $this->renderedShop(request(), $productRepository, $page), 'cart' => $this->renderedCart($page), default => abort(404), }; } public function renderedBasic(PageRepository $repository, Page $page) { $data = $repository->getPageData($page); $data['page'] = $page; $seo = $this->setSeoData($page); $data = array_merge($data, $seo); return Inertia::render('Page/Page', $data); } public function renderedBlogs(Request $request, BlogRepository $repository, Page $page) { $data = [ 'categories' => Category::with('content')->withCount('posts')->get(), 'tags' => Tag::whereHas('posts')->pluck('name'), 'slug' => $page->slug, 'filter' => [ 'category' => $request->input('filter.category', ''), 'tag' => $request->input('filter.tag', ''), 'author' => $request->input('filter.author', ''), ], 'recent_post' => Post::where('status', '1')->with('content')->latest()->take(4)->get(), 'search' => $request->input('search', ''), 'is_show_blog_details_sidebar' => Setting::pull('is_show_blog_details_sidebar'), ]; $data['posts'] = $repository->paginateSearchResult($data['search'], $data['filter']); $seo = $this->setSeoData($page); $data = array_merge($data, $seo); return Inertia::render('Blogs/Index', $data); } public function renderedShop(Request $request, ProductRepository $repository, Page $page) { if (Setting::pull("is_enabled_ecommerce") === "0") { abort(404); } $data['search'] = $request->search ?? ''; $data['filter']['category'] = $request->filter['category'] ?? ''; $data['filter']['brand'] = $request->filter['brand'] ?? ''; $data['filter']['tag'] = $request->filter['tag'] ?? ''; $data['filter']['type'] = $request->filter['type'] ?? ''; $data['max_price'] = $repository->getMaxProductPrice(); $data['filter']['min_price'] = $request->filter['min_price'] ?? 0; $data['filter']['max_price'] = $request->filter['max_price'] ?? $data['max_price']; $data['filter']['sort'] = $request->filter['sort'] ?? 'latest'; $data['tags'] = Tag::whereHas('products')->pluck('name'); $data['categories'] = ProductCategory::withCount('products')->with('content')->get(); $data['brands'] = Brand::withCount('products')->with('content')->get(); $data['products'] = $repository->paginateSearchResult($data['search'], $data['filter']); $data['slug'] = $page->slug; $seo = $this->setSeoData($page); $data = array_merge($data, $seo); // return $data; return Inertia::render('Shop/Index', $data); } public function renderedCart(Page $page) { if (Setting::pull("is_enabled_ecommerce") === "0") { abort(404); } $data = $this->setSeoData($page); $data['slug'] = $page->slug; $data['shop_slug'] = Page::where('rendered_page', 'shop')->firstOrFail()->slug; return Inertia::render('Cart/Index', $data); } private function setSeoData(Page $page): array { $metaTitle = $page->content->meta_title ?? $page->content->title; $metaDescription = $page->content->meta_description; $metaTags = $page->content->meta_tags ?? ''; $metaImage = asset($page->meta_image); $siteName = Setting::pull('site_name'); $currentUrl = request()->url(); $tagline = Setting::pull('tagline'); SEOMeta::setTitle($metaTitle); SEOMeta::setDescription($metaDescription); SEOMeta::setCanonical($currentUrl); SEOMeta::addMeta('robots', 'index, follow'); SEOMeta::addMeta('viewport', 'width=device-width, initial-scale=1'); SEOMeta::addKeyword(explode(',', $metaTags)); OpenGraph::setTitle($metaTitle); OpenGraph::setDescription($metaDescription); OpenGraph::setUrl($currentUrl); OpenGraph::setSiteName($siteName); OpenGraph::addProperty('type', 'website'); OpenGraph::addImage($metaImage); TwitterCard::setTitle($metaTitle); TwitterCard::setSite('@tuedioncom'); TwitterCard::setDescription($metaDescription); TwitterCard::setType('summary_large_image'); TwitterCard::setImage($metaImage); return [ 'title' => $page->content->title, 'meta_title' => $metaTitle, 'meta_tags' => $metaTags, 'meta_description' => $metaDescription, 'meta_image' => $metaImage, 'site_name' => $siteName, 'tagline' => $tagline, ]; } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 19
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
BlogController.php
2.65 KB
lrw-r--r--
2025-06-13 11:19:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CaseStudyController.php
2.26 KB
lrw-r--r--
2025-05-08 11:48:26
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CheckoutController.php
3.24 KB
lrw-r--r--
2025-05-15 11:24:11
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ContactController.php
551 B
lrw-r--r--
2025-04-19 04:22:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
FormResponseController.php
1.72 KB
lrw-r--r--
2025-05-08 11:48:26
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PageController.php
6.22 KB
lrw-r--r--
2025-07-19 07:29:54
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PaymentController.php
4.00 KB
lrw-r--r--
2025-05-15 11:24:11
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PortfolioController.php
2.63 KB
lrw-r--r--
2025-05-08 11:48:26
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PricingPlanController.php
3.47 KB
lrw-r--r--
2025-05-08 11:48:26
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ProductController.php
2.36 KB
lrw-r--r--
2025-07-19 07:29:54
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ProfileController.php
1.63 KB
lrw-r--r--
2025-04-15 10:33:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ReviewController.php
2.00 KB
lrw-r--r--
2025-05-08 11:48:26
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
SearchController.php
1.44 KB
lrw-r--r--
2025-04-19 04:22:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ServiceController.php
2.13 KB
lrw-r--r--
2025-05-08 11:48:26
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
SettingsController.php
408 B
lrw-r--r--
2025-04-19 04:22:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
SubscribeController.php
532 B
lrw-r--r--
2025-04-08 04:12:56
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
TeamController.php
2.09 KB
lrw-r--r--
2025-04-30 16:51:31
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
TicketController.php
1.91 KB
lrw-r--r--
2025-04-13 07:02:31
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
UserController.php
2.96 KB
lrw-r--r--
2025-05-08 11:48: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).