⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.45
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
dnc
/
@core
/
app
/
Http
/
Controllers
/
View File Name :
GeneralSettingsController.php
<?php namespace App\Http\Controllers; use App\PopupBuilder; use Illuminate\Http\Request; use Illuminate\Support\Facades\Artisan; use App\Language; use Illuminate\Support\Facades\Http; use Illuminate\Support\Str; use Spatie\Sitemap\SitemapGenerator; use Symfony\Component\HttpFoundation\Session\Flash\FlashBag; class GeneralSettingsController extends Controller { public function __construct() { $this->middleware('auth:admin'); } public function site_identity() { return view('backend.general-settings.site-identity'); } public function update_site_identity(Request $request) { $this->validate($request, [ 'site_logo' => 'nullable|string', 'site_favicon' => 'nullable|string', 'site_white_logo' => 'nullable|string', ]); $fields = [ 'site_logo', 'site_favicon', 'site_white_logo', ]; foreach ($fields as $field) { if ($request->has($field)) { update_static_option($field, $request->$field); } } return redirect()->back()->with([ 'msg' => __('Settings Updated'), 'type' => 'success' ]); } public function basic_settings() { $all_languages = Language::all(); return view('backend.general-settings.basic')->with(['all_languages' => $all_languages]); } public function update_basic_settings(Request $request) { $this->validate($request, [ 'language_select_option' => 'nullable|string', 'disable_user_email_verify' => 'nullable|string', 'site_main_color_one' => 'nullable|string', 'site_main_color_two' => 'nullable|string', 'site_secondary_color' => 'nullable|string', 'site_heading_color' => 'nullable|string', 'site_paragraph_color' => 'nullable|string', 'site_maintenance_mode' => 'nullable|string', 'admin_loader_animation' => 'nullable|string', 'site_loader_animation' => 'nullable|string', 'site_loader_animation' => 'nullable|string', 'guest_order_system_status' => 'nullable|string', 'site_google_captcha_enable' => 'nullable|string', 'admin_panel_rtl_status' => 'nullable|string', ]); $all_language = Language::all(); foreach ($all_language as $lang) { $this->validate($request, [ 'site_' . $lang->slug . '_title' => 'nullable|string', 'site_' . $lang->slug . '_tag_line' => 'nullable|string', 'site_' . $lang->slug . '_footer_copyright' => 'nullable|string', ]); $_title = 'site_' . $lang->slug . '_title'; $_tag_line = 'site_' . $lang->slug . '_tag_line'; $_footer_copyright = 'site_' . $lang->slug . '_footer_copyright'; update_static_option($_title, $request->$_title); update_static_option($_tag_line, $request->$_tag_line); update_static_option($_footer_copyright, $request->$_footer_copyright); } $all_fields = [ 'language_select_option', 'disable_user_email_verify', 'site_main_color_one', 'site_main_color_two', 'site_secondary_color', 'site_heading_color', 'site_paragraph_color', 'site_maintenance_mode', 'admin_loader_animation', 'site_loader_animation', 'guest_order_system_status', 'site_google_captcha_enable', 'admin_panel_rtl_status', ]; foreach ($all_fields as $field) { update_static_option($field, $request->$field); } return redirect()->back()->with(['msg' => __('Basic Settings Update Success'), 'type' => 'success']); } public function seo_settings() { $all_languages = Language::all(); return view('backend.general-settings.seo')->with(['all_languages' => $all_languages]); } public function update_seo_settings(Request $request) { $all_languages = Language::all(); foreach ($all_languages as $lang) { $this->validate($request, [ 'site_meta_' . $lang->slug . '_tags' => 'nullable|string', 'site_meta_' . $lang->slug . '_description' => 'nullable|string', 'og_meta_' . $lang->slug . '_title' => 'nullable|string', 'og_meta_' . $lang->slug . '_description' => 'nullable|string', 'og_meta_' . $lang->slug . '_site_name' => 'nullable|string', 'og_meta_' . $lang->slug . '_url' => 'nullable|string', 'og_meta_' . $lang->slug . '_image' => 'nullable|string', ]); $fields = [ 'site_meta_' . $lang->slug . '_tags', 'site_meta_' . $lang->slug . '_description', 'og_meta_' . $lang->slug . '_title', 'og_meta_' . $lang->slug . '_description', 'og_meta_' . $lang->slug . '_site_name', 'og_meta_' . $lang->slug . '_url', 'og_meta_' . $lang->slug . '_image' ]; foreach ($fields as $field) { if ($request->has($field)) { update_static_option($field, $request->$field); } } } return redirect()->back()->with(['msg' => __('SEO Settings Update'), 'type' => 'success']); } public function scripts_settings() { return view('backend.general-settings.thid-party'); } public function update_scripts_settings(Request $request) { $this->validate($request, [ 'site_disqus_key' => 'nullable|string', 'tawk_api_key' => 'nullable|string', 'site_third_party_tracking_code' => 'nullable|string', 'site_google_analytics' => 'nullable|string', 'site_google_captcha_v3_site_key' => 'nullable|string', 'site_google_captcha_v3_secret_key' => 'nullable|string', ]); $fields = [ 'site_disqus_key', 'site_google_analytics', 'tawk_api_key', 'site_third_party_tracking_code', 'site_google_captcha_v3_site_key', 'site_google_captcha_v3_secret_key', ]; foreach ($fields as $field) { if ($request->has($field)) { update_static_option($field, $request->$field); } } return redirect()->back()->with(['msg' => __('Third Party Scripts Settings Updated'), 'type' => 'success']); } public function email_template_settings() { return view('backend.general-settings.email-template'); } public function update_email_template_settings(Request $request) { $this->validate($request, [ 'site_global_email' => 'required|string', 'site_global_email_template' => 'required|string', ]); $save_data = [ 'site_global_email', 'site_global_email_template' ]; foreach ($save_data as $item) { if (empty($request->$item)) { continue; } update_static_option($item, $request->$item); } return redirect()->back()->with(['msg' => __('Settings Updated'), 'type' => 'success']); } public function cache_settings() { return view('backend.general-settings.cache-settings'); } public function email_settings() { $all_languages = Language::all(); return view('backend.general-settings.email-settings')->with(['all_languages' => $all_languages]); } public function update_email_settings(Request $request) { $all_languages = Language::all(); foreach ($all_languages as $lang) { $this->validate($request, [ 'contact_mail_' . $lang->slug . '_success_message' => 'nullable|string', 'order_mail_' . $lang->slug . '_success_message' => 'nullable|string', ]); $fields = [ 'contact_mail_' . $lang->slug . '_success_message', 'order_mail_' . $lang->slug . '_success_message', ]; foreach ($fields as $field) { if ($request->has($field)) { update_static_option($field, $request->$field); } } } return redirect()->back()->with(['msg' => __('Email Settings Updated'), 'type' => 'success']); } public function update_cache_settings(Request $request) { $this->validate($request, [ 'cache_type' => 'required|string' ]); Artisan::call($request->cache_type . ':clear'); return redirect()->back()->with(['msg' => __('Cache Cleaned'), 'type' => 'success']); } public function typography_settings() { $all_google_fonts = file_get_contents('assets/frontend/webfonts/google-fonts.json'); return view('backend.general-settings.typograhpy')->with(['google_fonts' => json_decode($all_google_fonts)]); } public function get_single_font_variant(Request $request) { $all_google_fonts = file_get_contents('assets/frontend/webfonts/google-fonts.json'); $decoded_fonts = json_decode($all_google_fonts, true); return response()->json($decoded_fonts[$request->font_family]); } public function update_typography_settings(Request $request) { $this->validate($request, [ 'body_font_family' => 'required|string|max:191', 'body_font_variant' => 'required', 'heading_font' => 'nullable|string', 'heading_font_family' => 'nullable|string|max:191', 'heading_font_variant' => 'nullable', ]); $save_data = [ 'body_font_family', 'heading_font_family', ]; foreach ($save_data as $item) { update_static_option($item, $request->$item); } $body_font_variant = !empty($request->body_font_variant) ? $request->body_font_variant : ['regular']; $heading_font_variant = !empty($request->heading_font_variant) ? $request->heading_font_variant : ['regular']; update_static_option('heading_font', $request->heading_font); update_static_option('body_font_variant', serialize($body_font_variant)); update_static_option('heading_font_variant', serialize($heading_font_variant)); return redirect()->back()->with(['msg' => __('Typography Settings Updated..'), 'type' => 'success']); } public function smtp_settings() { return view('backend.general-settings.smtp-settings'); } public function update_smtp_settings(Request $request) { $this->validate($request, [ 'site_smtp_mail_host' => 'required|string', 'site_smtp_mail_mailer' => 'required|string', 'site_smtp_mail_port' => 'required|string', 'site_smtp_mail_username' => 'required|string', 'site_smtp_mail_password' => 'required|string', 'site_smtp_mail_encryption' => 'required|string' ]); $fields = [ 'site_smtp_mail_mailer', 'site_smtp_mail_host', 'site_smtp_mail_port', 'site_smtp_mail_username', 'site_smtp_mail_password', 'site_smtp_mail_encryption', ]; foreach ($fields as $field) { update_static_option($field, $request->$field); } $env_val['MAIL_MAILER'] = !empty($request->site_smtp_mail_mailer) ? $request->site_smtp_mail_mailer : 'smtp'; $env_val['MAIL_HOST'] = !empty($request->site_smtp_mail_host) ? $request->site_smtp_mail_host : 'YOUR_SMTP_MAIL_HOST'; $env_val['MAIL_PORT'] = !empty($request->site_smtp_mail_port) ? $request->site_smtp_mail_port : 'YOUR_SMTP_MAIL_POST'; $env_val['MAIL_USERNAME'] = !empty($request->site_smtp_mail_username) ? $request->site_smtp_mail_username : 'YOUR_SMTP_MAIL_USERNAME'; $env_val['MAIL_PASSWORD'] = !empty($request->site_smtp_mail_password) ? $request->site_smtp_mail_password : 'YOUR_SMTP_MAIL_USERNAME_PASSWORD'; $env_val['MAIL_ENCRYPTION'] = !empty($request->site_smtp_mail_encryption) ? $request->site_smtp_mail_encryption : 'YOUR_SMTP_MAIL_ENCRYPTION'; setEnvValue($env_val); return redirect()->back()->with(['msg' => __('Settings Updated...'), 'type' => 'success']); } public function page_settings() { $all_languages = Language::all(); return view('backend.general-settings.page-settings')->with(['all_languages' => $all_languages]); } public function update_page_settings(Request $request) { $all_languages = Language::all(); $this->validate($request, [ 'about_page_slug' => 'required|string|max:191', 'contact_page_slug' => 'required|string|max:191', 'blog_page_slug' => 'required|string|max:191', 'services_page_slug' => 'required|string|max:191', 'works_page_slug' => 'required|string|max:191', 'faq_page_slug' => 'required|string|max:191', 'support_ticket_page_slug' => 'required|string|max:191', ]); $slug_list = [ 'about_page_slug', 'contact_page_slug', 'blog_page_slug', 'services_page_slug', 'works_page_slug', 'faq_page_slug', 'support_ticket_page_slug', ]; foreach ($slug_list as $slug_field) { update_static_option($slug_field, Str::slug($request->$slug_field)); } foreach ($all_languages as $lang) { $this->validate($request, [ 'about_page_' . $lang->slug . '_name' => 'nullable|string', 'blog_page_' . $lang->slug . '_name' => 'nullable|string', 'contact_page_' . $lang->slug . '_name' => 'nullable|string', 'services_page_' . $lang->slug . '_name' => 'nullable|string', 'works_page_' . $lang->slug . '_name' => 'nullable|string', 'faq_page_' . $lang->slug . '_name' => 'nullable|string', 'support_ticket_page_' . $lang->slug . '_name' => 'nullable|string', ]); $all_field = [ 'about_page_' . $lang->slug . '_name', 'about_page_' . $lang->slug . '_meta_tags', 'about_page_' . $lang->slug . '_meta_description', 'contact_page_' . $lang->slug . '_name', 'contact_page_' . $lang->slug . '_meta_tags', 'contact_page_' . $lang->slug . '_meta_description', 'blog_page_' . $lang->slug . '_name', 'blog_page_' . $lang->slug . '_meta_tags', 'blog_page_' . $lang->slug . '_meta_description', 'services_page_' . $lang->slug . '_name', 'services_page_' . $lang->slug . '_meta_tags', 'services_page_' . $lang->slug . '_meta_description', 'works_page_' . $lang->slug . '_name', 'works_page_' . $lang->slug . '_meta_tags', 'works_page_' . $lang->slug . '_meta_description', 'faq_page_' . $lang->slug . '_name', 'faq_page_' . $lang->slug . '_meta_tags', 'faq_page_' . $lang->slug . '_meta_description', 'support_ticket_page_' . $lang->slug . '_name', 'support_ticket_page_' . $lang->slug . '_meta_tags', 'support_ticket_page_' . $lang->slug . '_meta_description', ]; foreach ($all_field as $field) { update_static_option($field, $request->$field); } } return redirect()->back()->with(['msg' => __('Page Settings Updated'), 'type' => 'success']); } public function payment_settings() { return view('backend.general-settings.payment-gateway'); } public function update_payment_settings(Request $request) { $this->validate($request, [ 'paypal_preview_logo'=> 'nullable|string|max:191', 'paypal_mode'=> 'nullable|string|max:191', 'paypal_sandbox_client_id'=> 'nullable|string|max:191', 'paypal_sandbox_client_secret'=> 'nullable|string|max:191', 'paypal_sandbox_app_id'=> 'nullable|string|max:191', 'paypal_live_app_id'=> 'nullable|string|max:191', 'paypal_payment_action'=> 'nullable|string|max:191', 'paypal_currency'=> 'nullable|string|max:191', 'paypal_notify_url'=> 'nullable|string|max:191', 'paypal_locale'=> 'nullable|string|max:191', 'paypal_validate_ssl'=> 'nullable|string|max:191', 'paypal_live_client_id'=> 'nullable|string|max:191', 'paypal_live_client_secret'=> 'nullable|string|max:191', 'razorpay_preview_logo' => 'nullable|string|max:191', 'stripe_preview_logo' => 'nullable|string|max:191', 'paypal_gateway' => 'nullable|string|max:191', 'paytm_gateway' => 'nullable|string|max:191', 'paytm_preview_logo' => 'nullable|string|max:191', 'paytm_merchant_key' => 'nullable|string|max:191', 'paytm_merchant_mid' => 'nullable|string|max:191', 'paytm_merchant_website' => 'nullable|string|max:191', 'site_global_currency' => 'nullable|string|max:191', 'site_manual_payment_name' => 'nullable|string|max:191', 'manual_payment_preview_logo' => 'nullable|string|max:191', 'site_manual_payment_description' => 'nullable|string|max:191', 'razorpay_key' => 'nullable|string|max:191', 'razorpay_secret' => 'nullable|string|max:191', 'stripe_publishable_key' => 'nullable|string|max:191', 'stripe_secret_key' => 'nullable|string|max:191', 'site_global_payment_gateway' => 'nullable|string|max:191', 'paystack_merchant_email' => 'nullable|string|max:191', 'paystack_preview_logo' => 'nullable|string|max:191', 'paystack_public_key' => 'nullable|string|max:191', 'paystack_secret_key' => 'nullable|string|max:191', 'cash_on_delivery_gateway' => 'nullable|string|max:191', 'cash_on_delivery_preview_logo' => 'nullable|string|max:191', 'mollie_preview_logo' => 'nullable|string|max:191', 'mollie_public_key' => 'nullable|string|max:191', 'marcado_pagp_client_id' => 'nullable|string|max:191', 'marcado_pago_client_secret' => 'nullable|string|max:191', 'marcado_pago_test_mode' => 'nullable|string|max:191', ]); $global_currency = get_static_option('site_global_currency'); $save_data = [ 'cash_on_delivery_preview_logo', 'stripe_preview_logo', 'paystack_preview_logo', 'paystack_public_key', 'paystack_secret_key', 'paystack_merchant_email', 'razorpay_preview_logo', 'paytm_preview_logo', 'paytm_merchant_key', 'paytm_merchant_mid', 'paytm_merchant_website', 'site_global_currency', 'manual_payment_preview_logo', 'site_manual_payment_name', 'site_manual_payment_description', 'razorpay_api_key', 'razorpay_api_secret', 'stripe_public_key', 'stripe_secret_key', 'site_global_payment_gateway', 'site_usd_to_ngn_exchange_rate', 'site_euro_to_ngn_exchange_rate', 'mollie_public_key', 'mollie_preview_logo', 'flutterwave_preview_logo', 'flw_public_key', 'flw_secret_key', 'flw_secret_hash', 'site_currency_symbol_position', 'site_default_payment_gateway', 'paypal_preview_logo', 'paypal_mode', 'paypal_sandbox_client_id', 'paypal_sandbox_client_secret', 'paypal_sandbox_app_id', 'paypal_live_client_id', 'paypal_live_client_secret', 'paypal_live_app_id', 'paypal_payment_action', 'paypal_currency', 'paypal_notify_url', 'paypal_locale', 'paypal_validate_ssl', 'site_' . strtolower($global_currency) . '_to_idr_exchange_rate', 'site_' . strtolower($global_currency) . '_to_inr_exchange_rate', 'site_' . strtolower($global_currency) . '_to_ngn_exchange_rate', 'site_' . strtolower($global_currency) . '_to_zar_exchange_rate', 'site_' . strtolower($global_currency) . '_to_brl_exchange_rate', 'midtrans_preview_logo', 'midtrans_merchant_id', 'midtrans_server_key', 'midtrans_client_key', 'midtrans_environment', 'payfast_preview_logo', 'payfast_merchant_id', 'payfast_merchant_key', 'payfast_passphrase', 'payfast_merchant_env', 'payfast_itn_url', 'cashfree_preview_logo', 'cashfree_test_mode', 'cashfree_app_id', 'cashfree_secret_key', 'instamojo_preview_logo', 'instamojo_client_id', 'instamojo_client_secret', 'instamojo_username', 'instamojo_password', 'instamojo_test_mode', 'marcadopago_preview_logo', 'marcado_pago_client_id', 'marcado_pago_client_secret', 'marcado_pago_test_mode', ]; foreach ($save_data as $item) { update_static_option($item, $request->$item); } update_static_option('manual_payment_gateway', $request->manual_payment_gateway); update_static_option('paypal_gateway', $request->paypal_gateway); update_static_option('paytm_test_mode', $request->paytm_test_mode); update_static_option('paypal_test_mode', $request->paypal_test_mode); update_static_option('paytm_gateway', $request->paytm_gateway); update_static_option('razorpay_gateway', $request->razorpay_gateway); update_static_option('stripe_gateway', $request->stripe_gateway); update_static_option('paystack_gateway', $request->paystack_gateway); update_static_option('mollie_gateway', $request->mollie_gateway); update_static_option('cash_on_delivery_gateway', $request->cash_on_delivery_gateway); update_static_option('flutterwave_gateway', $request->flutterwave_gateway); update_static_option('midtrans_gateway', $request->midtrans_gateway); update_static_option('midtrans_test_mode', $request->midtrans_test_mode); update_static_option('payfast_gateway', $request->payfast_gateway); update_static_option('cashfree_test_mode', $request->cashfree_test_mode); update_static_option('cashfree_gateway', $request->cashfree_gateway); update_static_option('instamojo_gateway', $request->instamojo_gateway); update_static_option('instamojo_test_mode', $request->instamojo_test_mode); update_static_option('marcadopago_gateway', $request->marcadopago_gateway); update_static_option('marcadopago_test_mode', $request->marcadopago_test_mode); //Paypal $env_val['SITE_GLOBAL_CURRENCY'] = $request->site_global_currency ; $env_val['PAYPAL_MODE'] = !empty($request->paypal_mode) ? 'sandbox' : 'live'; $env_val['PAYPAL_SANDBOX_CLIENT_ID'] = $request->paypal_sandbox_client_id ? : 'AUP7AuZMwJbkee-2OmsSZrU-ID1XUJYE-YB-2JOrxeKV-q9ZJZYmsr-UoKuJn4kwyCv5ak26lrZyb-gb'; $env_val['PAYPAL_SANDBOX_CLIENT_SECRET'] = $request->paypal_sandbox_client_secret ? : 'EEIxCuVnbgING9EyzcF2q-gpacLneVbngQtJ1mbx-42Lbq-6Uf6PEjgzF7HEayNsI4IFmB9_CZkECc3y'; $env_val['PAYPAL_SANDBOX_APP_ID'] = $request->paypal_sandbox_app_id ? : '456345645645'; $env_val['PAYPAL_LIVE_CLIENT_ID'] = $request->paypal_live_client_id ? : ''; $env_val['PAYPAL_LIVE_CLIENT_SECRET'] = $request->paypal_live_client_secret ? : ''; $env_val['PAYPAL_LIVE_APP_ID'] = $request->paypal_live_app_id ? : ''; $env_val['PAYPAL_PAYMENT_ACTION'] = $request->paypal_payment_action ? : ''; $env_val['PAYPAL_CURRENCY'] = $request->paypal_currency ? : 'USD'; $env_val['PAYPAL_NOTIFY_URL'] = $request->paypal_notify_url ? : 'http://gateway.test/paypal/ipn'; $env_val['PAYPAL_LOCALE'] = $request->paypal_locale ? : 'en_GB'; $env_val['PAYPAL_VALIDATE_SSL'] = $request->paypal_validate_ssl ? : 'false'; $env_val['PAYSTACK_PUBLIC_KEY'] = $request->paystack_public_key ?: 'pk_test_081a8fcd9423dede2de7b4c3143375b5e5415290'; $env_val['PAYSTACK_SECRET_KEY'] = $request->paystack_secret_key ?: 'sk_test_c874d38f8d08760efc517fc83d8cd574b906374f'; $env_val['MERCHANT_EMAIL'] = $request->paystack_merchant_email ?: 'example@gmail.com'; $env_val['MOLLIE_KEY'] = $request->mollie_public_key ?: 'test_SMWtwR6W48QN2UwFQBUqRDKWhaQEvw'; $env_val['FLW_PUBLIC_KEY'] = $request->flw_public_key ?: 'FLWPUBK_TEST-86cce2ec43c63e09a517290a8347fcab-X'; $env_val['FLW_SECRET_KEY'] = $request->flw_secret_key ?: 'FLWSECK_TEST-d37a42d8917db84f1b2f47c125252d0a-X'; $env_val['FLW_SECRET_HASH'] = $request->flw_secret_hash ?: 'oxo'; $env_val['RAZORPAY_API_KEY'] = $request->razorpay_api_key ? : 'rzp_test_SXk7LZqsBPpAkj'; $env_val['RAZORPAY_API_SECRET'] = $request->razorpay_api_secret ? : 'Nenvq0aYArtYBDOGgmMH7JNv'; $env_val['STRIPE_PUBLIC_KEY'] = $request->stripe_public_key ? : 'pk_test_51GwS1SEmGOuJLTMsIeYKFtfAT3o3Fc6IOC7wyFmmxA2FIFQ3ZigJ2z1s4ZOweKQKlhaQr1blTH9y6HR2PMjtq1Rx00vqE8LO0x'; $env_val['STRIPE_SECRET_KEY'] = $request->stripe_secret_key ? : 'sk_test_51GwS1SEmGOuJLTMs2vhSliTwAGkOt4fKJMBrxzTXeCJoLrRu8HFf4I0C5QuyE3l3bQHBJm3c0qFmeVjd0V9nFb6Z00VrWDJ9Uw'; $env_val['PAYTM_MERCHANT_ID'] = $request->paytm_merchant_mid ?: 'Digita57697814558795'; $env_val['PAYTM_MERCHANT_KEY'] = '"' . $request->paytm_merchant_key . '"' ?: 'dv0XtmsPYpewNag&'; $env_val['PAYTM_MERCHANT_WEBSITE'] = '"' . $request->paytm_merchant_website . '"' ?: 'WEBSTAGING'; $env_val['PAYTM_CHANNEL'] = '"' . $request->paytm_channel . '"' ?: 'WEB'; $env_val['PAYTM_INDUSTRY_TYPE'] = '"' . $request->paytm_industry_type . '"' ? : 'Retail'; $global_currency = get_static_option('site_global_currency'); $currency_filed_name = 'site_' . strtolower($global_currency) . '_to_usd_exchange_rate'; update_static_option('site_' . strtolower($global_currency) . '_to_usd_exchange_rate', $request->$currency_filed_name); $idr_currency_filed_name = 'site_' . strtolower($global_currency) . '_to_idr_exchange_rate'; $inr_currency_filed_name = 'site_' . strtolower($global_currency) . '_to_inr_exchange_rate'; $ngn_currency_filed_name = 'site_' . strtolower($global_currency) . '_to_ngn_exchange_rate'; $zar_currency_filed_name = 'site_' . strtolower($global_currency) . '_to_zar_exchange_rate'; $brl_currency_filed_name = 'site_' . strtolower($global_currency) . '_to_brl_exchange_rate'; $env_val['IDR_EXCHANGE_RATE'] = $request->$idr_currency_filed_name ? $request->$idr_currency_filed_name : '14365.30'; $env_val['INR_EXCHANGE_RATE'] = $request->$inr_currency_filed_name ? $request->$inr_currency_filed_name : '74.85'; $env_val['NGN_EXCHANGE_RATE'] = $request->$ngn_currency_filed_name ? $request->$ngn_currency_filed_name : '409.91'; $env_val['ZAR_EXCHANGE_RATE'] = $request->$zar_currency_filed_name ? $request->$zar_currency_filed_name : '15.86'; $env_val['BRL_EXCHANGE_RATE'] = $request->$brl_currency_filed_name ? $request->$brl_currency_filed_name : '5.70'; $env_val['MIDTRANS_MERCHANT_ID'] = $request->midtrans_merchant_id ? : 'G770543580'; $env_val['MIDTRANS_SERVER_KEY'] = $request->midtrans_server_key ? : 'SB-Mid-server-9z5jztsHyYxEdSs7DgkNg2on'; $env_val['MIDTRANS_CLIENT_KEY'] = $request->midtrans_client_key ? : 'SB-Mid-client-iDuy-jKdZHkLjL_I'; $env_val['PF_MERCHANT_ID'] = $request->payfast_merchant_id ? : '10024000'; $env_val['PF_MERCHANT_KEY'] = $request->payfast_merchant_key ? : '77jcu5v4ufdod'; $env_val['PAYFAST_PASSPHRASE'] = $request->payfast_passphrase ? : 'testpayfastsohan'; $env_val['PF_ITN_URL'] = $request->payfast_itn_url ? : 'https://fundorex.test/donation-payfast'; $env_val['CASHFREE_TEST_MODE'] = $request->cashfree_test_mode ? : 'true'; $env_val['CASHFREE_APP_ID'] = $request->cashfree_app_id ? : '94527832f47d6e74fa6ca5e3c72549'; $env_val['CASHFREE_SECRET_KEY'] = $request->cashfree_secret_key ? : 'ec6a3222018c676e95436b2e26e89c1ec6be2830'; $env_val['INSTAMOJO_CLIENT_ID'] = $request->instamojo_client_id ? : 'test_nhpJ3RvWObd3uryoIYF0gjKby5NB5xu6S9Z'; $env_val['INSTAMOJO_CLIENT_SECRET'] = $request->instamojo_client_secret ? : 'test_iZusG4P35maQVPTfqutbCc6UEbba3iesbCbrYM7zOtDaJUdbPz76QOnBcDgblC53YBEgsymqn2sx3NVEPbl3b5coA3uLqV1ikxKquOeXSWr8Ruy7eaKUMX1yBbm'; $env_val['INSTAMOJO_USERNAME'] = $request->instamojo_username ? : ''; $env_val['INSTAMOJO_PASSWORD'] = $request->instamojo_password ? : ''; $env_val['MERCADO_PAGO_CLIENT_ID'] = $request->marcado_pago_client_id ? : 'TEST-0a3cc78a-57bf-4556-9dbe-2afa06347769'; $env_val['MERCADO_PAGO_CLIENT_SECRET'] = $request->marcado_pago_client_secret ? : 'TEST-4644184554273630-070813-7d817e2ca1576e75884001d0755f8a7a-786499991'; setEnvValue($env_val); return redirect()->back()->with([ 'msg' => __('Payment Settings Updated..'), 'type' => 'success' ]); } public function custom_css_settings() { $custom_css = '/* Write Custom Css Here */'; if (file_exists('assets/frontend/css/dynamic-style.css')) { $custom_css = file_get_contents('assets/frontend/css/dynamic-style.css'); } return view('backend.general-settings.custom-css')->with(['custom_css' => $custom_css]); } public function update_custom_css_settings(Request $request) { file_put_contents('assets/frontend/css/dynamic-style.css', $request->custom_css_area); return redirect()->back()->with(['msg' => __('Custom Style Added Success'), 'type' => 'success']); } public function custom_js_settings() { $custom_js = '/* Write Custom js Here */'; if (file_exists('assets/frontend/js/dynamic-script.js')) { $custom_js = file_get_contents('assets/frontend/js/dynamic-script.js'); } return view('backend.general-settings.custom-js')->with(['custom_js' => $custom_js]); } public function update_custom_js_settings(Request $request) { file_put_contents('assets/frontend/js/dynamic-script.js', $request->custom_js_area); return redirect()->back()->with(['msg' => __('Custom Script Added Success'), 'type' => 'success']); } public function gdpr_settings() { $all_languages = Language::all(); return view('backend.general-settings.gdpr')->with(['all_languages' => $all_languages]); } public function update_gdpr_cookie_settings(Request $request) { $this->validate($request, [ 'site_gdpr_cookie_enabled' => 'nullable|string|max:191', 'site_gdpr_cookie_expire' => 'required|string|max:191', 'site_gdpr_cookie_delay' => 'required|string|max:191', ]); $all_language = Language::all(); foreach ($all_language as $lang) { $this->validate($request, [ "site_gdpr_cookie_" . $lang->slug . "_title" => 'nullable|string', "site_gdpr_cookie_" . $lang->slug . "_message" => 'nullable|string', "site_gdpr_cookie_" . $lang->slug . "_more_info_label" => 'nullable|string', "site_gdpr_cookie_" . $lang->slug . "_more_info_link" => 'nullable|string', "site_gdpr_cookie_" . $lang->slug . "_accept_button_label" => 'nullable|string', "site_gdpr_cookie_" . $lang->slug . "_decline_button_label" => 'nullable|string', ]); $_title = "site_gdpr_cookie_" . $lang->slug . "_title"; $_message = "site_gdpr_cookie_" . $lang->slug . "_message"; $_more_info_label = "site_gdpr_cookie_" . $lang->slug . "_more_info_label"; $_more_info_link = "site_gdpr_cookie_" . $lang->slug . "_more_info_link"; $_accept_button_label = "site_gdpr_cookie_" . $lang->slug . "_accept_button_label"; $decline_button_label = "site_gdpr_cookie_" . $lang->slug . "_decline_button_label"; $fields = [ $_title, $_message, $_more_info_label, $_more_info_link, $_accept_button_label, $decline_button_label, ]; foreach ($fields as $field) { if ($request->has($field)) { update_static_option($field, $request->$field); } } } $fields = [ 'site_gdpr_cookie_delay', 'site_gdpr_cookie_enabled', 'site_gdpr_cookie_expire', ]; foreach ($fields as $field) { update_static_option($field, $request->$field); } return redirect()->back()->with(['msg' => __('GDPR Cookie Settings Updated'), 'type' => 'success']); } public function license_settings() { return view('backend.general-settings.license-settings'); } public function update_license_settings(Request $request) { $this->validate($request, [ 'item_purchase_key' => 'required' ]); update_static_option('item_purchase_key', $request->item_purchase_key); update_static_option('item_license_status', 'verified'); update_static_option('item_license_msg', 'Valid'); setcookie("site_license_check", "", time() - 3600, '/'); $license_info = [ "item_license_status" => 'verified', "last_check" => time(), "purchase_code" => get_static_option('item_purchase_key'), "xgenious_app_key" => env('XGENIOUS_API_KEY'), "author" => env('XGENIOUS_API_AUTHOR'), "message" => 'valid' ]; file_put_contents('@core/license.json', json_encode($license_info)); return redirect()->back()->with(['msg' => 'Valid', 'type' => 'verified']); } public function popup_settings() { $all_languages = Language::all(); $all_popup = PopupBuilder::all()->groupBy('lang'); return view('backend.general-settings.popup-settings')->with(['all_popup' => $all_popup, 'all_languages' => $all_languages]); } public function update_popup_settings(Request $request) { $this->validate($request, [ 'popup_enable_status' => 'nullable|string', 'popup_delay_time' => 'nullable|string', ]); $fields = [ 'popup_enable_status', 'popup_delay_time', ]; foreach ($fields as $field) { update_static_option($field, $request->$field); } $all_languages = Language::all(); foreach ($all_languages as $lang) { $this->validate($request, [ 'popup_selected_' . $lang->slug . '_id' => 'nullable|string' ]); $field = 'popup_selected_' . $lang->slug . '_id'; update_static_option($field, $request->$field); } return redirect()->back()->with(['msg' => __('Settings Updated'), 'type' => 'success']); } public function sitemap_settings() { $all_sitemap = glob('sitemap/*'); return view('backend.general-settings.sitemap-settings')->with(['all_sitemap' => $all_sitemap]); } public function update_sitemap_settings(Request $request) { $this->validate($request, [ 'site_url' => 'required|url', 'title' => 'nullable|string', ]); $title = $request->title ? $request->title : time(); SitemapGenerator::create($request->site_url)->writeToFile('sitemap/sitemap-' . $title . '.xml'); return redirect()->back()->with([ 'msg' => __('Sitemap Generated..'), 'type' => 'success' ]); } public function delete_sitemap_settings(Request $request) { if (file_exists($request->sitemap_name)) { @unlink($request->sitemap_name); } return redirect()->back()->with(['msg' => __('Sitemap Deleted...'), 'type' => 'danger']); } public function new_popup() { $all_languages = Language::all(); return view('backend.general-settings.popup-new')->with(['all_languages' => $all_languages]); } public function store_popup(Request $request) { $this->validate($request, [ 'lang' => 'required|string', 'name' => 'required|string', 'title' => 'nullable|string', 'type' => 'required|string', 'description' => 'nullable|string', 'offer_time_end' => 'nullable|string', 'btn_status' => 'nullable|string', 'button_text' => 'nullable|string', 'button_link' => 'nullable|string', 'background_image' => 'nullable|string', 'image' => 'nullable|string', ]); PopupBuilder::create([ 'lang' => $request->lang, 'name' => $request->name, 'title' => $request->title, 'type' => $request->type, 'description' => $request->description, 'offer_time_end' => $request->offer_time_end, 'btn_status' => $request->btn_status, 'button_text' => $request->button_text, 'button_link' => $request->button_link, 'background_image' => $request->background_image, 'only_image' => $request->image, ]); return redirect()->back()->with(['msg' => __('New Popup Added'), 'type' => 'success']); } public function all_popup() { $all_popup = PopupBuilder::all()->groupBy('lang'); return view('backend.general-settings.popup-all')->with(['all_popup' => $all_popup]); } public function delete_popup(Request $request, $id) { PopupBuilder::find($id)->delete(); return redirect()->back()->with(['msg' => __('Popup Deleted...'), 'type' => 'danger']); } public function edit_popup($id) { $all_languages = Language::all(); $popup = PopupBuilder::find($id); return view('backend.general-settings.popup-edit')->with(['all_languages' => $all_languages, 'popup' => $popup]); } public function update_popup(Request $request, $id) { $this->validate($request, [ 'lang' => 'required|string', 'name' => 'required|string', 'title' => 'nullable|string', 'type' => 'required|string', 'description' => 'nullable|string', 'offer_time_end' => 'nullable|string', 'btn_status' => 'nullable|string', 'button_text' => 'nullable|string', 'button_link' => 'nullable|string', 'background_image' => 'nullable|string', 'image' => 'nullable|string', ]); PopupBuilder::find($id)->update([ 'lang' => $request->lang, 'name' => $request->name, 'title' => $request->title, 'type' => $request->type, 'description' => $request->description, 'offer_time_end' => $request->offer_time_end, 'btn_status' => $request->btn_status, 'button_text' => $request->button_text, 'button_link' => $request->button_link, 'background_image' => $request->background_image, 'only_image' => $request->image, ]); return redirect()->back()->with(['msg' => __('Popup Update Success'), 'type' => 'success']); } public function clone_popup(Request $request, $id) { $popup_details = PopupBuilder::find($id); PopupBuilder::create([ 'lang' => $popup_details->lang, 'name' => $popup_details->name, 'title' => $popup_details->title, 'type' => $popup_details->type, 'description' => $popup_details->description, 'offer_time_end' => $popup_details->offer_time_end, 'btn_status' => $popup_details->btn_status, 'button_text' => $popup_details->button_text, 'button_link' => $popup_details->button_link, 'background_image' => $popup_details->background_image, 'only_image' => $popup_details->only_image, ]); return redirect()->back()->with(['msg' => __('Popup Clone Success'), 'type' => 'success']); } public function bulk_action(Request $request) { $all = PopupBuilder::find($request->ids); foreach ($all as $item) { $item->delete(); } return response()->json(['status' => 'ok']); } //database upgrade public function database_upgrade(){ return view('backend.general-settings.database-upgrade'); } public function database_upgrade_post(Request $request){ setEnvValue(['APP_ENV' => 'local']); Artisan::call('migrate', ['--force' => true ]); if (class_exists('StaticOptionUpgrade')){ Artisan::call('db:seed', ['--force' => true ,'--class' => 'StaticOptionUpgrade']); } setEnvValue(['APP_ENV' => 'production']); return back()->with(['msg' => __('Database update complete'),'type' => 'success']); } }