mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-07-15 02:07:56 -04:00
74 lines
2.8 KiB
PHP
74 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace Modules\MediaManagerPlus\Repositories;
|
|
|
|
use App\Models\MediaManager;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Modules\MediaManagerPlus\Traits\MediaStore;
|
|
|
|
class MediaManagerRepository
|
|
{
|
|
use MediaStore;
|
|
|
|
public function getFiles($data){
|
|
$query = MediaManager::query();
|
|
$seller_id = getParentSellerId();
|
|
$query = $query->where('user_id', $seller_id);
|
|
if(isset($data['search']) && !empty($data['search'])){
|
|
$slugs = explode(' ', $data['search']);
|
|
if(isset($data['sort']) && $data['sort'] != 'newest'){
|
|
if($data['sort'] == 'oldest'){
|
|
$query = $query->orderBy('id','asc')->where(function($q) use($slugs){
|
|
foreach($slugs as $slug){
|
|
$q = $q->orWhere('orginal_name', 'LIKE', "%{$slug}%");
|
|
}
|
|
return $q;
|
|
});
|
|
}elseif($data['sort'] == 'smallest'){
|
|
$query = $query->orderBy('size')->where(function($q) use($slugs){
|
|
foreach($slugs as $slug){
|
|
$q = $q->orWhere('orginal_name', 'LIKE', "%{$slug}%");
|
|
}
|
|
return $q;
|
|
});
|
|
}
|
|
elseif($data['sort'] == 'bigest'){
|
|
$query = $query->orderByDesc('size')->where(function($q) use($slugs){
|
|
foreach($slugs as $slug){
|
|
$q = $q->orWhere('orginal_name', 'LIKE', "%{$slug}%");
|
|
}
|
|
return $q;
|
|
});
|
|
}
|
|
}
|
|
$query = $query->orderByDesc('id')->where(function($q) use($slugs){
|
|
foreach($slugs as $slug){
|
|
$q = $q->orWhere('orginal_name', 'LIKE', "%{$slug}%");
|
|
}
|
|
return $q;
|
|
});
|
|
}else{
|
|
if(isset($data['sort']) && $data['sort'] != 'newest'){
|
|
if($data['sort'] == 'oldest'){
|
|
$query = $query->orderBy('id');
|
|
}elseif($data['sort'] == 'smallest'){
|
|
$query = $query->orderBy('size');
|
|
}
|
|
elseif($data['sort'] == 'bigest'){
|
|
$query = $query->orderByDesc('size');
|
|
}
|
|
}
|
|
|
|
$query = $query->orderByDesc('id');
|
|
}
|
|
return $query->paginate(18);
|
|
}
|
|
|
|
public function store($request){
|
|
$file_info = $this->mediaUpload($request->file);
|
|
$file_info['user_id'] = getParentSellerId();
|
|
$data = DB::table('media_managers')->insert($file_info);
|
|
return $data;
|
|
}
|
|
}
|