Server IP : 66.29.132.124 / Your IP : 18.219.119.163 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/book24.ng/modules/News/Controllers/ |
Upload File : |
<?php namespace Modules\News\Controllers; use Illuminate\Http\Request; use Modules\FrontendController; use Modules\Language\Models\Language; use Modules\News\Models\News; use Modules\News\Models\NewsCategory; use Modules\News\Models\NewsTranslation; use Modules\News\Models\Tag; class NewsController extends FrontendController { public function __construct() { parent::__construct(); } public function index(Request $request) { $model_News = News::query()->select("core_news.*"); $model_News->where("core_news.status", "publish")->orderBy('core_news.id', 'desc'); if (!empty($search = $request->input("s"))) { $model_News->where(function($query) use ($search) { $query->where('core_news.title', 'LIKE', '%' . $search . '%'); $query->orWhere('core_news.content', 'LIKE', '%' . $search . '%'); }); if( setting_item('site_enable_multi_lang') && setting_item('site_locale') != app_get_locale() ){ $model_News->leftJoin('core_news_translations', function ($join) use ($search) { $join->on('core_news.id', '=', 'core_news_translations.origin_id'); }); $model_News->orWhere(function($query) use ($search) { $query->where('core_news_translations.title', 'LIKE', '%' . $search . '%'); $query->orWhere('core_news_translations.content', 'LIKE', '%' . $search . '%'); }); } $title_page = __('Search results : ":s"', ["s" => $search]); } $data = [ 'rows' => $model_News->with("getAuthor")->with('translations')->with("getCategory")->paginate(5), 'model_category' => NewsCategory::query()->where("status", "publish"), 'model_tag' => Tag::query(), 'model_news' => News::query()->where("status", "publish"), 'custom_title_page' => $title_page ?? "", 'breadcrumbs' => [ [ 'name' => __('News'), 'url' => route('news.index'), 'class' => 'active' ], ], "seo_meta" => News::getSeoMetaForPageList(), "languages"=>Language::getActive(false), "locale"=> app()->getLocale() ]; return view('News::frontend.index', $data); } public function detail(Request $request, $slug) { $row = News::where('slug', $slug)->where('status','publish')->first(); if (empty($row)) { return redirect('/'); } $translation = $row->translateOrOrigin(app()->getLocale()); $data = [ 'row' => $row, 'translation' => $translation, 'model_category' => NewsCategory::where("status", "publish"), 'model_tag' => Tag::query(), 'model_news' => News::where("status", "publish"), 'custom_title_page' => $title_page ?? "", 'breadcrumbs' => [ [ 'name' => __('News'), 'url' => route('news.index') ], [ 'name' => $translation->title, 'class' => 'active' ], ], 'seo_meta' => $row->getSeoMetaWithTranslation(app()->getLocale(),$translation), ]; $this->setActiveMenu($row); return view('News::frontend.detail', $data); } }