Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/job-board.corals.io/Corals/modules/Demo/database/seeds/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/job-board.corals.io/Corals/modules/Demo/database/seeds/DemoDatabaseSeeder.php
<?php

namespace Corals\Modules\Demo\database\seeds;

use Carbon\Carbon;
use Corals\Modules\Payment\Common\Models\Invoice;
use Corals\Modules\Subscriptions\Models\Subscription;
use Corals\Modules\Utility\Models\Rating\Rating;
use Corals\User\Models\Role;
use Corals\User\Models\User;
use Illuminate\Database\Seeder;
use Faker\Factory as Faker;

class DemoDatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {

        $demo_superuser_id = \DB::table('users')->insertGetId([
            'name' => 'Laraship Admin',
            'email' => '[email protected]',
            'password' => bcrypt('123456'),
            'job_title' => 'Administrator',
            'address' => 'Cecilia Chapman, Mankato Mississippi 96522',
            'created_at' => Carbon::now(),
            'updated_at' => Carbon::now(),
        ]);

        $superuser_role = Role::whereName('superuser')->first();

        if ($superuser_role) {
            $superuser_role->users()->attach($demo_superuser_id);
        }
        /*
                 if (\Modules::isModuleActive('corals-subscriptions')) {

                    $users = factory(User::class, 100)->create()->each(function ($user) {
                        $user->subscriptions()->save(factory(Subscription::class)->make());
                    });

                    $subscriptions = Subscription::all();

                    foreach ($subscriptions as $subscription) {
                        $invoice = Invoice::create([
                            'code' => Invoice::getCode('INV'),
                            'currency' => 'usd',
                            'status' => 'paid',
                            'invoicable_id' => $subscription->id,
                            'invoicable_type' => get_class($subscription),
                            'due_date' => Carbon::now()->addDays(random_int(-365, 0)),
                            'invoice_date' => now(),
                            'sub_total' => $subscription->plan->price,
                            'total' => $subscription->plan->price,
                            'user_id' => $subscription->user_id,
                        ]);

                        $invoice->items()->create([
                            'code' => \Str::random(6),
                            'amount' => $subscription->plan->price,
                            'itemable_id' => $subscription->plan->id,
                            'itemable_type' => get_class($subscription->plan),
                        ]);
                    }
                }

                if (\Modules::isModuleActive('corals-ecommerce')) {
                    $users = factory(\Corals\User\Models\User::class, 260)->create();

                    $skus = \Corals\Modules\Ecommerce\Models\SKU::get();

                    $statuses = ['pending', 'processing', 'canceled', 'completed'];

                    foreach ($skus as $sku) {
                        $userId = $users->random()->id;
                        $qt = random_int(1, 4);
                        $items = [];
                        $shippingItems = [
                            [
                                'amount' => 10.00,
                                'description' => 'Flat Rate -  Shipping',
                                'quantity' => 1,
                                'sku_code' => 'FlatRate|Flat Rate',
                                'type' => 'Shipping',
                                'item_options' => null
                            ],
                            [
                                'amount' => 7.75,
                                'description' => 'USPS - Parcel Select Shipping',
                                'quantity' => 1,
                                'sku_code' => 'Shippo|' . \Str::random(32),
                                'type' => 'Shipping',
                                'item_options' => null
                            ],
                            [
                                'amount' => 4.66,
                                'description' => 'USPS - First-Class Package/Mail Parcel Shipping',
                                'quantity' => 1,
                                'sku_code' => 'Shippo|' . \Str::random(32),
                                'type' => 'Shipping',
                                'item_options' => null
                            ]
                        ];
                        $discountItem = [
                            'amount' => -45,
                            'description' => 'Discount Coupon',
                            'quantity' => 1,
                            'sku_code' => 'CORALS-FIXED',
                            'type' => 'Discount',
                            'item_options' => null
                        ];
                        $skuItem = [
                            'amount' => $sku->price,
                            'description' => $sku->product->name,
                            'quantity' => $qt,
                            'sku_code' => $sku->code,
                            'type' => 'Product',
                            'item_options' => '{\"product_options\":[]}'
                        ];

                        $items[] = $skuItem;

                        if ($sku->id % 2) {
                            $items[] = $discountItem;
                        }

                        $items[] = $shippingItems[random_int(0, 2)];

                        $amount = 0;

                        foreach ($items as $item) {
                            $amount += $item['amount'] * $item['quantity'];
                        }
                        $orderNum = \Ecommerce::createOrderNumber();

                        $orderId = \DB::table('ecommerce_orders')->insertGetId([
                            'amount' => $amount,
                            'currency' => 'USD',
                            'order_number' => $orderNum,
                            'billing' => '{\"status\":\"pending\",\"label_url\":\"\",\"tracking_number\":\"\",\"shipping_address\":{\"address_1\":\"711-2880 Nulla St.\",\"address_2\":\"Cecilia Chapman\",\"type\":\"shipping\",\"city\":\"Mankato\",\"state\":\"MS\",\"zip\":\"96522\",\"country\":\"US\"},\"shipping_provider\":\"FlatRate\",\"selected_shipping\":{\"provider\":\"Flat Rate\",\"service\":\"\",\"currency\":\"USD\",\"amount\":\"10.00\",\"estimated_days\":\"\"}}\', \'{\"billing_address\":{\"address_1\":\"711-2880 Nulla St.\",\"address_2\":\"Cecilia Chapman\",\"type\":\"billing\",\"city\":\"Mankato\",\"state\":\"MS\",\"zip\":\"96522\",\"country\":\"US\"},\"payment_reference\":\"ch_1C8YJrG0x8xKQUt93uHWgRQr\",\"gateway\":\"Stripe\",\"payment_status\":\"paid\"}',
                            'status' => $statuses[random_int(0, 3)],
                            'user_id' => $userId,
                            'created_at' => Carbon::now()->subDays($userId)->toDateString(),
                            'updated_at' => Carbon::now()->subDays($userId / 2)->toDateString(),
                        ]);

                        foreach ($items as $index => $item) {
                            $items[$index]['order_id'] = $orderId;
                        }

                        \DB::table('ecommerce_order_items')->insert($items);
                    }

                    $orders = \Corals\Modules\Ecommerce\Models\Order::get();

                    foreach ($orders as $order) {
                        $invoice = Invoice::create([
                            'code' => Invoice::getCode('INV'),
                            'currency' => $order->currency,
                            'status' => 'paid',
                            'invoicable_id' => $order->id,
                            'invoicable_type' => get_class($order),
                            'due_date' => $order->created_at,
                            'invoice_date' => now(),
                            'sub_total' => $order->amount,
                            'total' => $order->amount,
                            'user_id' => $order->user->id,
                            'created_at' => $order->created_at
                        ]);

                        $invoice_items = [];
                        foreach ($order->items as $order_item) {
                            $invoice_items[] = [
                                'code' => \Str::random(6),
                                'description' => $order_item->description,
                                'amount' => $order_item->amount,
                                'quantity' => $order_item->quantity,
                                'itemable_id' => $order_item->id,
                                'itemable_type' => get_class($order_item),
                            ];
                        }

                        $invoice->items()->createMany($invoice_items);
                    }


                    // add reviews
                    $users = \Corals\User\Models\User::whereHas('roles', function ($role) {
                        $role->where('name', 'member');
                    })->get();
                    $faker = Faker::create();
                    foreach ($users as $user) {
                        if ($user->id % 25 == 0) {
                            for ($g = 1; $g <= 28; $g++) {
                                Rating::create([
                                    'rating' => random_int(3, 5),
                                    'title' => $faker->realText(50),
                                    'body' => $faker->realText(),
                                    'reviewrateable_id' => $g,
                                    'reviewrateable_type' => \Corals\Modules\Ecommerce\Models\Product::class,
                                    'author_id' => $user->id,
                                    'author_type' => \Corals\User\Models\User::class
                                ]);
                            }
                        }
                    }
                }
        */
    }

}

Spamworldpro Mini