| Path : /var/www/html/jewelry-pos/app/Http/Controllers/ |
|
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
| Current File : /var/www/html/jewelry-pos/app/Http/Controllers/SettingController.php |
<?php
namespace App\Http\Controllers;
use App\Models\Setting;
use Illuminate\Http\Request;
use Intervention\Image\Facades\Image;
class SettingController extends Controller
{
/**
* Display a listing of the resource.
*/
public function __construct()
{
$this->middleware('permission:setting-list' , ['only' => ['index']]);
$this->middleware('permission:setting-create' , ['only' => ['create' , 'store']]);
$this->middleware('permission:setting-edit' , ['only' => ['edit' , 'update']]);
$this->middleware('permission:setting-delete' , ['only' => ['destroy']]);
}
public function index()
{
$settings = Setting::get();
$settingInfo = count($settings);
return view('settings.index', compact('settings', 'settingInfo'));
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
return view('settings.create');
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
$request->validate(
[
'logo' => 'required',
'name' => '',
]
);
$save_url = '';
$save_url2 = '';
if ($request->hasFile('logo')) {
$image = $request->file('logo',);
$name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension(); //hexdec generate image
Image::make($image)->resize(800, 800, function ($constraint) {
$constraint->aspectRatio();
})->save('images/system_logo/' . $name_gen);
$save_url = 'images/system_logo/' . $name_gen;
if ($request->hasFile('fav_icon')) {
$image = $request->file('fav_icon',);
$name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension(); //hexdec generate image
Image::make($image)->resize(800, 800, function ($constraint) {
$constraint->aspectRatio();
})->save('images/system_logo/' . $name_gen);
$save_url2 = 'images/system_logo/' . $name_gen;
}
}
// elseif ($request->hasFile('fav_icon')) {
// $image = $request->file('fav_icon');
// $name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension(); //hexdec generate image
// Image::make($image)->resize(800, 800, function ($constraint) {
// $constraint->aspectRatio();
// })->save('images/system_logo/' . $name_gen);
// $save_url2 = 'images/system_logo/' . $name_gen;
// }
Setting::create([
'logo' => $save_url,
'fav_icon' => $save_url2,
'shop_name' => $request->shop_name,
'address' => $request->address,
'phone' => $request->phone,
'is_active' => $request->is_active ?? true,
]);
return redirect()->route('settings.index')
->with('success', __('message.settings') . " " . __('message.updated successfully'));
}
/**
* Display the specified resource.
*/
public function show(Setting $settings)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit($id)
{
$setting = Setting::find($id);
return view('settings.edit', compact('setting'));
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, $id)
{
$request->all();
$setting = Setting::FindOrFail($id);
$old_img = $request->old_image;
$fav_old_img = $request->fav_old_img;
$save_url = $setting->logo;
$save_url2 = $setting->fav_icon;
// if upload both
if ($request->hasFile('logo')) {
// @unlink($old_img);
$image = $request->file('logo');
$name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension(); //hexdec generate image
Image::make($image)->resize(800, 800, function ($constraint) {
$constraint->aspectRatio();
})->save('images/system_logo/' . $name_gen);
$save_url = 'images/system_logo/' . $name_gen;
if ($request->hasFile('fav_icon')) {
// @unlink($fav_old_img);
$image = $request->file('fav_icon',);
$name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension(); //hexdec generate image
Image::make($image)->resize(800, 800, function ($constraint) {
$constraint->aspectRatio();
})->save('images/system_logo/' . $name_gen);
$save_url2 = 'images/system_logo/' . $name_gen;
}
// if upload one by one
} elseif ($request->hasFile('fav_icon')) {
// @unlink($fav_old_img);
$image = $request->file('fav_icon',);
$name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension(); //hexdec generate image
Image::make($image)->resize(800, 800, function ($constraint) {
$constraint->aspectRatio();
})->save('images/system_logo/' . $name_gen);
$save_url2 = 'images/system_logo/' . $name_gen;
}
$setting->update([
'logo' => $save_url,
'fav_icon' => $save_url2,
'shop_name' => $request->shop_name,
'address' => $request->address,
'phone' => $request->phone,
'is_active' => $request->is_active ?? true,
]);
return redirect()->route('settings.index')
->with('success', __('message.settings') . " " . __('message.updated successfully'));
}
/**
* Remove the specified resource from storage.
*/
public function destroy(Setting $settings)
{
//
}
public function inactive($id)
{
Setting::findOrFail($id)->update(['is_active' => 0]);
return redirect()->route('settings.index')
->with('success', __('message.settings') . " " . __('message.is deactivated'));
}
public function active($id)
{
Setting::findOrFail($id)->update(['is_active' => 1]);
return redirect()->route('settings.index')
->with('success', __('message.settings') . " " . __('message.is activated'));
}
}