simedkom/app/Http/Controllers/Dashboard/SettingController.php
2025-04-23 14:19:43 +07:00

63 lines
2.8 KiB
PHP

<?php
namespace App\Http\Controllers\Dashboard;
use App\Http\Controllers\Controller;
use App\Http\Requests\SettingRequest;
use App\Settings\AppSettings;
use Illuminate\Http\Request;
class SettingController extends Controller
{
public function index(){
return view('dashboard.setting.index', [
'title' => 'Pengaturan Aplikasi',
]);
}
public function update(SettingRequest $request)
{
$validatedData = $request->validated();
$settings = app(AppSettings::class);
$files = ['app_icon', 'app_logo'];
$validFile = [];
foreach ($files as $file) {
if ($request->hasFile($file)) {
$savedFile = store_file($request->file($file), 'uploads/settings');
$validFile[$file] = $savedFile['randomFileName'];
} else {
$validFile[$file] = $settings->$file;
}
}
$settings->fill([
'app_name' => $validatedData['app_name'] ?? $settings->app_name,
'app_title' => $validatedData['app_title'] ?? $settings->app_title,
'app_description' => $validatedData['app_description'] ?? $settings->app_description,
'app_keywords' => $validatedData['app_keywords'] ?? $settings->app_keywords,
'app_icon' => $validFile['app_icon'] ?? $settings->app_icon,
'app_logo' => $validFile['app_logo'] ?? $settings->app_logo,
'contact_address' => $validatedData['contact_address'] ?? $settings->contact_address,
'contact_address_link' => $validatedData['contact_address_link'] ?? $settings->contact_address_link,
'contact_phone' => $validatedData['contact_phone'] ?? $settings->contact_phone,
'contact_email' => $validatedData['contact_email'] ?? $settings->contact_email,
'contact_facebook' => $validatedData['contact_facebook'] ?? $settings->contact_facebook,
'contact_twitter' => $validatedData['contact_twitter'] ?? $settings->contact_twitter,
'contact_instagram' => $validatedData['contact_instagram'] ?? $settings->contact_instagram,
'contact_youtube' => $validatedData['contact_youtube'] ?? $settings->contact_youtube,
'contact_whatsapp' => $validatedData['contact_whatsapp'] ?? $settings->contact_whatsapp,
'contact_telegram' => $validatedData['contact_telegram'] ?? $settings->contact_telegram,
'about_us' => $validatedData['about_us'] ?? $settings->about_us,
]);
if ($settings->save()) {
return redirect()->back()->with('success-status', 'Berhasil mengubah informasi aplikasi.');
}
return redirect()->back()->with('failed-status', 'Gagal mengubah informasi aplikasi.');
}
}