Edit File: SettingController.php
<?php namespace App\Http\Controllers\Dashboard; use App\Http\Controllers\Controller; use App\Http\Requests\AdminProfileReqeust; use App\Http\Requests\AdminUpdatePasswordRequest; use App\Http\Requests\FcmRequest; use App\Http\Requests\OneSignalRequest; use App\Http\Requests\SettingRequest; use App\Http\Requests\SmtpRequest; use App\Http\Requests\SocialRequest; use App\Http\Requests\SocialUpdateRequest; use App\Http\Requests\TermsAndConditionRequest; use App\Models\Condition; use App\Models\Setting; use App\Models\SmsEmailNotification; use App\Models\Social; use App\Models\User; use App\Traits\ApiTrait; use App\Traits\Uploadable; use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Validation\Rule; class SettingController extends Controller { use Uploadable, ApiTrait; public function index() { $user = Auth::user(); $settings = Setting::all()->pluck('value', 'key'); $socials = Social::orderBy('created_at', 'desc')->get(); $condition = Condition::orderBy('created_at', 'desc')->first(); // return $condition; $smtp = SmsEmailNotification::where('type', 'smtp')->first(); $mobily = SmsEmailNotification::where('type', '=', 'mobily')->first(); $oursms = SmsEmailNotification::where('type', '=', 'oursms')->first(); $jawaly = SmsEmailNotification::where('type', '=', '4jawaly')->first(); $unifonic = SmsEmailNotification::where('type', '=', 'unifonic')->first(); $hisms = SmsEmailNotification::where('type', '=', 'hisms')->first(); $gateway = SmsEmailNotification::where('type', '=', 'gateway')->first(); $nexmosms = SmsEmailNotification::where('type', '=', 'nexmosms')->first(); $twilio = SmsEmailNotification::where('type', '=', 'twilio')->first(); $fcm = SmsEmailNotification::where('type', '=', 'fcm')->first(); $oneSignal = SmsEmailNotification::where('type', '=', 'onesignal')->first(); return view('admin.settings.index', compact('user', 'socials', 'smtp', 'mobily', 'oursms', 'jawaly', 'unifonic', 'hisms', 'gateway', 'nexmosms', 'twilio', 'settings', 'fcm', 'oneSignal', 'condition')); } public function siteSetting(SettingRequest $request) { $settings = $request->all('settings'); if ($request->has('settings.logo')) { $settings['settings']['logo'] = $this->uploadOne($request->settings['logo'], 'settings', true, 250, null); } foreach ($settings['settings'] as $key => $value) { $setting = Setting::where('key', $key)->first(); ($setting) ? $setting->update(['value' => $value]) : Setting::create(['key' => $key, 'value' => $value]); } return redirect()->back()->with('success', 'تم التحديث بنجاح'); } public function updateProfile(AdminProfileReqeust $request) { $user = auth()->user(); $data = $request->validated(); $filteredPhone = User::cleanPhone($data['phone']); $data['phone'] = $filteredPhone['phone']; $data['country_key'] = $filteredPhone['country_key']; // To Validate after filter phone $request->validate([ 'phone' => ['required', Rule::unique('users')->ignore($user->id, 'id')], ]); if ($request->has('avatar')) { if ($user->avatar != 'default.png') File::delete(public_path('assets/uploads/users/' . $user->avatar)); $data['avatar'] = $this->uploadOne($request->avatar, 'users', true, 250, null); } $user->update($data); auth()->user()->saveReport('تحديث البروفايل الحاص به'); return redirect()->back()->with('success', 'تم التحديث بنجاح'); } public function updatePassword(AdminUpdatePasswordRequest $request) { $user = auth()->user(); if (Hash::check($request->old_password, $user->password)) { $user->update([ 'password' => Hash::make($request->password) ]); auth()->user()->saveReport('تغيير الباسورد الخاص به'); return redirect()->back()->with('success', 'تم التحديث بنجاح'); } else { return 'false'; } } public function socialMedia(SocialRequest $request) { Social::create([ 'image' => $this->uploadOne($request->image, 'socials', true, 250, null), 'name' => $request->name, 'link' => $request->link, ]); auth()->user()->saveReport('اضافة موقع'); return redirect()->back()->with('success', 'تم اضافه الموقع بنجاح'); } public function socialMediaUpdate(SocialUpdateRequest $request) { $social = Social::find($request['id']); if ($request['image']) { $social->image = $this->uploadOne($request->image, 'socials', true, 250, null); } $social->update([ 'name' => $request->name, 'link' => $request->link, ]); auth()->user()->saveReport('تعديل موقع'); $msg = route('admin.settings.index'); return response()->json([ 'key' => 'success', 'msg' => $msg ]); } public function deleteSocial(Social $social) { $data = ['socialId' => $social->id,]; $social->delete(); auth()->user()->saveReport('حذف موقع'); return self::successReturn('', $data); } public function updateTermsAndCondition(TermsAndConditionRequest $request) { $condition = new Condition(); $condition->text = $request->text; $condition->save(); auth()->user()->saveReport('تعديل الشروط والاحكام'); return redirect()->back()->with(['success' => 'تم الاضافه بالنجاج']); } public function smtp(SmtpRequest $request) { if ($smtp = SmsEmailNotification::where('type', 'smtp')->first()) { $smtp->type = "smtp"; $smtp->username = $request->username; $smtp->sender_email = $request->sender_email; $smtp->sender_name = $request->sender_name; $smtp->password = $request->password; $smtp->port = $request->port; $smtp->host = $request->host; $smtp->encryption = $request->encryption; $smtp->active = ($request->active == 'on') ? 'true' : 'false'; $smtp->save(); } else { $smtp = new SmsEmailNotification(); $smtp->type = "smtp"; $smtp->username = $request->username; $smtp->sender_email = $request->sender_email; $smtp->sender_name = $request->sender_name; $smtp->password = $request->password; $smtp->port = $request->port; $smtp->host = $request->host; $smtp->encryption = $request->encryption; $smtp->active = ($request->active == 'on') ? 'true' : 'false'; $smtp->save(); } auth()->user()->saveReport('تحديث بيانات SMTP'); return redirect()->back()->with(['success' => 'تم الحفظ بنجاح']); } public function mobily(SmtpRequest $request) { if ($mobily = SmsEmailNotification::where('type', 'mobily')->first()) { $mobily->type = "mobily"; $mobily->username = $request->username; $mobily->sender_name = $request->sender_name; $mobily->password = $request->password; $mobily->active = ($request->active == 'on') ? 'true' : 'false'; $mobily->save(); } else { $mobily = new SmsEmailNotification(); $mobily->type = "mobily"; $mobily->username = $request->username; $mobily->sender_name = $request->sender_name; $mobily->password = $request->password; $mobily->active = ($request->active == 'on') ? 'true' : 'false'; $mobily->save(); } auth()->user()->saveReport('تحديث بيانات Mobily'); return redirect()->back()->with(['success' => 'تم الحفظ بنجاح']); } public function OurSms(SmtpRequest $request) { if ($oursms = SmsEmailNotification::where('type', 'oursms')->first()) { $oursms->type = "oursms"; $oursms->username = $request->username; $oursms->sender_name = $request->sender_name; $oursms->password = $request->password; $oursms->active = ($request->active == 'on') ? 'true' : 'false'; $oursms->save(); } else { $oursms = new SmsEmailNotification(); $oursms->type = "oursms"; $oursms->username = $request->username; $oursms->sender_name = $request->sender_name; $oursms->password = $request->password; $oursms->active = ($request->active == 'on') ? 'true' : 'false'; $oursms->save(); } auth()->user()->saveReport('تحديث بيانات Our SMS'); return redirect()->back()->with(['success' => 'تم الحفظ بنجاح']); } public function unifonic(SmtpRequest $request) { if ($unifonic = SmsEmailNotification::where('type', 'unifonic')->first()) { $unifonic->type = "unifonic"; $unifonic->username = $request->username; $unifonic->sender_name = $request->sender_name; $unifonic->password = $request->password; $unifonic->active = ($request->active == 'on') ? 'true' : 'false'; $unifonic->save(); } else { $unifonic = new SmsEmailNotification(); $unifonic->type = "unifonic"; $unifonic->username = $request->username; $unifonic->sender_name = $request->sender_name; $unifonic->password = $request->password; $unifonic->active = ($request->active == 'on') ? 'true' : 'false'; $unifonic->save(); } auth()->user()->saveReport('تحديث بيانات Unifonic'); return redirect()->back()->with(['success' => 'تم الحفظ بنجاح']); } public function hiSms(SmtpRequest $request) { if ($hisms = SmsEmailNotification::where('type', 'hisms')->first()) { $hisms->type = "hisms"; $hisms->username = $request->username; $hisms->sender_name = $request->sender_name; $hisms->password = $request->password; $hisms->active = ($request->active == 'on') ? 'true' : 'false'; $hisms->save(); } else { $hisms = new SmsEmailNotification(); $hisms->type = "hisms"; $hisms->username = $request->username; $hisms->sender_name = $request->sender_name; $hisms->password = $request->password; $hisms->active = ($request->active == 'on') ? 'true' : 'false'; $hisms->save(); } auth()->user()->saveReport('تحديث بيانات hiSMS'); return redirect()->back()->with(['success' => 'تم الحفظ بنجاح']); } public function jawaly(SmtpRequest $request) { if ($jawaly = SmsEmailNotification::where('type', '4jawaly')->first()) { $jawaly->type = "4jawaly"; $jawaly->username = $request->username; $jawaly->sender_name = $request->sender_name; $jawaly->password = $request->password; $jawaly->active = ($request->active == 'on') ? 'true' : 'false'; $jawaly->save(); } else { $jawaly = new SmsEmailNotification(); $jawaly->type = "4jawaly"; $jawaly->username = $request->username; $jawaly->sender_name = $request->sender_name; $jawaly->password = $request->password; $jawaly->active = ($request->active == 'on') ? 'true' : 'false'; $jawaly->save(); } auth()->user()->saveReport('تحديث بيانات Jawaly'); return redirect()->back()->with(['success' => 'تم الحفظ بنجاح']); } public function getWay(SmtpRequest $request) { if ($gateway = SmsEmailNotification::where('type', 'gateway')->first()) { $gateway->type = "gateway"; $gateway->username = $request->username; $gateway->sender_name = $request->sender_name; $gateway->password = $request->password; $gateway->active = ($request->active == 'on') ? 'true' : 'false'; $gateway->save(); } else { $gateway = new SmsEmailNotification(); $gateway->type = "gateway"; $gateway->username = $request->username; $gateway->sender_name = $request->sender_name; $gateway->password = $request->password; $gateway->active = ($request->active == 'on') ? 'true' : 'false'; $gateway->save(); } auth()->user()->saveReport('تحديث بيانات getWay'); return redirect()->back()->with(['success' => 'تم الحفظ بنجاح']); } public function nexmosms(SmtpRequest $request) { if ($nexmosms = SmsEmailNotification::where('type', 'nexmosms')->first()) { $nexmosms->type = "nexmosms"; $nexmosms->username = $request->username; $nexmosms->sender_name = $request->sender_name; $nexmosms->password = $request->password; $nexmosms->active = ($request->active == 'on') ? 'true' : 'false'; $nexmosms->save(); } else { $nexmosms = new SmsEmailNotification(); $nexmosms->type = "nexmosms"; $nexmosms->username = $request->username; $nexmosms->sender_name = $request->sender_name; $nexmosms->password = $request->password; $nexmosms->active = ($request->active == 'on') ? 'true' : 'false'; $nexmosms->save(); } auth()->user()->saveReport('تحديث بيانات nexmosms'); return redirect()->back()->with(['success' => 'تم الحفظ بنجاح']); } public function twilio(SmtpRequest $request) { if ($twilio = SmsEmailNotification::where('type', 'twilio')->first()) { $twilio->type = "twilio"; $twilio->username = $request->username; $twilio->sender_name = $request->sender_name; $twilio->password = $request->password; $twilio->active = ($request->active == 'on') ? 'true' : 'false'; $twilio->save(); } else { $twilio = new SmsEmailNotification(); $twilio->type = "twilio"; $twilio->username = $request->username; $twilio->sender_name = $request->sender_name; $twilio->password = $request->password; $twilio->active = ($request->active == 'on') ? 'true' : 'false'; $twilio->save(); } auth()->user()->saveReport('تحديث بيانات twilio'); return redirect()->back()->with(['success' => 'تم الحفظ بنجاح']); } public function updateFcm(FcmRequest $request) { if ($fcm = SmsEmailNotification::where('type', 'fcm')->first()) { $fcm->type = "fcm"; $fcm->server_key = $request->server_key; $fcm->sender_id = $request->sender_id; $fcm->save(); } else { $fcm = new SmsEmailNotification(); $fcm->type = "fcm"; $fcm->server_key = $request->server_key; $fcm->sender_id = $request->sender_id; $fcm->save(); } auth()->user()->saveReport('تحديث بيانات FCM'); return redirect()->back()->with(['success' => 'تم الحفظ بنجاح']); } public function updateOneSignal(OneSignalRequest $request) { if ($oneSignal = SmsEmailNotification::where('type', 'onesignal')->first()) { $oneSignal->type = "onesignal"; $oneSignal->application_id = $request->application_id; $oneSignal->authorization = $request->authorization; $oneSignal->save(); } else { $oneSignal = new SmsEmailNotification(); $oneSignal->type = "onesignal"; $oneSignal->application_id = $request->application_id; $oneSignal->authorization = $request->authorization; $oneSignal->save(); } auth()->user()->saveReport('تحديث بيانات One Signal'); return redirect()->back()->with(['success' => 'تم الحفظ بنجاح']); } }
Back to File Manager