One Hat Cyber Team
Your IP :
10.30.1.1
Server IP :
103.148.201.5
Server :
Linux web-olt 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
Server Software :
Apache/2.4.52 (Ubuntu)
PHP Version :
8.1.29
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
html
/
Compro-ISP
/
app
/
Http
/
Controllers
/
View File Name :
SettingController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Setting; use Illuminate\Support\Str; use Illuminate\Support\Facades\Storage; class SettingController extends Controller { /** * Display a listing of the resource. */ public function index() { $data=Setting::first(); return view('v.setting.index',compact('data')); } /** * Show the form for creating a new resource. */ public function create() { // } /** * Store a newly created resource in storage. */ public function store(Request $request) { // dd($request->all()); $request->validate([ 'name' => 'required|string', 'email' => 'required|email', 'phone' => 'required|string', 'address' => 'required|string', 'images' => 'required|image|mimes:jpeg,png,jpg,gif,webp|max:10048', // max 2MB ]); // ✅ 2. Buat nama unik untuk gambar $originalName = pathinfo($request->file('images')->getClientOriginalName(), PATHINFO_FILENAME); $extension = $request->file('images')->getClientOriginalExtension(); // Sanitasi dan buat nama file unik $safeName = Str::slug($originalName); // contoh: "promo-hari-libur" $uniqueName = $safeName . '-' . uniqid() . '.' . $extension; // ✅ 3. Cek jika nama yang sama sudah ada (optional jika kamu simpan unik) if (Storage::disk('public')->exists('images/' . $uniqueName)) { return back()->withErrors(['images' => 'File dengan nama tersebut sudah ada.'])->withInput(); } // ✅ 4. Simpan gambar ke folder public/images $request->file('images')->storeAs('images', $uniqueName, 'public'); // ✅ 5. Simpan ke database Setting::create([ 'name' => $request->name, 'address' => $request->address, 'phone' => $request->phone, 'email' => $request->email, 'images' => $uniqueName, // simpan path relatif ]); return back()->with('toast_success', 'Task Created Successfully!'); } /** * Display the specified resource. */ public function show(string $id) { // } /** * Show the form for editing the specified resource. */ public function edit(string $id) { // } /** * Update the specified resource in storage. */ public function update(Request $request, string $id) { // $validated = $request->validate([ // 'name' => 'required|string|max:255', // 'email' => 'required|email', // 'phone' => 'required|string', // 'address' => 'required|string', // 'images' => 'required|image|mimes:jpeg,png,jpg,gif,webp|max:10048', // ]); $setting = Setting::find($id); if ($request->hasFile('images')) { $image = $request->file('images'); // Buat nama unik $originalName = pathinfo($image->getClientOriginalName(), PATHINFO_FILENAME); $extension = $image->getClientOriginalExtension(); $safeName = Str::slug($originalName); $uniqueName = $safeName . '-' . uniqid() . '.' . $extension; // Hapus gambar lama jika ada if ($setting->images && Storage::exists('public/images/' . $setting->images)) { Storage::delete('public/images/' . $setting->images); } // Simpan gambar baru $image->storeAs('images', $uniqueName, 'public'); // Update DB $setting->images = $uniqueName; } // hanya update field jika ada perubahan $setting->name = $request->filled('name') ? $request->name : $setting->name; $setting->email = $request->filled('email') ? $request->email : $setting->email; $setting->phone = $request->filled('phone') ? $request->phone : $setting->phone; $setting->address = $request->filled('address') ? $request->address : $setting->address; $setting->save(); return back()->with('toast_success', 'Task Edited Successfully!'); } /** * Remove the specified resource from storage. */ public function destroy(string $id) { $data=Setting::findOrFail($id); // Karena file sebenarnya ada di storage/app/public/images $imagePath = 'public/images/' . $data->images; if (Storage::exists($imagePath)) { Storage::delete($imagePath); } $data->delete(); return back()->with('toast_warning', 'Task Deleted Successfully!'); } }