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/app/Traits/ImageStore.php
<?php

namespace App\Traits;

use Illuminate\Support\Facades\Storage;
use Intervention\Image\Facades\Image;
use Carbon\Carbon;
use Exception;
use File;

trait ImageStore
{
    public static function saveImage($image, $height = null ,$lenght = null)
    {
        if(isset($image)){

            $current_date  = Carbon::now()->format('d-m-Y');
            $image_extention = str_replace('image/','',Image::make($image)->mime());
            $host = activeFileStorage();
            if($host == 'AmazonS3'){
                $img = Image::make($image);
                if($height != null && $lenght != null ){
                    $img_size = getimagesize($image);
                    $original_width = $img_size[0];
                    $original_height = $img_size[1];
                    if($original_width > $original_height){
                        // resize the image to a width of 300 and constrain aspect ratio (auto height)
                        $img->resize($lenght, null, function ($constraint) {
                            $constraint->aspectRatio();
                        });
                    }elseif($original_width < $original_height){
                        // resize the image to a height of 200 and constrain aspect ratio (auto width)
                        $img->resize(null, $height, function ($constraint) {
                            $constraint->aspectRatio();
                        });
                    }else{
                        if($lenght>$height){
                            $img->resize(null,$lenght, function($constraint){
                                $constraint->aspectRatio();
                            });
                        }elseif($lenght<$height){
                            $img->resize($height,null, function($constraint){
                                $constraint->aspectRatio();
                            });
                        }else{
                            $img->resize($height,null, function($constraint){
                                $constraint->aspectRatio();
                            });
                        }
                    }
                }
                
                $img_name_for_db = 'images/'.uniqid().'.'.$image_extention;
                $path = Storage::disk('s3')->put($img_name_for_db, $img->stream(), 'public');
                $url = Storage::disk('s3')->url($img_name_for_db);
                return $url;

            }else{

                if(!File::isDirectory(asset_path('uploads/images/').$current_date)){
                    File::makeDirectory(asset_path('uploads/images/').$current_date, 0777, true, true);
                }

                $image_extention = str_replace('image/','',Image::make($image)->mime());

                $img = Image::make($image);
                if($height != null && $lenght != null ){
                    $img_size = getimagesize($image);
                    $original_width = $img_size[0];
                    $original_height = $img_size[1];
                    if($original_width > $original_height){
                        // resize the image to a width of 300 and constrain aspect ratio (auto height)
                        $img->resize($lenght, null, function ($constraint) {
                            $constraint->aspectRatio();
                        });
                    }elseif($original_width < $original_height){
                        // resize the image to a height of 200 and constrain aspect ratio (auto width)
                        $img->resize(null, $height, function ($constraint) {
                            $constraint->aspectRatio();
                        });
                    }else{
                        if($lenght>$height){
                            $img->resize(null,$lenght, function($constraint){
                                $constraint->aspectRatio();
                            });
                        }elseif($lenght<$height){
                            $img->resize($height,null, function($constraint){
                                $constraint->aspectRatio();
                            });
                        }else{
                            $img->resize($height,null, function($constraint){
                                $constraint->aspectRatio();
                            });
                        }
                    }
                }

                $img_name_for_db = 'uploads/images/'.$current_date.'/'.uniqid().'.'.$image_extention;
                $img_name_for_file = asset_path($img_name_for_db);

                $img->save($img_name_for_file);
                return $img_name_for_db;
            }


        }else{
            return null ;
        }
    }


    public static function saveFlag($image, $name , $height = null ,$lenght = null)
    {
        if(isset($image)){
            $flag_name = str_replace(' ','-',$name);
            $image_extention = str_replace('image/','',Image::make($image)->mime());

            $img = Image::make($image);
            if($height != null && $lenght != null ){
                $img_size = getimagesize($image);
                $original_width = $img_size[0];
                $original_height = $img_size[1];
                if($original_width > $original_height){
                    // resize the image to a width of 300 and constrain aspect ratio (auto height)
                    $img->resize($lenght, null, function ($constraint) {
                        $constraint->aspectRatio();
                    });
                }elseif($original_width < $original_height){
                    // resize the image to a height of 200 and constrain aspect ratio (auto width)
                    $img->resize(null, $height, function ($constraint) {
                        $constraint->aspectRatio();
                    });
                }else{
                    if($lenght>$height){
                        $img->resize(null,$lenght, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }elseif($lenght<$height){
                        $img->resize($height,null, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }else{
                        $img->resize($height,null, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }
                }
            }

            $img_name = 'flags'.'/flag-of-'.$flag_name.'-'.rand(11111,99999).'.'.$image_extention;
            $img_save = asset_path($img_name);
            $img->save($img_save);
            return $img_name;
        }else{
            return null ;
        }
    }


    public static function saveSettingsImage($image, $height = null ,$lenght = null)
    {
        if(isset($image)){
           $current_date  = Carbon::now()->format('d-m-Y');
           $image_extention = str_replace('image/','',Image::make($image)->mime());

            $img = Image::make($image);
            if($height != null && $lenght != null ){
                $img_size = getimagesize($image);
                $original_width = $img_size[0];
                $original_height = $img_size[1];
                if($original_width > $original_height){
                    // resize the image to a width of 300 and constrain aspect ratio (auto height)
                    $img->resize($lenght, null, function ($constraint) {
                        $constraint->aspectRatio();
                    });
                }elseif($original_width < $original_height){
                    // resize the image to a height of 200 and constrain aspect ratio (auto width)
                    $img->resize(null, $height, function ($constraint) {
                        $constraint->aspectRatio();
                    });
                }else{
                    if($lenght>$height){
                        $img->resize(null,$lenght, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }elseif($lenght<$height){
                        $img->resize($height,null, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }else{
                        $img->resize($height,null, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }

                }
            }

            $img_name = 'uploads/settings'.'/'.uniqid().'.'.$image_extention;
            $img_save = asset_path($img_name);
            $img->save($img_save);
            return $img_name;
        }else{
            return null ;
        }
    }


    public static function deleteImage($url)
    {
        if(isset($url)){
            if($url){
                if(strpos($url, 'amazonaws.com') != false){
                    $url = explode('images', $url);
                    $path = '/images'.$url[1];
                    return Storage::disk('s3')->delete($path);
                }else{
                    if (File::exists(asset_path($url))) {
                        File::delete(asset_path($url));
                        return true;
                    }else{
                        return false;
                    }
                }

            }else{
                return null;
            }
        }else{
            return null ;
        }
    }

    public function saveAvatar($image, $height = null ,$lenght = null)
    {
        if(isset($image)){
            $current_date  = Carbon::now()->format('d-m-Y');

            if(!File::isDirectory(asset_path('uploads/avatar/').$current_date)){

                File::makeDirectory(asset_path('uploads/avatar/').$current_date, 0777, true, true);

            }

            $image_extention = str_replace('image/','',Image::make($image)->mime());

            $img = Image::make($image);

            if($height != null && $lenght != null ){
                $img_size = getimagesize($image);
                $original_width = $img_size[0];
                $original_height = $img_size[1];
                if($original_width > $original_height){
                    // resize the image to a width of 300 and constrain aspect ratio (auto height)
                    $img->resize($lenght, null, function ($constraint) {
                        $constraint->aspectRatio();
                    });
                }elseif($original_width < $original_height){
                    // resize the image to a height of 200 and constrain aspect ratio (auto width)
                    $img->resize(null, $height, function ($constraint) {
                        $constraint->aspectRatio();
                    });
                }else{
                    if($lenght>$height){
                        $img->resize(null,$lenght, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }elseif($lenght<$height){
                        $img->resize($height,null, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }else{
                        $img->resize($height,null, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }
                }
            }

            $img_name = 'uploads/avatar/'.$current_date.'/'.uniqid().'.'.$image_extention;
            $img_save = asset_path($img_name);
            $img->save($img_save);
            return $img_name;
        }else{
            return null ;
        }
    }

    public static function PaymentLogo($image, $height = null ,$lenght = null){
        if(isset($image)){
            $current_date  = Carbon::now()->format('d-m-Y');

            if(!File::isDirectory(asset_path('payment_gateway'))){

                File::makeDirectory(asset_path('payment_gateway'), 0777, true, true);

            }

            $image_extention = str_replace('image/','',Image::make($image)->mime());

            $img = Image::make($image);

            if($height != null && $lenght != null ){
                $img_size = getimagesize($image);
                $original_width = $img_size[0];
                $original_height = $img_size[1];
                if($original_width > $original_height){
                    // resize the image to a width of 300 and constrain aspect ratio (auto height)
                    $img->resize($lenght, null, function ($constraint) {
                        $constraint->aspectRatio();
                    });
                }elseif($original_width < $original_height){
                    // resize the image to a height of 200 and constrain aspect ratio (auto width)
                    $img->resize(null, $height, function ($constraint) {
                        $constraint->aspectRatio();
                    });
                }else{
                    if($lenght>$height){
                        $img->resize(null,$lenght, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }elseif($lenght<$height){
                        $img->resize($height,null, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }else{
                        $img->resize($height,null, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }
                }
            }

            $img_name = 'payment_gateway/'.uniqid().'.'.$image_extention;
            $img_save = asset_path($img_name);
            $img->save($img_save);
            return $img_name;
        }else{
            return null ;
        }
    }


    public static function CarrierLogo($image, $height = null ,$lenght = null){
        if(isset($image)){
            $current_date  = Carbon::now()->format('d-m-Y');

            if(!File::isDirectory(asset_path('carrier'))){

                File::makeDirectory(asset_path('carrier'), 0777, true, true);

            }

            $image_extention = str_replace('image/','',Image::make($image)->mime());

            $img = Image::make($image);

            if($height != null && $lenght != null ){
                $img_size = getimagesize($image);
                $original_width = $img_size[0];
                $original_height = $img_size[1];
                if($original_width > $original_height){
                    // resize the image to a width of 300 and constrain aspect ratio (auto height)
                    $img->resize($lenght, null, function ($constraint) {
                        $constraint->aspectRatio();
                    });
                }elseif($original_width < $original_height){
                    // resize the image to a height of 200 and constrain aspect ratio (auto width)
                    $img->resize(null, $height, function ($constraint) {
                        $constraint->aspectRatio();
                    });
                }else{
                    if($lenght>$height){
                        $img->resize(null,$lenght, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }elseif($lenght<$height){
                        $img->resize($height,null, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }else{
                        $img->resize($height,null, function($constraint){
                            $constraint->aspectRatio();
                        });
                    }
                }
            }

            $img_name = 'carrier/'.uniqid().'.'.$image_extention;
            $img_save = asset_path($img_name);
            $img->save($img_save);
            return $img_name;
        }else{
            return null ;
        }
    }

    public function savePWAIcon($image){
        if(isset($image)){
            if(!File::isDirectory(asset_path('images/icons'))){
                File::makeDirectory(asset_path('images/icons'), 0777, true, true);
            }

            if (File::exists(asset_path('images/icons/icon-72x72.png'))) {
                File::delete(asset_path('images/icons/icon-72x72.png'));
            }
            if (File::exists(asset_path('images/icons/icon-96x96.png'))) {
                File::delete(asset_path('images/icons/icon-96x96.png'));
            }
            if (File::exists(asset_path('images/icons/icon-128x128.png'))) {
                File::delete(asset_path('images/icons/icon-128x128.png'));
            }
            if (File::exists(asset_path('images/icons/icon-144x144.png'))) {
                File::delete(asset_path('images/icons/icon-144x144.png'));
            }
            if (File::exists(asset_path('images/icons/icon-152x152.png'))) {
                File::delete(asset_path('images/icons/icon-152x152.png'));
            }
            if (File::exists(asset_path('images/icons/icon-192x192.png'))) {
                File::delete(asset_path('images/icons/icon-192x192.png'));
            }
            if (File::exists(asset_path('images/icons/icon-384x384.png'))) {
                File::delete(asset_path('images/icons/icon-384x384.png'));
            }
            if (File::exists(asset_path('images/icons/icon-512x512.png'))) {
                File::delete(asset_path('images/icons/icon-512x512.png'));
            }

            $img = Image::make($image);
            $img->resize(72,72);
            $img_save_72 = asset_path('images/icons/icon-72x72.png');
            $img->save($img_save_72);

            $img = Image::make($image);
            $img->resize(96,96);
            $img_save_96 = asset_path('images/icons/icon-96x96.png');
            $img->save($img_save_96);

            $img = Image::make($image);
            $img->resize(128,128);
            $img_save_128 = asset_path('images/icons/icon-128x128.png');
            $img->save($img_save_128);

            $img = Image::make($image);
            $img->resize(144,144);
            $img_save_144 = asset_path('images/icons/icon-144x144.png');
            $img->save($img_save_144);

            $img = Image::make($image);
            $img->resize(152,152);
            $img_save_152 = asset_path('images/icons/icon-152x152.png');
            $img->save($img_save_152);

            $img = Image::make($image);
            $img->resize(192,192);
            $img_save_192 = asset_path('images/icons/icon-192x192.png');
            $img->save($img_save_192);

            $img = Image::make($image);
            $img->resize(384,384);
            $img_save_384 = asset_path('images/icons/icon-384x384.png');
            $img->save($img_save_384);

            $img = Image::make($image);
            $img->resize(512,512);
            $img_save_512 = asset_path('images/icons/icon-512x512.png');
            $img->save($img_save_512);

            return true;
        }

    }

    public function savePWASplash($image){
        if(isset($image)){
            if(!File::isDirectory(asset_path('images/icons'))){
                File::makeDirectory(asset_path('images/icons'), 0777, true, true);
            }

            $site_log_sizes = [
                ['640', '1136'],
                ['750', '1334'],
                ['828', '1792'],
                ['1125', '2436'],
                ['1242', '2208'],
                ['1242', '2688'],
                ['1536', '2048'],
                ['1668', '2224'],
                ['1668', '2388'],
                ['2048', '2732'],
            ];

            if ($image->extension() != "svg") {
                foreach ($site_log_sizes as $size) {
                    $rowImage = Image::canvas($size[0], $size[1], '#fff');
                    $rowImage->insert($image, 'center');
                    $rowImage->save(asset_path("images/icons/splash-{$size[0]}x{$size[1]}.png"));
                }
            }

            return true;
        }

    }

    public static function mediaUpload($image, $height = null ,$lenght = null)
    {
        if(isset($image)){
            $orginal_name = $image->getClientOriginalName();

            $host = activeFileStorage();
            $image_extention = str_replace('image/','',Image::make($image)->mime());
            $img_size = getimagesize($image);
            $img_in_kb = round(filesize($image)/1024);

            if($host == 'AmazonS3'){
                $img = Image::make($image);
                if($height != null && $lenght != null ){
                    $original_width = $img_size[0];
                    $original_height = $img_size[1];
                    if($original_width > $original_height){
                        // resize the image to a width of 300 and constrain aspect ratio (auto height)
                        $img->resize($lenght, null, function ($constraint) {
                            $constraint->aspectRatio();
                        });
                    }elseif($original_width < $original_height){
                        // resize the image to a height of 200 and constrain aspect ratio (auto width)
                        $img->resize(null, $height, function ($constraint) {
                            $constraint->aspectRatio();
                        });
                    }else{
                        if($lenght>$height){
                            $img->resize(null,$lenght, function($constraint){
                                $constraint->aspectRatio();
                            });
                        }elseif($lenght<$height){
                            $img->resize($height,null, function($constraint){
                                $constraint->aspectRatio();
                            });
                        }else{
                            $img->resize($height,null, function($constraint){
                                $constraint->aspectRatio();
                            });
                        }
                    }
                }
                $img_name_for_db = 'images/'.uniqid().'.'.$image_extention;
                $path = Storage::disk('s3')->put($img_name_for_db, $img->stream(), 'public');
                $url = Storage::disk('s3')->url($img_name_for_db);
                $data['file_name'] = $url;
                $data['storage'] = 's3';

            }else{

                if(!File::isDirectory(asset_path('uploads/all/'))){
                    File::makeDirectory(asset_path('uploads/all/'), 0777, true, true);
                }

                $img = Image::make($image);
                if($height != null && $lenght != null ){
                    $original_width = $img_size[0];
                    $original_height = $img_size[1];
                    if($original_width > $original_height){
                        // resize the image to a width of 300 and constrain aspect ratio (auto height)
                        $img->resize($lenght, null, function ($constraint) {
                            $constraint->aspectRatio();
                        });
                    }elseif($original_width < $original_height){
                        // resize the image to a height of 200 and constrain aspect ratio (auto width)
                        $img->resize(null, $height, function ($constraint) {
                            $constraint->aspectRatio();
                        });
                    }else{
                        if($lenght>$height){
                            $img->resize(null,$lenght, function($constraint){
                                $constraint->aspectRatio();
                            });
                        }elseif($lenght<$height){
                            $img->resize($height,null, function($constraint){
                                $constraint->aspectRatio();
                            });
                        }else{
                            $img->resize($height,null, function($constraint){
                                $constraint->aspectRatio();
                            });
                        }
                    }
                }

                $img_name_for_db = 'uploads/all/'.uniqid().'.'.$image_extention;
                $img_name_for_file = asset_path($img_name_for_db);
                $img->save($img_name_for_file);

                $data['file_name'] = $img_name_for_db;
                $data['storage'] = 'local';
                
            }
            $data['orginal_name'] = $orginal_name;
            $data['extension'] = $image_extention;
            $data['type'] = 'image';
            $data['size'] = $img_in_kb;
            return $data;

        }else{
            return null ;
        }
    }

    public function saveGalleryImgFromPrev($image, $height = null ,$lenght = null){
        
        $image_extention = str_replace('image/','',Image::make($image)->mime());
        $img_size = getimagesize($image);
        $img_in_kb = round(filesize($image)/1024);
        
        if(!File::isDirectory(asset_path('uploads/all/'))){
            File::makeDirectory(asset_path('uploads/all/'), 0777, true, true);
        }

        $img = Image::make($image);
        if($height != null && $lenght != null ){
            $original_width = $img_size[0];
            $original_height = $img_size[1];
            if($original_width > $original_height){
                // resize the image to a width of 300 and constrain aspect ratio (auto height)
                $img->resize($lenght, null, function ($constraint) {
                    $constraint->aspectRatio();
                });
            }elseif($original_width < $original_height){
                // resize the image to a height of 200 and constrain aspect ratio (auto width)
                $img->resize(null, $height, function ($constraint) {
                    $constraint->aspectRatio();
                });
            }else{
                if($lenght>$height){
                    $img->resize(null,$lenght, function($constraint){
                        $constraint->aspectRatio();
                    });
                }elseif($lenght<$height){
                    $img->resize($height,null, function($constraint){
                        $constraint->aspectRatio();
                    });
                }else{
                    $img->resize($height,null, function($constraint){
                        $constraint->aspectRatio();
                    });
                }
            }
        }

        $img_name_for_db = 'uploads/all/'.uniqid().'.'.$image_extention;
        $img_name_for_file = asset_path($img_name_for_db);
        $img->save($img_name_for_file);

        $data['file_name'] = $img_name_for_db;
        $data['storage'] = 'local';
        $data['orginal_name'] = 'image_'.rand(11,100).'.'.$image_extention;
        $data['extension'] = $image_extention;
        $data['type'] = 'image';
        $data['size'] = $img_in_kb;
        return $data;
    }


}