👁 查看:SettingsController.php
路径:/home/boguraj1/.trash/app/Http/Controllers/Admin/SettingsController.php
大小:2.1 KB · 修改:2026-07-23 16:13:46 · 权限:0644 · 可写
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Setting;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
class SettingsController extends Controller
{
protected array $settingKeys = [
'site_name', 'site_tagline', 'site_email', 'site_phone', 'site_address',
'site_logo',
'facebook_url', 'youtube_url', 'instagram_url',
'facebook_pixel_id', 'conversions_api_token', 'conversions_api_test_code',
'google_analytics_id', 'google_tag_manager_id',
'footer_text', 'meta_description', 'meta_keywords',
'shipping_inside_dhaka', 'shipping_outside_dhaka',
'bkash_number', 'rocket_number', 'nagad_number',
'bkash_instruction', 'rocket_instruction', 'nagad_instruction',
];
public function index()
{
$settings = [];
foreach ($this->settingKeys as $key) {
$settings[$key] = Setting::get($key, '');
}
return view('admin.settings.index', compact('settings'));
}
public function update(Request $request)
{
$request->validate([
'site_name' => 'required|string|max:255',
'site_logo' => 'nullable|image|max:2048',
'facebook_pixel_id' => 'nullable|string|max:100',
'google_analytics_id' => 'nullable|string|max:100',
'google_tag_manager_id' => 'nullable|string|max:100',
'shipping_inside_dhaka' => 'nullable|integer|min:0',
'shipping_outside_dhaka' => 'nullable|integer|min:0',
]);
foreach ($this->settingKeys as $key) {
if ($key === 'site_logo') continue;
Setting::set($key, $request->input($key, ''));
}
if ($request->hasFile('site_logo')) {
$old = Setting::get('site_logo');
if ($old) Storage::disk('public')->delete($old);
$path = $request->file('site_logo')->store('settings', 'public');
Setting::set('site_logo', $path);
}
return back()->with('success', 'Settings saved successfully.');
}
}