Server IP : 66.29.132.124 / Your IP : 3.140.188.195 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/Vendor/Blocks/ |
Upload File : |
<?php namespace Modules\Vendor\Blocks; use App\User; use Modules\Template\Blocks\BaseBlock; use Modules\Tour\Models\Tour; use Modules\Tour\Models\TourCategory; use Modules\Location\Models\Location; class ListVendor extends BaseBlock { function __construct() { $this->setOptions([ 'settings' => [ [ 'id' => 'title', 'type' => 'input', 'inputType' => 'text', 'label' => __('Title') ], [ 'id' => 'desc', 'type' => 'input', 'inputType' => 'text', 'label' => __('Desc') ], [ 'id' => 'number', 'type' => 'input', 'inputType' => 'number', 'label' => __('Number Item') ], [ 'id' => 'order', 'type' => 'radios', 'label' => __('Order'), 'values' => [ [ 'value' => 'id', 'name' => __("Date Create") ], ] ], [ 'id' => 'order_by', 'type' => 'radios', 'label' => __('Order By'), 'values' => [ [ 'value' => 'asc', 'name' => __("ASC") ], [ 'value' => 'desc', 'name' => __("DESC") ], ] ], [ 'id' => 'custom_ids', 'type' => 'select2', 'label' => __('List by IDs'), 'select2' => [ 'ajax' => [ 'url' => route('user.admin.getForSelect2',['user_type'=>'vendor']), 'dataType' => 'json' ], 'width' => '100%', 'multiple' => "true", 'placeholder' => __('-- Select --') ], 'pre_selected' => route('user.admin.getForSelect2', [ 'pre_selected' => 1 ]) ], ], 'category'=>__("Other Block") ]); } public function getName() { return __('List Vendor'); } public function content($model = []) { $list = $this->query($model); $data = [ 'rows' => $list, 'title' => $model['title'] ?? "", 'desc' => $model['desc'] ?? "", ]; return view('Vendor::frontend.blocks.list-vendor.index', $data); } public function contentAPI($model = []){ $rows = $this->query($model); $model['data']= $rows; return $model; } public function query($model){ $list_user = User::query(); if(empty($model['order'])) $model['order'] = "id"; if(empty($model['order_by'])) $model['order_by'] = "desc"; if(empty($model['number'])) $model['number'] = 5; if(!empty( $model['custom_ids'] )){ $list_user->whereIn("id",$model['custom_ids']); } $list_user->role("vendor"); $list_user->where("status", "publish"); $list_user->groupBy("id"); $list_user->orderBy($model['order'], $model['order_by']); return $list_user->limit($model['number'])->get(); } }