<?php
namespace App\Http\Controllers;
use App\Models\landing_content_manager;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class LandingContentManagerController extends Controller
{
public function index()
{
$data = landing_content_manager::first();
$datas = [
'data' => $data
];
return view('landing_content_manager.index', $datas);
}
public function update(Request $request)
{
$request->validate([
"primary_color" => "required",
"secondary_color" => "required",
"text_color" => "required",
"tagline" => "required",
"maps" => "nullable",
"promotion_text" => "required",
"button_link" => "required",
"button_text" => "required",
"button_icon" => "required",
"team_description" => "required",
"message" => "required",
"photo" => "image|mimes:jpeg,png,jpg,svg",
]);
DB::beginTransaction();
try {
$landing = landing_content_manager::first();
$data = [
"primary_color" => $request->primary_color,
"secondary_color" => $request->secondary_color,
"text_color" => $request->text_color,
"tagline" => $request->tagline,
"maps" => $request->maps,
"promotion_text" => $request->promotion_text,
"button_link" => $request->button_link,
"button_text" => $request->button_text,
"button_icon" => $request->button_icon,
"team_description" => $request->team_description,
"message" => $request->message,
];
if ($request->hasFile('photo')) {
$photo_file = $request->file('photo');
$photo_ekstensi = $photo_file->extension();
$photo_baru = "photo-" . date('ymdhis') . ".$photo_ekstensi";
$photo_file->move(public_path('images/landingpage'), $photo_baru);
$data['photo'] = $photo_baru;
$photo_lama = $landing->photo;
File::delete(public_path('images/landingpage') . "/" . $photo_lama);
}
$landing->update($data);
DB::commit();
return redirect()->route('landing-content-manager.index')->with('success', 'Content berhasil diubah');
} catch (\Throwable $th) {
DB::rollback();
return redirect()->route('landing-content-manager.index')->with('error', $th->getMessage());
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]