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/Shipping/Repositories/PickupLocationRepository.php
<?php

namespace Modules\Shipping\Repositories;


use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\DB;
use Modules\Shipping\Entities\Carrier;
use Modules\Shipping\Entities\PickupLocation;
use Modules\Shipping\Entities\SellerWiseCarrierConfig;
use Modules\ShipRocket\Repositories\ShipRocketRepository;

class PickupLocationRepository
{
    public function all()
    {
        $user_id = getParentSellerId();
        return PickupLocation::with(['country','state','city'])->where('created_by',$user_id)->get();
    }

    public function getActiveAll()
    {
        $user_id = getParentSellerId();
        return PickupLocation::with(['country','state','city'])->where('created_by',$user_id)->where('status',1)->get();
    }

    public function create(array $data)
    {
        $user_id = getParentSellerId();
        $location =  PickupLocation::create([
            'pickup_location'=>$data['pickup_location'],
            'name'=>$data['name'],
            'email'=>$data['email'],
            'phone'=>$data['phone'],
            'address'=>$data['address'],
            'address_2'=>$data['address_2'],
            'city_id'=>isset($data['city_id'])?$data['city_id']:null,
            'state_id'=>isset($data['state_id'])?$data['state_id']:null,
            'country_id'=>isset($data['country_id'])?$data['country_id']:null,
            'pin_code'=>$data['pin_code'],
//            'lat'=>$data['lat'],
//            'long'=>$data['long'],
//            'status'=>$data['status'],
            'created_by'=>$user_id,
        ]);

        $flag = false;
        $carrier = Carrier::where('slug','Shiprocket')->first();
        if($carrier){
            $row = SellerWiseCarrierConfig::where('seller_id',$user_id)->where('carrier_id',$carrier->id)->where('carrier_status',1)->first();
            if($row){
                $flag = true;
            }
        }
        if(isModuleActive('ShipRocket') && $flag){
            $shipRocketRepo = new ShipRocketRepository();
            $shipRocketRepo->addPickupLocation($location->id);
        }

        return $location;
    }

    public function find($id)
    {
        return PickupLocation::with(['country','state','city'])->findOrFail($id);
    }

    public function update(array $data,$id)
    {
        $user_id = getParentSellerId();
        return PickupLocation::where('id',$id)->where('created_by', $user_id)->update([
            'pickup_location'=>$data['pickup_location'],
            'name'=>$data['name'],
            'email'=>$data['email'],
            'phone'=>$data['phone'],
            'address'=>$data['address'],
            'address_2'=>$data['address_2'],
            'city_id'=>isset($data['city_id'])?$data['city_id']:null,
            'state_id'=>isset($data['state_id'])?$data['state_id']:null,
            'country_id'=>isset($data['country_id'])?$data['country_id']:null,
            'pin_code'=>$data['pin_code'],
//            'lat'=>$data['lat'],
//            'long'=>$data['long'],
        ]);
    }

    public function delete($id){
        $user_id = getParentSellerId();
        $location = PickupLocation::where('id', $id)->where('created_by', $user_id)->first();
        if($location && $location->is_default == 0){
            $location->delete();
            return true;
        }
        return false;
    }
    public function status($data){
        return PickupLocation::findOrFail($data['id'])->update(['status' => $data['status']]);
    }

    public function setPickupLocation($id)
    {
        $user_id = getParentSellerId();
        DB::table('pickup_locations')->where('created_by',$user_id)->update(array('is_set' => 0));
        PickupLocation::where('id',$id)->update(['is_set' => 1]);
        return true;
    }

    public function setDefault($data)
    {
        $user_id = getParentSellerId();
        DB::table('pickup_locations')->where('created_by',$user_id)->update(array('is_default' => 0));
//        PickupLocation::where('created_by',Auth::id())->query()->update(['is_default' => 0]);
        return PickupLocation::findOrFail($data['id'])->update(['is_default' => $data['set_default']]);
    }

}