⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.1
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
work
/
modules
/
News
/
Controllers
/
View File Name :
NewsController.php
<?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) { $layout = setting_item("news_layout_search", 'normal'); if ($request->query('_layout')) { $layout = $request->query('_layout'); } $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('author', 'translation', 'category')->paginate((int)setting_item('news_posts_per_page', 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'), 'class' => 'active' ] ], "seo_meta" => News::getSeoMetaForPageList(), "languages"=>Language::getActive(false), "locale"=> app()->getLocale(), 'header_transparent'=>true, 'layout'=>$layout ]; 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->translate(); if (!empty($cat_id = $row->cat_id)) { $related = News::where('cat_id', $cat_id)->where("status","publish")->take(4)->whereNotIn('id', [$row->id])->with(['translation'])->get(); } $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 ?? "", 'related' => $related ?? false, '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); } }