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/Setup/Repositories/CountryRepository.php
<?php

namespace Modules\Setup\Repositories;

use Modules\Setup\Entities\Country;
use App\Traits\ImageStore;
use Modules\Setup\Entities\City;
use Modules\Setup\Entities\State;

class CountryRepository{
    use ImageStore;

    public function getAll(){
        return Country::orderBy('name')->get();
    }

    public function getActiveAll(){
        return Country::orderBy('name')->where('status', 1)->get();
    }
    
    public function store($data){

        if(isset($data['flag'])){
            $imagename = ImageStore::saveFlag($data['flag'],$data['name'],61,36);
            $data['flag'] = $imagename;
        }
        Country::create([
            'name' => $data['name'],
            'code' => $data['code'],
            'phonecode' => $data['phonecode'],
            'flag' => isset($data['flag'])?$data['flag']:null,
            'status' => $data['status']
        ]);
        return true;
    }

    public function getById($id){
        return Country::findOrFail($id);
    }

    public function update($data){

        $country = Country::findOrFail($data['id']);
        if(isset($data['flag'])){
            ImageStore::deleteImage($country->flag);

            $imagename = ImageStore::saveFlag($data['flag'],$data['name'],61,36);
            $data['flag'] = $imagename;
        }else{
            $data['flag'] = $country->flag;
        }

        $country->update([
            'name' => $data['name'],
            'code' => $data['code'],
            'phonecode' => $data['phonecode'],
            'flag' => $data['flag'],
            'status' => $data['status']
        ]);

        return true;
    }

    public function status($data){
        return Country::where('id',$data['id'])->update([
            'status' => $data['status']
        ]);
    }    

    public function getStateByCountry($id){
        return State::with('country')->where('status', 1)->where('country_id', $id)->orderBy('name')->get();
    }

    public function getCityByState($id){
        return City::with('state')->where('status', 1)->where('state_id', $id)->orderBy('name')->get();
    }
}