HOME


Mini Shell 1.0
La Pieza.DO | Todo lo que buscas!

Bienvenido de nuevo!

Acceso Cuenta Delivery
DIR: /var/www/devs.lapieza.net/app/Http/Controllers/
Upload File :
Current File : /var/www/devs.lapieza.net/app/Http/Controllers/DemoController.php
<?php



namespace App\Http\Controllers;



use App\Models\Order;

use App\Models\ProductStock;

use Illuminate\Http\Request;

use DB;

use Schema;

use ZipArchive;

use File;

use Artisan;

use App\Models\Upload;

use App\Models\Banner;

use App\Models\Brand;

use App\Models\User;

use App\Models\Category;

use App\Models\CategoryTranslation;

use App\Models\SubCategory;

use App\Models\SubCategoryTranslation;

use App\Models\SubSubCategory;

use App\Models\SubSubCategoryTranslation;

use App\Models\CustomerPackage;

use App\Models\CustomerProduct;

use App\Models\FlashDeal;

use App\Models\Product;

use App\Models\ProductTax;

use App\Models\Tax;

use App\Models\Shop;

use App\Models\Slider;

use App\HomeCategory;

use App\Models\BusinessSetting;

use App\Models\Translation;

use App\Models\AttributeValue;



class DemoController extends Controller

{

    public function __construct()

    {

        ini_set('memory_limit', '2048M');

        ini_set('max_execution_time', 600);



    }



    public function cron_1()

    {

        if (env('DEMO_MODE') != 'On') {

            return back();

        }

        $this->drop_all_tables();

        $this->import_demo_sql();

    }



    public function cron_2()

    {

        if (env('DEMO_MODE') != 'On') {

            return back();

        }

        $this->remove_folder();

        $this->extract_uploads();

    }





    public function drop_all_tables()

    {

        Schema::disableForeignKeyConstraints();

        foreach (DB::select('SHOW TABLES') as $table) {

            $table_array = get_object_vars($table);

            Schema::drop($table_array[key($table_array)]);

        }

    }



    public function import_demo_sql()

    {

        Artisan::call('cache:clear');

        $sql_path = base_path('demo.sql');

        DB::unprepared(file_get_contents($sql_path));

    }



    public function extract_uploads()

    {

        $zip = new ZipArchive;

        $zip->open(base_path('public/uploads.zip'));

        $zip->extractTo('public/uploads');



    }



    public function remove_folder()

    {

        File::deleteDirectory(base_path('public/uploads'));

    }



    public function migrate_attribute_values(Request $request){

        foreach (Product::all() as $product) {

            if ($product->variant_product) {

                try {

                    $choice_options = json_decode($product->choice_options);

                    foreach ($choice_options as $choice_option) {

                        foreach ($choice_option->values as $value) {

                            $attribute_value = AttributeValue::where('value', $value)->first();

                            if ($attribute_value == null) {

                                $attribute_value = new AttributeValue;

                                $attribute_value->attribute_id = $choice_option->attribute_id;

                                $attribute_value->value = $value;

                                $attribute_value->save();

                            }

                        }

                    }

                } catch (\Exception $e) {



                }



            }

        }

    }



    public function convertTaxes()

    {

        $tax = Tax::first();



        foreach (Product::all() as $product) {

            $product_tax = new ProductTax;

            $product_tax->product_id = $product->id;

            $product_tax->tax_id = $tax->id;

            $product_tax->tax = $product->tax;

            $product_tax->tax_type = $product->tax_type;

            $product_tax->save();

        }

    }



    public function convert_assets(Request $request)

    {

        $type = array(

            "jpg" => "image",

            "jpeg" => "image",

            "png" => "image",

            "svg" => "image",

            "webp" => "image",

            "gif" => "image",

            "mp4" => "video",

            "mpg" => "video",

            "mpeg" => "video",

            "webm" => "video",

            "ogg" => "video",

            "avi" => "video",

            "mov" => "video",

            "flv" => "video",

            "swf" => "video",

            "mkv" => "video",

            "wmv" => "video",

            "wma" => "audio",

            "aac" => "audio",

            "wav" => "audio",

            "mp3" => "audio",

            "zip" => "archive",

            "rar" => "archive",

            "7z" => "archive",

            "doc" => "document",

            "txt" => "document",

            "docx" => "document",

            "pdf" => "document",

            "csv" => "document",

            "xml" => "document",

            "ods" => "document",

            "xlr" => "document",

            "xls" => "document",

            "xlsx" => "document"

        );

        foreach (Banner::all() as $key => $banner) {

            if ($banner->photo != null) {

                $arr = explode('.', $banner->photo);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $banner->photo, 'user_id' => User::where('user_type', 'admin')->first()->id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $banner->photo = $upload->id;

                $banner->save();

            }

        }



        foreach (Brand::all() as $key => $brand) {

            if ($brand->logo != null) {

                $arr = explode('.', $brand->logo);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $brand->logo, 'user_id' => User::where('user_type', 'admin')->first()->id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $brand->logo = $upload->id;

                $brand->save();

            }

        }



        foreach (Category::all() as $key => $category) {

            if ($category->banner != null) {

                $arr = explode('.', $category->banner);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $category->banner, 'user_id' => User::where('user_type', 'admin')->first()->id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $category->banner = $upload->id;

                $category->save();

            }

            if ($category->icon != null) {

                $arr = explode('.', $category->icon);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $category->icon, 'user_id' => User::where('user_type', 'admin')->first()->id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $category->icon = $upload->id;

                $category->save();

            }

        }



        foreach (CustomerPackage::all() as $key => $package) {

            if ($package->logo != null) {

                $arr = explode('.', $package->logo);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $package->logo, 'user_id' => User::where('user_type', 'admin')->first()->id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $package->logo = $upload->id;

                $package->save();

            }

        }



        foreach (CustomerProduct::all() as $key => $product) {

            if ($product->photos != null) {

                $files = array();

                foreach (json_decode($product->photos) as $key => $photo) {

                    $arr = explode('.', $photo);

                    $upload = Upload::create([

                        'file_original_name' => null, 'file_name' => $photo, 'user_id' => $product->user_id, 'extension' => $arr[1],

                        'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                    ]);

                    array_push($files, $upload->id);

                }



                $product->photos = implode(',', $files);

                $product->save();

            }

            if ($product->thumbnail_img != null) {

                $arr = explode('.', $product->thumbnail_img);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $product->thumbnail_img, 'user_id' => $product->user_id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $product->thumbnail_img = $upload->id;

                $product->save();

            }

            if ($product->meta_img != null) {

                $arr = explode('.', $product->meta_img);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $product->meta_img, 'user_id' => $product->user_id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $product->meta_img = $upload->id;

                $product->save();

            }

        }



        foreach (FlashDeal::all() as $key => $flash_deal) {

            if ($flash_deal->banner != null) {

                $arr = explode('.', $flash_deal->banner);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $flash_deal->banner, 'user_id' => User::where('user_type', 'admin')->first()->id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $flash_deal->banner = $upload->id;

                $flash_deal->save();

            }

        }



        foreach (Product::all() as $key => $product) {

            if ($product->photos != null) {

                $files = array();

                foreach (json_decode($product->photos) as $key => $photo) {

                    $arr = explode('.', $photo);

                    $upload = Upload::create([

                        'file_original_name' => null, 'file_name' => $photo, 'user_id' => $product->user_id, 'extension' => $arr[1],

                        'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                    ]);

                    array_push($files, $upload->id);

                }



                $product->photos = implode(',', $files);

                $product->save();

            }

            if ($product->thumbnail_img != null) {

                $arr = explode('.', $product->thumbnail_img);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $product->thumbnail_img, 'user_id' => $product->user_id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $product->thumbnail_img = $upload->id;

                $product->save();

            }

            if ($product->featured_img != null) {

                $arr = explode('.', $product->featured_img);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $product->featured_img, 'user_id' => $product->user_id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $product->featured_img = $upload->id;

                $product->save();

            }

            if ($product->flash_deal_img != null) {

                $arr = explode('.', $product->flash_deal_img);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $product->flash_deal_img, 'user_id' => $product->user_id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $product->flash_deal_img = $upload->id;

                $product->save();

            }

            if ($product->meta_img != null) {

                $arr = explode('.', $product->meta_img);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $product->meta_img, 'user_id' => $product->user_id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $product->meta_img = $upload->id;

                $product->save();

            }

        }



        foreach (Shop::all() as $key => $shop) {

            if ($shop->sliders != null) {

                $files = array();

                foreach (json_decode($shop->sliders) as $key => $photo) {

                    $arr = explode('.', $photo);

                    $upload = Upload::create([

                        'file_original_name' => null, 'file_name' => $photo, 'user_id' => $shop->user_id, 'extension' => $arr[1],

                        'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                    ]);

                    array_push($files, $upload->id);

                }



                $shop->sliders = implode(',', $files);

                $shop->save();

            }

            if ($shop->logo != null) {

                $arr = explode('.', $shop->logo);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $shop->logo, 'user_id' => $shop->user_id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $shop->logo = $upload->id;

                $shop->save();

            }

        }



        foreach (Slider::all() as $key => $slider) {

            if ($slider->photo != null) {

                $arr = explode('.', $slider->photo);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $slider->photo, 'user_id' => User::where('user_type', 'admin')->first()->id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $slider->photo = $upload->id;

                $slider->save();

            }

        }



        foreach (User::all() as $key => $user) {

            if ($user->avatar_original != null) {

                $arr = explode('.', $user->avatar_original);

                $upload = Upload::create([

                    'file_original_name' => null, 'file_name' => $user->avatar_original, 'user_id' => $user->id, 'extension' => $arr[1],

                    'type' => isset($type[$arr[1]]) ?  $type[$arr[1]] : "others", 'file_size' => 0

                ]);



                $user->avatar_original = $upload->id;

                $user->save();

            }

        }



        $business_setting = BusinessSetting::where('type', 'home_slider_images')->first();

        $business_setting->value = json_encode(Slider::pluck('photo')->toArray());

        $business_setting->save();



        $business_setting = BusinessSetting::where('type', 'home_slider_links')->first();

        $business_setting->value = json_encode(Slider::pluck('link')->toArray());

        $business_setting->save();



        $business_setting = BusinessSetting::where('type', 'home_banner1_images')->first();

        $business_setting->value = json_encode(Banner::where('position', 1)->pluck('photo')->toArray());

        $business_setting->save();



        $business_setting = BusinessSetting::where('type', 'home_banner1_links')->first();

        $business_setting->value = json_encode(Banner::where('position', 1)->pluck('url')->toArray());

        $business_setting->save();



        $business_setting = BusinessSetting::where('type', 'home_banner2_images')->first();

        $business_setting->value = json_encode(Banner::where('position', 2)->pluck('photo')->toArray());

        $business_setting->save();



        $business_setting = BusinessSetting::where('type', 'home_banner2_links')->first();

        $business_setting->value = json_encode(Banner::where('position', 2)->pluck('url')->toArray());

        $business_setting->save();



        $business_setting = BusinessSetting::where('type', 'home_categories')->first();

        $business_setting->value = json_encode(HomeCategory::pluck('category_id')->toArray());

        $business_setting->save();



        $business_setting = BusinessSetting::where('type', 'top10_categories')->first();

        $business_setting->value = json_encode(Category::where('top', 1)->pluck('id')->toArray());

        $business_setting->save();



        $business_setting = BusinessSetting::where('type', 'top10_brands')->first();

        $business_setting->value = json_encode(Brand::where('top', 1)->pluck('id')->toArray());

        $business_setting->save();



        $code = 'en';

        $jsonString = [];

        if(File::exists(base_path('resources/lang/'.$code.'.json'))){

            $jsonString = file_get_contents(base_path('resources/lang/'.$code.'.json'));

            $jsonString = json_decode($jsonString, true);

        }



        foreach($jsonString as $key => $string){

            $translation_def = new Translation;

            $translation_def->lang = $code;

            $translation_def->lang_key = $key;

            $translation_def->lang_value = $string;

            $translation_def->save();

        }

    }



    public function convert_category()

    {

        foreach (SubCategory::all() as $key => $value) {

            $category = new Category;

            $parent = Category::find($value->category_id);



            $category->name = $value->name;

            $category->digital = $parent->digital;

            $category->banner = null;

            $category->icon = null;

            $category->meta_title = $value->meta_title;

            $category->meta_description = $value->meta_description;



            $category->parent_id = $parent->id;

            $category->level = $parent->level + 1;

            $category->slug = $value->slug;

            $category->commision_rate = $parent->commision_rate;



            $category->save();



            foreach (SubCategoryTranslation::where('sub_category_id', $value->id)->get() as $translation) {

                $category_translation = new CategoryTranslation;

                $category_translation->category_id = $category->id;

                $category_translation->lang = $translation->lang;

                $category_translation->name = $translation->name;

                $category_translation->save();

            }

        }



        foreach (SubSubCategory::all() as $key => $value) {

            $category = new Category;

            $parent = Category::find(Category::where('name', SubCategory::find($value->sub_category_id)->name)->first()->id);



            $category->name = $value->name;

            $category->digital = $parent->digital;

            $category->banner = null;

            $category->icon = null;

            $category->meta_title = $value->meta_title;

            $category->meta_description = $value->meta_description;



            $category->parent_id = $parent->id;

            $category->level = $parent->level + 1;

            $category->slug = $value->slug;

            $category->commision_rate = $parent->commision_rate;



            $category->save();



            foreach (SubSubCategoryTranslation::where('sub_sub_category_id', $value->id)->get() as $translation) {

                $category_translation = new CategoryTranslation;

                $category_translation->category_id = $category->id;

                $category_translation->lang = $translation->lang;

                $category_translation->name = $translation->name;

                $category_translation->save();

            }

        }



        foreach (Product::all() as $key => $value) {

            try {

                if ($value->subsubcategory_id == null) {

                    $value->category_id = Category::where('name', SubCategory::find($value->subcategory_id)->name)->first()->id;

                    $value->save();

                } else {

                    $value->category_id = Category::where('name', SubSubCategory::find($value->subsubcategory_id)->name)->first()->id;

                    $value->save();

                }

            } catch (\Exception $e) {



            }

        }



        foreach (CustomerProduct::all() as $key => $value) {

            try {

                if ($value->subsubcategory_id == null) {

                    $value->category_id = Category::where('name', SubCategory::find($value->subcategory_id)->name)->first()->id;

                    $value->save();

                } else {

                    $value->category_id = Category::where('name', SubSubCategory::find($value->subsubcategory_id)->name)->first()->id;

                    $value->save();

                }

            } catch (\Exception $e) {



            }

        }



        // foreach (Product::all() as $key => $product) {

        //     if (is_array(json_decode($product->tags))) {

        //         $tags = array();

        //         foreach (json_decode($product->tags) as $tag) {

        //             array_push($tags, $tag->value);

        //         }

        //         $product->tags = implode(',', $tags);

        //         $product->save();

        //     }

        // }

    }



    public function insert_product_variant_forcefully(Request $request)

    {

        foreach (Product::all() as $product) {

            if ($product->stocks->isEmpty()) {

                $product_stock = new ProductStock;

                $product_stock->product_id = $product->id;

                $product_stock->variant = '';

                $product_stock->price = $product->unit_price;

                $product_stock->sku = $product->sku;

                $product_stock->qty = $product->current_stock;

                $product_stock->save();

            }

        }

    }



    public function update_seller_id_in_orders($id_min, $id_max)

    {

        $orders = Order::where('id', '>=', $id_min)->where('id', '<=', $id_max)->get();



        foreach ($orders as $order) {

            $this->update_seller_id_in_order($order);

        }



    }



    public function update_seller_id_in_order($order)

    {

        if($order->seller_id == 0){

            //dd($order->orderDetails[0]->seller_id);

            $order->seller_id = $order->orderDetails[0]->seller_id;

            $order->save();

        }

    }

}