112 lines
4.3 KiB
PHP
112 lines
4.3 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace FleetCart\Install;
|
||
|
|
||
|
use Modules\User\Entities\Role;
|
||
|
use Modules\Setting\Entities\Setting;
|
||
|
use Illuminate\Support\Facades\Artisan;
|
||
|
use Modules\Currency\Entities\CurrencyRate;
|
||
|
use Jackiedo\DotenvEditor\Facades\DotenvEditor;
|
||
|
|
||
|
class App
|
||
|
{
|
||
|
public function setup()
|
||
|
{
|
||
|
$this->generateAppKey();
|
||
|
$this->setEnvVariables();
|
||
|
$this->createCustomerRole();
|
||
|
$this->setAppSettings();
|
||
|
$this->createDefaultCurrencyRate();
|
||
|
$this->createStorageFolder();
|
||
|
}
|
||
|
|
||
|
private function generateAppKey()
|
||
|
{
|
||
|
Artisan::call('key:generate', ['--force' => true]);
|
||
|
}
|
||
|
|
||
|
private function setEnvVariables()
|
||
|
{
|
||
|
$env = DotenvEditor::load();
|
||
|
|
||
|
$env->setKey('APP_ENV', 'production');
|
||
|
$env->setKey('APP_DEBUG', 'false');
|
||
|
$env->setKey('APP_CACHE', 'true');
|
||
|
$env->setKey('APP_URL', url('/'));
|
||
|
|
||
|
$env->save();
|
||
|
}
|
||
|
|
||
|
private function createCustomerRole()
|
||
|
{
|
||
|
Role::create(['name' => 'Customer']);
|
||
|
}
|
||
|
|
||
|
private function setAppSettings()
|
||
|
{
|
||
|
Setting::setMany([
|
||
|
'active_theme' => 'Storefront',
|
||
|
'supported_countries' => ['BD'],
|
||
|
'default_country' => 'BD',
|
||
|
'supported_locales' => ['en'],
|
||
|
'default_locale' => 'en',
|
||
|
'default_timezone' => 'Asia/Dhaka',
|
||
|
'customer_role' => 2,
|
||
|
'reviews_enabled' => true,
|
||
|
'auto_approve_reviews' => true,
|
||
|
'cookie_bar_enabled' => true,
|
||
|
'supported_currencies' => ['USD'],
|
||
|
'default_currency' => 'USD',
|
||
|
'send_order_invoice_email' => false,
|
||
|
'store_email' => 'admin@fleetcart.test',
|
||
|
'newsletter_enabled' => false,
|
||
|
'search_engine' => 'mysql',
|
||
|
'local_pickup_cost' => 0,
|
||
|
'flat_rate_cost' => 0,
|
||
|
'translatable' => [
|
||
|
'store_name' => 'FleetCart',
|
||
|
'free_shipping_label' => 'Free Shipping',
|
||
|
'local_pickup_label' => 'Local Pickup',
|
||
|
'flat_rate_label' => 'Flat Rate',
|
||
|
'paypal_label' => 'PayPal',
|
||
|
'paypal_description' => 'Pay via your PayPal account.',
|
||
|
'stripe_label' => 'Stripe',
|
||
|
'stripe_description' => 'Pay via credit or debit card.',
|
||
|
'paytm_label' => 'Paytm',
|
||
|
'paytm_description' => 'The best payment gateway provider in India for e-payment through credit card, debit card & net banking.',
|
||
|
'razorpay_label' => 'Razorpay',
|
||
|
'razorpay_description' => 'Pay securely by Credit or Debit card or Internet Banking through Razorpay.',
|
||
|
'instamojo_label' => 'Instamojo',
|
||
|
'instamojo_description' => 'CC/DB/NB/Wallets',
|
||
|
'authorizenet_label' => 'Authorize.net',
|
||
|
'authorizenet_description' => 'Accept payments anytime, anywhere',
|
||
|
'paystack_label' => 'Paystack',
|
||
|
'paystack_description' => 'Modern online and offline payments for Africa',
|
||
|
'flutterwave_label' => 'Flutterwave',
|
||
|
'flutterwave_description' => 'Endless possibilities for every business',
|
||
|
'mercadopago_label' => 'Mercado Pago',
|
||
|
'mercadopago_description' => 'From now on, do more with your money',
|
||
|
'cod_label' => 'Cash On Delivery',
|
||
|
'cod_description' => 'Pay with cash upon delivery.',
|
||
|
'bank_transfer_label' => 'Bank Transfer',
|
||
|
'bank_transfer_description' => 'Make your payment directly into our bank account. Please use your Order ID as the payment reference.',
|
||
|
'check_payment_label' => 'Check / Money Order',
|
||
|
'check_payment_description' => 'Please send a check to our store.',
|
||
|
],
|
||
|
'storefront_copyright_text' => 'Copyright © <a href="{{ store_url }}">{{ store_name }}</a> {{ year }}. All rights reserved.',
|
||
|
]);
|
||
|
}
|
||
|
|
||
|
private function createDefaultCurrencyRate()
|
||
|
{
|
||
|
CurrencyRate::create(['currency' => 'USD', 'rate' => 1]);
|
||
|
}
|
||
|
|
||
|
private function createStorageFolder()
|
||
|
{
|
||
|
if (!is_dir(public_path('storage'))) {
|
||
|
mkdir(public_path('storage'));
|
||
|
}
|
||
|
}
|
||
|
}
|