HEX
Server: Apache/2.4.46 (Ubuntu)
System: Linux localhost 5.11.0-49-generic #55-Ubuntu SMP Wed Jan 12 17:36:34 UTC 2022 x86_64
User: root (0)
PHP: 7.4.16
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/sarvodayahospital/app/Http/Controllers/BlogController.php
<?php

namespace App\Http\Controllers;

use App\Models\Blog;
use App\Models\CMSPage;
use App\Models\HindiBlog;
use App\Models\Speciality;
use Artesaos\SEOTools\Facades\OpenGraph;
use Artesaos\SEOTools\Facades\SEOMeta;

class BlogController extends Controller
{
    public function index()
    {
        $category = request('speciality');
        $q = request('q');
        $seo = [];

        $blogs = Blog::query()
            ->when($category, function ($query) use ($category) {
                $query->whereHas('specialities', function ($speciality) use ($category) {
                    $speciality->where('Slug', $category);
                });
            })
            ->when($q, function ($query) use ($q) {
                $query->whereHas('specialities', function ($speciality) use ($q) {
                    $speciality->where('SpecialityName', 'like', '%' .$q. '%');
                })->orWhere('Title', 'like', '%' .$q. '%');
            })
            ->orderBy('BlogCreatedDate', 'DESC')
            ->paginate(21);

        $specialities = Speciality::query()
            ->whereHas('blogs')
            ->select('id', 'SpecialityName', 'Slug')
            ->get();

        $cmsPage = CMSPage::query()
            ->where('Slug', request()->path())
            ->firstOrFail();

        if ($cmsPage) {
            $seo = $cmsPage->seoComponent()->first();
        }

        return view('pages.blog', compact('blogs', 'specialities', 'seo'));
    }

    public function show($slug)
    {
        $seo = [];

        if ($slug == 'hi') {
            $blogs = HindiBlog::query()
                ->orderBy('BlogCreatedDate', 'DESC')
                ->paginate(21);

            $specialities = Speciality::query()
                ->whereHas('blogs')
                ->select('id', 'SpecialityName', 'Slug')
                ->get();

            $cmsPage = CMSPage::query()
                ->where('Slug', 'blog')
                ->firstOrFail();

            if ($cmsPage) {
                $seo = $cmsPage->seoComponent()->first();
            }

            return view('pages.blog', compact('blogs', 'specialities', 'seo'));
        }

        if ($slug == 'en') {
            return redirect()->route('blogs');
        }

        $blog = Blog::findBySlug($slug);
        $blogsByDoctor = Blog::getDoctorBlog($blog->Doctor, $slug);
        $recentBlogs = Blog::getRecentBlog(10);

        if ($blog) {
            $seo = $blog->seoComponent()->first();
        }

        return view('pages.single-blog', compact('blog', 'blogsByDoctor', 'recentBlogs', 'seo'));
    }

    public function hindiBlog($lang, $slug) {
        $blog = HindiBlog::findBySlug($slug);

        $blogsByDoctor = HindiBlog::getDoctorBlog($blog->Doctor, $slug);

        $recentBlogs = HindiBlog::getRecentBlog(10);

        if ($blog) {
            $seo = $blog->seoComponent()->first();
        }

        return view('pages.single-blog', compact('blog', 'blogsByDoctor', 'recentBlogs', 'seo'));
    }
}