56 lines
2.1 KiB
PHP
56 lines
2.1 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', 'public');
|
|
$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_phone' => $validatedData['contact_phone'] ?? $settings->contact_phone,
|
|
'contact_email' => $validatedData['contact_email'] ?? $settings->contact_email,
|
|
'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.');
|
|
}
|
|
|
|
}
|