HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.shooperm.com/Modules/Seller/Services/SupplierService.php
<?php

namespace Modules\Seller\Services;

use Illuminate\Support\Facades\Validator;
use \Modules\Seller\Repositories\SupplierRepository;
use App\Traits\ImageStore;

class SupplierService{
    use ImageStore;

    protected $supplierRepository;

    public function __construct(SupplierRepository $supplierRepository)
    {
        $this->supplierRepository = $supplierRepository;
    }

    public function getAll(){
        return $this->supplierRepository->getAll();
    }

    public function store($data){
        if(isset($data['photo'])){
            $imagename = ImageStore::saveImage($data['photo']);
            $newData = [
                'name' => $data['name'],
                'email' => $data['email'],
                'phone_number' => $data['phone_number'],
                'alternate_phone_number' => $data['alternate_phone_number'],
                'business_name' => $data['business_name'],
                'url' => $data['url'],
                'address' => $data['address'],
                'tax_number' => $data['tax_number'],
                'opening_balance' => $data['opening_balance'],
                'payterm' => $data['payterm'],
                'payterm_condition' => isset($data['payterm_condition'])?$data['payterm_condition']:null,
                'country' => $data['country'],
                'state' => $data['state'],
                'city' => $data['city'],
                'postcode' => $data['postcode'],
                'status' => $data['status'],
                'description' => $data['description'],
                
                'photo' => $imagename
            ];
        }else{
            $newData = [
                'name' => $data['name'],
                'email' => $data['email'],
                'phone_number' => $data['phone_number'],
                'alternate_phone_number' => $data['alternate_phone_number'],
                'business_name' => $data['business_name'],
                'url' => $data['url'],
                'address' => $data['address'],
                'tax_number' => $data['tax_number'],
                'opening_balance' => $data['opening_balance'],
                'payterm' => $data['payterm'],
                'payterm_condition' => isset($data['payterm_condition'])?$data['payterm_condition']:null,
                'country' => $data['country'],
                'state' => $data['state'],
                'city' => $data['city'],
                'postcode' => $data['postcode'],
                'status' => $data['status'],
                'description' => $data['description'],
                
                'photo' => null
            ];
        }
        return $this->supplierRepository->store($newData);
    }

    public function editByID($id){
        return $this->supplierRepository->editByID($id);
    }

    public function update ($data, $id){
        $supplier = $this->supplierRepository->editByID($id);

        if(isset($data['photo'])){
            ImageStore::deleteImage($supplier->photo);
            $imagename = ImageStore::saveImage($data['photo']);
            $newData = [
                'name' => $data['name'],
                'email' => $data['email'],
                'phone_number' => $data['phone_number'],
                'alternate_phone_number' => $data['alternate_phone_number'],
                'business_name' => $data['business_name'],
                'url' => $data['url'],
                'address' => $data['address'],
                'tax_number' => $data['tax_number'],
                'opening_balance' => $data['opening_balance'],
                'payterm' => $data['payterm'],
                'payterm_condition' => isset($data['payterm_condition'])?$data['payterm_condition']:$supplier->payterm_condition,
                'country' => $data['country'],
                'state' => $data['state'],
                'city' => $data['city'],
                'postcode' => $data['postcode'],
                'status' => $data['status'],
                'description' => $data['description'],
                
                'photo' => $imagename
            ];
        }else{
            $newData = [
                'name' => $data['name'],
                'email' => $data['email'],
                'phone_number' => $data['phone_number'],
                'alternate_phone_number' => $data['alternate_phone_number'],
                'business_name' => $data['business_name'],
                'url' => $data['url'],
                'address' => $data['address'],
                'tax_number' => $data['tax_number'],
                'opening_balance' => $data['opening_balance'],
                'payterm' => $data['payterm'],
                'payterm_condition' => isset($data['payterm_condition'])?$data['payterm_condition']:$supplier->payterm_condition,
                'country' => $data['country'],
                'state' => $data['state'],
                'city' => $data['city'],
                'postcode' => $data['postcode'],
                'status' => $data['status'],
                'description' => $data['description'],
                
                'photo' => $supplier->photo
            ];
        }

        return $this->supplierRepository->update($newData,$id);


    }
    public function deleteByID($id){
        $supplier = $this->supplierRepository->editByID($id);
        ImageStore::deleteImage($supplier->photo);
        return $this->supplierRepository->deleteByID($id);
    }

    public function statusChange($data){
        return $this->supplierRepository->statusChange($data);
    }


}