REDROOM
PHP 8.3.30
Path:
Logout
Edit File
Size: 8.60 KB
Close
/home/getspomw/royalsquad.us/app/Http/Controllers/SettingController.php
Text
Base64
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Http\UploadedFile; use App\Models\Setting; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\DB; class SettingController extends Controller { /** * Display the settings index page. * * @return \Illuminate\View\View */ public function index() { $descriptionsettings = Setting::where('type', 'like', 'description_%')->get(); $titlesettings = Setting::where('type', 'like', 'title_%')->get(); $keywordsettings = Setting::where('type', 'like', 'keyword_%')->get(); $contact = Setting::all(); $sett = Setting::where('type', 'like', 'fields%') ->orWhere('type', 'like', 'links%') ->get(); return view("admin.setting.index", compact('descriptionsettings', 'titlesettings', 'keywordsettings', 'sett', 'contact')); } /** * Handle image upload and save metadata. * * @param \Illuminate\Http\UploadedFile $file * @return int */ protected function handleImage($file) { $arr = explode('.', $file->getClientOriginalName()); $upload = new Upload(); $upload->file_original_name = $arr[0]; $upload->file_name = $file->store('images', 'public'); $upload->user_id = auth()->id(); $upload->extension = $file->getClientOriginalExtension(); $upload->type = 'image'; $upload->file_size = $file->getSize(); $upload->save(); return $upload->id; } /** * Check if the field is an image field. * * @param string $fieldName * @param \Illuminate\Http\Request $request * @return bool */ protected function isImageField($fieldName, $request) { $imageFields = ['header_logo', 'footer_logo', 'user_image', 'profile_image', 'testimonial_image']; return in_array($fieldName, $imageFields) && $request->hasFile($fieldName); } /** * Update settings based on request data. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\RedirectResponse */ public function update(Request $request) { foreach ($request->types as $key => $type) { if ($type == 'site_name') { $this->overWriteEnvFile('APP_NAME', $request[$type]); } elseif ($type == 'timezone') { $this->overWriteEnvFile('APP_TIMEZONE', $request[$type]); } else { if ($this->isImageField($type, $request)) { $file = $request->file($type); $uploadId = $this->handleImage($file); $request[$type] = $uploadId; } $settings = Setting::where('type', $type)->first(); if ($settings) { $settings->value = gettype($request[$type]) == 'array' ? json_encode($request[$type]) : $request[$type]; $settings->save(); } else { $settings = new Setting(); $settings->type = $type; $settings->value = gettype($request[$type]) == 'array' ? json_encode($request[$type]) : $request[$type]; $settings->save(); } } } return back()->with('success', 'Settings updated successfully'); } /** * Add a new setting. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\RedirectResponse */ public function aboutt(Request $request) { $request->validate([ 'metaselect' => 'string|in:description_,title_,keyword_', 'type' => 'string', 'value' => 'string', ]); $prefix = $request->input('metaselect'); $name = str_replace(' ', '_', $request->type); $prefixedName = $prefix . $name; $file_value = $request->value; $settings = new Setting(); $settings->type = $prefixedName; $settings->value = $file_value; $settings->save(); return redirect()->back()->with('success', 'Setting added successfully.'); } /** * Update a specific setting by ID. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\RedirectResponse */ public function updateSettingForm(Request $request, $id) { $request->validate([ 'value' => 'string', ]); $setting = Setting::findOrFail($id); $setting->value = $request->value; $setting->save(); return redirect()->route('setting.index')->with('success', 'Setting updated successfully'); } /** * Delete a specific setting by ID. * * @param int $id * @return \Illuminate\Http\RedirectResponse */ public function deleteSettingForm($id) { $setting = Setting::findOrFail($id); $setting->delete(); return redirect()->back()->with('success', 'Setting has been deleted'); } /** * Update footer settings. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\RedirectResponse */ public function set_footer(Request $request) { $fields = $request->input('fields'); $links = $request->input('links'); foreach ($fields as $key => $value) { Setting::updateOrCreate( ['type' => "fields[$key]"], ['value' => $value] ); } foreach ($links as $key => $value) { Setting::updateOrCreate( ['type' => "links[$key]"], ['value' => $value] ); } return redirect()->route('setting.index')->with('success', 'Footer updated successfully'); } /** * Display the case studies page. * * @return \Illuminate\View\View */ public function case_study() { return view('frontend.case_studies'); } /** * Show the edit setting form. * * @param int $id * @return \Illuminate\View\View|\Illuminate\Http\RedirectResponse */ public function editSettingForm($id) { $setting = Setting::find($id); if (!$setting) { return redirect()->route('metapage')->with('error', 'Setting not found'); } return view('admin.settings.edit', ['setting' => $setting]); } /** * Update a setting by ID. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\RedirectResponse */ public function updateSetting(Request $request) { $request->validate([ 'id' => 'required|integer', 'type' => 'required|string', 'value' => 'required|string', ]); $setting = Setting::find($request->input('id')); if (!$setting) { return redirect()->route('settings.index')->with('error', 'Setting not found'); } $setting->value = $request->input('value'); $setting->save(); return redirect()->route('metaPage')->with('success', 'Setting updated successfully'); } /** * Add a new meta setting. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\RedirectResponse */ public function new_meta_add(Request $request) { $request->validate([ 'metaselect' => 'string|in:description_,title_,keyword_', 'type' => 'string', 'value' => 'string', ]); $prefix = $request->input('metaselect'); $name = str_replace(' ', '_', $request->type); $prefixedName = $prefix . $name; $settings = new Setting(); $settings->type = $prefixedName; $settings->value = $request->value; $settings->save(); return redirect()->back()->with('success', 'Setting added successfully.'); } /** * Display the meta page with settings. * * @return \Illuminate\View\View */ public function metapage() { $descriptionsettings = Setting::where('type', 'like', 'description_%')->get(); $titlesettings = Setting::where('type', 'like', 'title_%')->get(); $keywordsettings = Setting::where('type', 'like', 'keyword_%')->get(); $sett = Setting::where('type', 'like', 'fields%') ->orWhere('type', 'like', 'links%') ->get(); $settings = Setting::all(); return view("admin.settings.index", compact('descriptionsettings', 'titlesettings', 'keywordsettings', 'sett', 'settings')); } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 12
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
AccessControlController.php
2.85 KB
lrw-rw-rw-
2025-09-18 05:50:45
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
AdminController.php
315 B
lrw-rw-rw-
2025-09-17 06:52:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
BlogCategoryController.php
2.74 KB
lrw-rw-rw-
2025-09-17 06:52:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
BlogController.php
6.83 KB
lrw-rw-rw-
2025-09-17 06:52:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ContactController.php
4.65 KB
lrw-rw-rw-
2026-02-09 06:01:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Controller.php
77 B
lrw-rw-rw-
2025-09-17 06:52:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CustomPasswordResetController.php
2.80 KB
lrw-rw-rw-
2025-09-18 05:51:38
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
error_log
616 B
lrw-r--r--
2026-04-19 15:59:24
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
LoginController.php
3.58 KB
lrw-rw-rw-
2025-09-18 05:56:23
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
RegisterController.php
1.48 KB
lrw-rw-rw-
2025-09-17 06:52:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
SettingController.php
8.60 KB
lrw-rw-rw-
2025-09-18 05:56:47
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ViewController.php
8.22 KB
lrw-rw-rw-
2026-02-09 07:03:26
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).