⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
id
/
dalily.dev-unit.com
/
app
/
Models
/
Scopes
/
View File Name :
LocalizedScope.php
<?php /* * LaraClassifier - Classified Ads Web Application * Copyright (c) BeDigit. All Rights Reserved * * Website: https://laraclassifier.com * Author: Mayeul Akpovi (BeDigit - https://bedigit.com) * * LICENSE * ------- * This software is provided under a license agreement and may only be used or copied * in accordance with its terms, including the inclusion of the above copyright notice. * As this software is sold exclusively on CodeCanyon, * please review the full license details here: https://codecanyon.net/licenses/standard */ namespace App\Models\Scopes; use App\Models\Permission; use App\Models\Post; use Illuminate\Database\Eloquent\Scope; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Facades\Schema; class LocalizedScope implements Scope { /** * Apply the scope to a given Eloquent query builder. * * @param \Illuminate\Database\Eloquent\Builder $builder * @param \Illuminate\Database\Eloquent\Model $model * @return \Illuminate\Database\Eloquent\Builder */ public function apply(Builder $builder, Model $model): Builder { if (empty(config('country.code'))) { return $builder; } // Apply this scope when the Domain Mapping plugin is installed. // And when the session is NOT shared. // And, apply it from the Admin panel only. if (config('plugins.domainmapping.installed')) { if (!config('settings.domainmapping.share_session')) { if (request()->segment(1) == urlGen()->adminUri()) { // 'countries' table filter if ($model->getTable() == 'countries') { return $builder->where('code', '=', config('country.code')); } // Tables with 'country_code' column filter if (Schema::hasColumn($model->getTable(), 'country_code')) { if ($model->getTable() == 'users') { if (Permission::checkDefaultPermissions()) { $builder->permission(Permission::getStaffPermissions()) ->orWhere('country_code', '=', config('country.code')); } } else { $builder->where('country_code', '=', config('country.code')); } return $builder; } // Tables with 'post' relation filter if (in_array($model->getTable(), ['pictures', 'reviews'])) { return $builder->has('post'); } // Tables with 'payable' relation filter if ($model->getTable() == 'payments') { return $builder->hasMorph('payable', Post::class); } } } } return $builder; } }