PHP 8.2.30
Preview: PortfolioController.php Size: 2.63 KB
/home/byroehnu/cnggold.com.ng/app/Http/Controllers/Frontend/PortfolioController.php

<?php

namespace App\Http\Controllers\Frontend;

use App\Http\Controllers\Controller;
use App\Models\Portfolio;
use App\Models\PortfolioContent;
use App\Models\Setting;
use App\Repositories\Admin\PortfolioRepository;
use Artesaos\SEOTools\Facades\OpenGraph;
use Artesaos\SEOTools\Facades\SEOMeta;
use Artesaos\SEOTools\Facades\TwitterCard;
use Inertia\Inertia;
use Inertia\Response;

class PortfolioController extends Controller
{
    /**
     * Portfolio show
     */
    public function show($slug, PortfolioRepository $repository): Response
    {
        if (Setting::pull("is_enabled_portfolio") === "0") {
            abort(404);
        }

        $data['portfolio'] = Portfolio::where('slug', $slug)->first();

        if ($data['portfolio']) {
            $portfolioContent = PortfolioContent::where('portfolio_id', $data['portfolio']->id)->first();

            $current_page_url = request()->url();
            $meta_title = $portfolioContent ? $portfolioContent->meta_title : $portfolioContent->title;
            $meta_description = $portfolioContent ? $portfolioContent->meta_description : '';
            $meta_tags = $portfolioContent ? $portfolioContent->meta_tags : '';
            $site_name = Setting::pull('site_name');
            $meta_image = $data['portfolio']->meta_image_url;

            SEOMeta::setTitle($meta_title);
            SEOMeta::setDescription($meta_description);
            SEOMeta::setCanonical($current_page_url);
            SEOMeta::addMeta('robots', 'index, follow');
            SEOMeta::addKeyword(explode(',', $meta_tags));

            OpenGraph::setTitle($meta_title);
            OpenGraph::setDescription($meta_description);
            OpenGraph::setUrl($current_page_url);
            OpenGraph::setSiteName($site_name);
            OpenGraph::addProperty('type', 'website');

            TwitterCard::setTitle($meta_title);
            TwitterCard::setSite('@bione');
            TwitterCard::setDescription($meta_description);
            TwitterCard::setType('summary_large_image');
            TwitterCard::setImage($meta_image);
            SEOMeta::addMeta('viewport', 'width=device-width, initial-scale=1');

            $data['site_name'] = $site_name;
            $data['nextPortfolio'] = Portfolio::where('id', '>', $data['portfolio']->id)
                ->orderBy('id', 'asc')
                ->first();

            $data['prevPortfolio'] = Portfolio::where('id', '<', $data['portfolio']->id)
                ->orderBy('id', 'asc')
                ->first();

            $data = $repository->getPortfolioData($data['portfolio']);

            return Inertia::render('Page/Page', $data);
        }
        abort(404);
    }
}

Directory Contents

Dirs: 0 × Files: 19

Name Size Perms Modified Actions
2.65 KB lrw-r--r-- 2025-06-13 11:19:53
Edit Download
2.26 KB lrw-r--r-- 2025-05-08 11:48:26
Edit Download
3.24 KB lrw-r--r-- 2025-05-15 11:24:11
Edit Download
551 B lrw-r--r-- 2025-04-19 04:22:18
Edit Download
1.72 KB lrw-r--r-- 2025-05-08 11:48:26
Edit Download
6.22 KB lrw-r--r-- 2025-07-19 07:29:54
Edit Download
4.00 KB lrw-r--r-- 2025-05-15 11:24:11
Edit Download
2.63 KB lrw-r--r-- 2025-05-08 11:48:26
Edit Download
3.47 KB lrw-r--r-- 2025-05-08 11:48:26
Edit Download
2.36 KB lrw-r--r-- 2025-07-19 07:29:54
Edit Download
1.63 KB lrw-r--r-- 2025-04-15 10:33:57
Edit Download
2.00 KB lrw-r--r-- 2025-05-08 11:48:26
Edit Download
1.44 KB lrw-r--r-- 2025-04-19 04:22:18
Edit Download
2.13 KB lrw-r--r-- 2025-05-08 11:48:26
Edit Download
408 B lrw-r--r-- 2025-04-19 04:22:18
Edit Download
532 B lrw-r--r-- 2025-04-08 04:12:56
Edit Download
2.09 KB lrw-r--r-- 2025-04-30 16:51:31
Edit Download
1.91 KB lrw-r--r-- 2025-04-13 07:02:31
Edit Download
2.96 KB lrw-r--r-- 2025-05-08 11:48:26
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).