Path : /var/www/html/usd_loan_system/app/Http/Controllers/ |
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
Current File : /var/www/html/usd_loan_system/app/Http/Controllers/SettingController.php |
<?php namespace App\Http\Controllers; use App\Helpers\GeneralHelper; use App\Models\ChartOfAccount; use App\Models\Country; use App\Models\Currency; use App\Models\Setting; use App\Models\SmsGateway; use Cartalyst\Sentinel\Laravel\Facades\Sentinel; use Illuminate\Http\Request; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Validator; use Laracasts\Flash\Flash; class SettingController extends Controller { public function __construct() { $this->middleware(['sentinel', 'branch']); } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function updateSystem() { Artisan::call('migrate'); Flash::success("Successfully Updated"); return redirect('setting/data'); } public function index() { if (!Sentinel::hasAccess('settings')) { Flash::warning("Permission Denied"); return redirect('/'); } $sms_gateways = array(); foreach (SmsGateway::all() as $key) { $sms_gateways[$key->id] = $key->name; } $countries = array(); foreach (Country::all() as $key) { $countries[$key->id] = $key->name; } $currencies = array(); foreach (Currency::all() as $key) { $currencies[$key->id] = $key->name; } $chart_expenses = array(); foreach (ChartOfAccount::where('account_type', 'expense')->get() as $key) { $chart_expenses[$key->id] = $key->name; } $chart_income = array(); foreach (ChartOfAccount::where('account_type', 'income')->get() as $key) { $chart_income[$key->id] = $key->name; } $chart_equity = array(); foreach (ChartOfAccount::where('account_type', 'equity')->get() as $key) { $chart_equity[$key->id] = $key->name; } return view('setting.data', compact('sms_gateways', 'countries', 'currencies', 'chart_income', 'chart_expenses', 'chart_equity') ); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request) { if (!Sentinel::hasAccess('settings')) { Flash::warning("Permission Denied"); return redirect('/'); } Setting::where('setting_key', 'company_name')->update(['setting_value' => $request->company_name]); Setting::where('setting_key', 'company_phone')->update(['setting_value' => $request->company_phone]); Setting::where('setting_key', 'company_address')->update(['setting_value' => $request->company_address]); Setting::where('setting_key', 'company_email')->update(['setting_value' => $request->company_email]); Setting::where('setting_key', 'company_website')->update(['setting_value' => $request->company_website]); Setting::where('setting_key', 'portal_address')->update(['setting_value' => $request->portal_address]); Setting::where('setting_key', 'currency_symbol')->update(['setting_value' => $request->currency_symbol]); Setting::where('setting_key', 'currency_position')->update(['setting_value' => $request->currency_position]); Setting::where('setting_key', 'company_currency')->update(['setting_value' => $request->company_currency]); Setting::where('setting_key', 'company_country')->update(['setting_value' => $request->company_country]); Setting::where('setting_key', 'sms_enabled')->update(['setting_value' => $request->sms_enabled]); Setting::where('setting_key', 'active_sms')->update(['setting_value' => $request->active_sms]); Setting::where('setting_key', 'payment_received_sms_template')->update(['setting_value' => $request->payment_received_sms_template]); Setting::where('setting_key', 'payment_received_email_template')->update(['setting_value' => $request->payment_received_email_template]); Setting::where('setting_key', 'payment_received_email_subject')->update(['setting_value' => $request->payment_received_email_subject]); Setting::where('setting_key', 'payment_email_subject')->update(['setting_value' => $request->payment_email_subject]); Setting::where('setting_key', 'payment_email_template')->update(['setting_value' => $request->payment_email_template]); Setting::where('setting_key', 'borrower_statement_email_subject')->update(['setting_value' => $request->borrower_statement_email_subject]); Setting::where('setting_key', 'borrower_statement_email_template')->update(['setting_value' => $request->borrower_statement_email_template]); Setting::where('setting_key', 'loan_statement_email_subject')->update(['setting_value' => $request->loan_statement_email_subject]); Setting::where('setting_key', 'loan_statement_email_template')->update(['setting_value' => $request->loan_statement_email_template]); Setting::where('setting_key', 'loan_schedule_email_subject')->update(['setting_value' => $request->loan_schedule_email_subject]); Setting::where('setting_key', 'loan_schedule_email_template')->update(['setting_value' => $request->loan_schedule_email_template]); Setting::where('setting_key', 'auto_apply_penalty')->update(['setting_value' => $request->auto_apply_penalty]); Setting::where('setting_key', 'auto_payment_receipt_email')->update(['setting_value' => $request->auto_payment_receipt_email]); Setting::where('setting_key', 'auto_payment_receipt_sms')->update(['setting_value' => $request->auto_payment_receipt_sms]); Setting::where('setting_key', 'auto_repayment_sms_reminder')->update(['setting_value' => $request->auto_repayment_sms_reminder]); Setting::where('setting_key', 'auto_repayment_email_reminder')->update(['setting_value' => $request->auto_repayment_email_reminder]); Setting::where('setting_key', 'auto_repayment_days')->update(['setting_value' => $request->auto_repayment_days]); Setting::where('setting_key', 'auto_overdue_repayment_sms_reminder')->update(['setting_value' => $request->auto_overdue_repayment_sms_reminder]); Setting::where('setting_key', 'auto_overdue_repayment_email_reminder')->update(['setting_value' => $request->auto_overdue_repayment_email_reminder]); Setting::where('setting_key', 'auto_overdue_repayment_days')->update(['setting_value' => $request->auto_overdue_repayment_days]); Setting::where('setting_key', 'auto_overdue_loan_sms_reminder')->update(['setting_value' => $request->auto_overdue_loan_sms_reminder]); Setting::where('setting_key', 'auto_overdue_loan_email_reminder')->update(['setting_value' => $request->auto_overdue_loan_email_reminder]); Setting::where('setting_key', 'auto_overdue_loan_days')->update(['setting_value' => $request->auto_overdue_loan_days]); Setting::where('setting_key', 'loan_overdue_email_subject')->update(['setting_value' => $request->loan_overdue_email_subject]); Setting::where('setting_key', 'loan_overdue_email_template')->update(['setting_value' => $request->loan_overdue_email_template]); Setting::where('setting_key', 'loan_overdue_sms_template')->update(['setting_value' => $request->loan_overdue_sms_template]); Setting::where('setting_key', 'loan_payment_reminder_subject')->update(['setting_value' => $request->loan_payment_reminder_subject]); Setting::where('setting_key', 'loan_payment_reminder_email_template')->update(['setting_value' => $request->loan_payment_reminder_email_template]); Setting::where('setting_key', 'loan_payment_reminder_sms_template')->update(['setting_value' => $request->loan_payment_reminder_sms_template]); Setting::where('setting_key', 'missed_payment_email_subject')->update(['setting_value' => $request->missed_payment_email_subject]); Setting::where('setting_key', 'missed_payment_email_template')->update(['setting_value' => $request->missed_payment_email_template]); Setting::where('setting_key', 'missed_payment_sms_template')->update(['setting_value' => $request->missed_payment_sms_template]); Setting::where('setting_key', 'enable_cron')->update(['setting_value' => $request->enable_cron]); Setting::where('setting_key', 'welcome_note')->update(['setting_value' => $request->welcome_note]); Setting::where('setting_key', 'allow_self_registration')->update(['setting_value' => $request->allow_self_registration]); Setting::where('setting_key', 'allow_client_login')->update(['setting_value' => $request->allow_client_login]); Setting::where('setting_key', 'allow_client_apply')->update(['setting_value' => $request->allow_client_apply]); Setting::where('setting_key', 'enable_online_payment')->update(['setting_value' => $request->enable_online_payment]); Setting::where('setting_key', 'paypal_enabled')->update(['setting_value' => $request->paypal_enabled]); Setting::where('setting_key', 'paypal_email')->update(['setting_value' => $request->paypal_email]); Setting::where('setting_key', 'paynow_enabled')->update(['setting_value' => $request->paynow_enabled]); Setting::where('setting_key', 'paynow_id')->update(['setting_value' => $request->paynow_id]); Setting::where('setting_key', 'paynow_key')->update(['setting_value' => $request->paynow_key]); Setting::where('setting_key', 'auto_post_savings_interest')->update(['setting_value' => $request->auto_post_savings_interest]); Setting::where('setting_key', 'client_auto_activate_account')->update(['setting_value' => $request->client_auto_activate_account]); Setting::where('setting_key', 'stripe_enabled')->update(['setting_value' => $request->stripe_enabled]); Setting::where('setting_key', 'stripe_secret_key')->update(['setting_value' => $request->stripe_secret_key]); Setting::where('setting_key', 'stripe_publishable_key')->update(['setting_value' => $request->stripe_publishable_key]); Setting::where('setting_key', 'allow_bank_overdraw')->update(['setting_value' => $request->allow_bank_overdraw]); Setting::where('setting_key', 'payroll_chart_id')->update(['setting_value' => $request->payroll_chart_id]); Setting::where('setting_key', 'mpesa_enabled')->update(['setting_value' => $request->mpesa_enabled]); Setting::where('setting_key', 'mpesa_consumer_key')->update(['setting_value' => $request->mpesa_consumer_key]); Setting::where('setting_key', 'mpesa_consumer_secret')->update(['setting_value' => $request->mpesa_consumer_secret]); Setting::where('setting_key', 'mpesa_shortcode')->update(['setting_value' => $request->mpesa_shortcode]); Setting::where('setting_key', 'mpesa_endpoint')->update(['setting_value' => $request->mpesa_endpoint]); Setting::where('setting_key', 'mpesa_initiator')->update(['setting_value' => $request->mpesa_initiator]); if ($request->hasFile('company_logo')) { $file = array('company_logo' => $request->file('company_logo')); $rules = array('company_logo' => 'required|mimes:jpeg,jpg,bmp,png'); $validator = Validator::make($file, $rules); if ($validator->fails()) { Flash::warning(translate('validation_error')); return redirect()->back()->withInput()->withErrors($validator); } else { Setting::where('setting_key', 'company_logo')->update(['setting_value' => $request->file('company_logo')->getClientOriginalName()]); $request->file('company_logo')->move(public_path() . '/uploads', $request->file('company_logo')->getClientOriginalName()); } } if ($request->hasFile('client_login_background')) { $file = array('client_login_background' => $request->file('client_login_background')); $rules = array('client_login_background' => 'required|mimes:jpeg,jpg,bmp,png'); $validator = Validator::make($file, $rules); if ($validator->fails()) { Flash::warning(translate('validation_error')); return redirect()->back()->withInput()->withErrors($validator); } else { Setting::where('setting_key', 'client_login_background')->update(['setting_value' => $request->file('client_login_background')->getClientOriginalName()]); $request->file('client_login_background')->move(public_path() . '/uploads', $request->file('client_login_background')->getClientOriginalName()); } } DB::beginTransaction(); try { if ($request->default_currency) { $currency_id = $request->default_currency; $currency = Currency::query()->find($currency_id); Currency::query() ->whereNotIn('id', [$currency->id]) ->where(['status' => 1, 'default' => 1]) ->update(['status' => 1, 'default' => 0]); $currency->update(['default' => 1]); set_local_currency($currency); } DB::commit(); } catch (\Throwable $exception) { DB::rollBack(); } GeneralHelper::audit_trail("Updated Settings"); Flash::success(translate("general.successfully_saved")); return redirect('setting/data'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } public function switch_currency(Currency $currency) { $currency_codes = collect(get_active_currencies())->pluck('code')->toArray(); $default_currency = get_default_currency(); if (in_array($currency->code, $currency_codes) && $currency->code != $default_currency->code) { session()->forget('currency'); set_local_currency($currency); Flash::success("Currency has been switched to " . $currency->code); } return redirect()->back(); } }