Server IP : 66.29.132.124 / Your IP : 18.118.208.127 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/Location/Controllers/ |
Upload File : |
<?php namespace Modules\Location\Controllers; use App\Http\Controllers\Controller; use Modules\Location\Models\Location; use Illuminate\Http\Request; class LocationController extends Controller { public $location; public function __construct(Location $location) { $this->location = $location; } public function index(Request $request) { } public function detail(Request $request, $slug) { $row = $this->location::where('slug', $slug)->where("status", "publish")->first();; if (empty($row)) { return redirect('/'); } //Auth::user()->can('viewAny', Tour::class); $translation = $row->translateOrOrigin(app()->getLocale()); $data = [ 'row' => $row, 'translation' => $translation, 'seo_meta' => $row->getSeoMetaWithTranslation(app()->getLocale(), $translation), ]; $this->setActiveMenu($row); return view('Location::frontend.detail', $data); } public function searchForSelect2( Request $request ){ $search = $request->query('search'); $query = Location::select('bravo_locations.*', 'bravo_locations.name as title')->where("bravo_locations.status","publish"); if ($search) { $query->where('bravo_locations.name', 'like', '%' . $search . '%'); if( setting_item('site_enable_multi_lang') && setting_item('site_locale') != app()->getLocale() ){ $query->leftJoin('bravo_location_translations', function ($join) use ($search) { $join->on('bravo_locations.id', '=', 'bravo_location_translations.origin_id'); }); $query->orWhere(function($query) use ($search) { $query->where('bravo_location_translations.name', 'LIKE', '%' . $search . '%'); }); } } $res = $query->orderBy('name', 'asc')->limit(20)->get(); if(!empty($res) and count($res)){ $list_json = []; foreach ($res as $location) { $translate = $location->translateOrOrigin(app()->getLocale()); $list_json[] = [ 'id' => $location->id, 'title' => $translate->name, ]; } return $this->sendSuccess(['data'=>$list_json]); } return $this->sendError(__("Location not found")); } }