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/Product/Services/BrandService.php
<?php

namespace Modules\Product\Services;

use Illuminate\Support\Facades\Validator;
use \Modules\Product\Repositories\BrandRepository;
use App\Traits\ImageStore;
use Modules\Product\Entities\Brand;

class BrandService
{
    use ImageStore;
    protected $brandRepository;

    public function __construct(BrandRepository  $brandRepository)
    {
        $this->brandRepository= $brandRepository;
    }

    public function save($data)
    {
        if (!empty($data['featured'])) {
            $data['featured'] = 1;
        }else {
            $data['featured'] = 0;
        }
        if(isset($data['logo'])){
            $imageName = ImageStore::saveImage($data['logo'],150,150);
            $data['logo'] = $imageName;
        }
        $data['slug'] = strtolower(str_replace(' ','-',$data['name']));
        return $this->brandRepository->create($data);
    }

    public function update($data,$id)
    {
        if (!empty($data['featured'])) {
            $data['featured'] = 1;
        }else {
            $data['featured'] = 0;
        }
        if (!empty($data['logo'])) {
            $brand = Brand::findOrFail($id);
            ImageStore::deleteImage($brand->logo);
            $imageName = ImageStore::saveImage($data['logo'],150,150);
            $data['logo'] = $imageName;
        }
        $data['slug'] = strtolower(str_replace(' ','-',$data['name']));
        return $this->brandRepository->update($data, $id);
    }

    public function getAll()
    {
        return $this->brandRepository->getAll();
    }
    public function getAllCount(){
        return $this->brandRepository->getAllCount();
    }
    public function getActiveAll()
    {
        return $this->brandRepository->getActiveAll();
    }


    public function getBySearch($data)
    {
        return $this->brandRepository->getBySearch($data);
    }

    public function getByPaginate($count)
    {
        return $this->brandRepository->getByPaginate($count);
    }

    public function getBySkipTake($skip, $take)
    {
        return $this->brandRepository->getBySkipTake($skip, $take);
    }

    public function getbrandbySort()
    {
        return $this->brandRepository->getbrandbySort();
    }

    public function deleteById($id)
    {
        $brand = Brand::findOrFail($id);
        if(count($brand->products) < 1){
            ImageStore::deleteImage($brand->logo);
        }
        return $this->brandRepository->delete($id);
    }

    public function findById($id)
    {
        return $this->brandRepository->find($id);
    }

    public function findBySlug($slug)
    {
        return $this->brandRepository->findBySlug($slug);
    }

    public function csvUploadBrand($data)
    {
        return $this->brandRepository->csvUploadBrand($data);
    }

    public function csvDownloadBrand()
    {
        return $this->brandRepository->csvDownloadBrand();
    }

    public function getBrandsByAjax($search){
        return $this->brandRepository->getBrandsByAjax($search);
    }
}