Viewing file: TemplateController.php (8.06 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Settings;
use App\Models\Template;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\File;
class TemplateController extends Controller
{
public function index(){
return view('admin.template.index');
}
public function store(Request $request){
if (env("APP_DEMO")){
return redirect()->back()->withErrors(['msg' => trans('admin.app_demo_message')]);
}
$data_template = auth()->user()->settings()->where('name','template')->first();
if ($data_template && isset($data_template->value)){
$template = json_decode($data_template->value);
}
if(isset($template) && isset($template->bg_image_file_name)){
$request['bg_image_file_name'] = $template->bg_image_file_name;
}
if ($request->hasFile('bg_image')) {
$file = $request->file('bg_image');
$imageName = time() . '_1' . '.' . $file->getClientOriginalExtension();
$file->move(public_path('/uploads'), $imageName);
$request['bg_image_file_name'] = $imageName;
}
if(isset($template) && isset($template->first_img_file_name)){
$request['first_img_file_name'] = $template->first_img_file_name;
}
if ($request->hasFile('first_img')) {
$file = $request->file('first_img');
$imageOneName = time(). '_2'. '.' . $file->getClientOriginalExtension();
$file->move(public_path('/uploads'), $imageOneName);
$request['first_img_file_name'] = $imageOneName;
}
if(isset($template) && isset($template->sec_img_file_name)){
$request['sec_img_file_name'] = $template->sec_img_file_name;
}
if ($request->hasFile('sec_img')) {
$file = $request->file('sec_img');
$imageTwoName = time(). '_3' . '.' . $file->getClientOriginalExtension();
$file->move(public_path('/uploads'), $imageTwoName);
$request['sec_img_file_name'] = $imageTwoName;
}
if(isset($template) && Isset($template->thr_img_file_name)){
$request['thr_img_file_name'] = $template->thr_img_file_name;
}
if ($request->hasFile('thr_img')) {
$file = $request->file('thr_img');
$imageThreeName = time(). '_4' . '.' . $file->getClientOriginalExtension();
$file->move(public_path('/uploads'), $imageThreeName);
$request['thr_img_file_name'] = $imageThreeName;
}
if(isset($template) && isset($template->sec_thr_bg_image_file)){
$request['sec_thr_bg_image_file'] = $template->sec_thr_bg_image_file;
}
if ($request->hasFile('sec_thr_bg_image')) {
$file = $request->file('sec_thr_bg_image');
$imagefourName = time(). '_5' . '.' . $file->getClientOriginalExtension();
$file->move(public_path('/uploads'), $imagefourName);
$request['sec_thr_bg_image_file'] = $imagefourName;
}
if(isset($template) && isset($template->sec_seven_bg_image_file)){
$request['sec_seven_bg_image_file'] = $template->sec_seven_bg_image_file;
}
if ($request->hasFile('sec_seven_bg_image')) {
$file = $request->file('sec_seven_bg_image');
$imageFiveName = time(). '_6' . '.' . $file->getClientOriginalExtension();
$file->move(public_path('/uploads'), $imageFiveName);
$request['sec_seven_bg_image_file'] = $imageFiveName;
}
$gateWayImages=isset($data_template->value)?json_decode($data_template->value):'';
$gatewayImages=[];
if (isset($gateWayImages->payment_gateway_img)) {
foreach (json_decode($gateWayImages->payment_gateway_img) as $pics) {
$gatewayImages[] = $pics;
}
}
if ($request->hasfile('payment_gateways')){
foreach ($request->file('payment_gateways') as $key => $image) {
$filename = time() . 'payment'.$key. '.' . $image->getClientOriginalExtension();
$image->move(public_path('/uploads'), $filename);
$gatewayImages[]=$filename;
}
}
$request['payment_gateway_desc']=clean($request->payment_desc);
$request['payment_gateway_img']=json_encode($gatewayImages);
if (isset($data_template) && $data_template->name == 'template'){
$template = Settings::where('name', 'template')->first();
$template->value = json_encode($request->only('payment_gateway_desc','payment_gateway_img','title','description','description','first_title','first_description','sec_title','sec_description','thr_title','thr_description','sec_thr_title','sec_thr_description','main_title','sec_four_title','sec_four_description','sec_five_title','sec_six_title','sec_seven_title','sec_seven_description','bg_image_file_name','first_img_file_name','sec_img_file_name','thr_img_file_name','sec_thr_bg_image_file','sec_seven_bg_image_file'));
$template->save();
}else{
$template = new Settings();
$template->name = 'template';
$template->value = json_encode($request->only('payment_gateway_desc','payment_gateway_img','title','description','description','first_title','first_description','sec_title','sec_description','thr_title','thr_description','sec_thr_title','sec_thr_description','main_title','sec_four_title','sec_four_description','sec_five_title','sec_six_title','sec_seven_title','sec_seven_description','bg_image_file_name','first_img_file_name','sec_img_file_name','thr_img_file_name','sec_thr_bg_image_file','sec_seven_bg_image_file'));
$template->admin_id = auth()->user()->id;
$template->save();
}
cache()->flush();
return redirect()->back()->with('success','Template successfully update');
}
public function paymentPartnerImage(Request $request)
{
$data_template = auth()->user()->settings()->where('name','template')->first();
$images=json_decode($data_template->value);
$allValues=[];
foreach ($images as $key=>$item) {
$allValues[$key]=$item;
}
$partnerImages = $allValues['payment_gateway_img'];
$pics = json_decode($partnerImages);
if (($key = array_search($request->image, $pics)) !== false) {
$this->instantImageDelete($pics[$key]);
unset($pics[$key]);
}
$newPics = [];
foreach ($pics as $pic) {
$newPics[] = $pic;
}
$allValues['payment_gateway_img']=json_encode($newPics);
$data_template->value=json_encode($allValues);
$data_template->save();
cache()->flush();
return response()->json(['status' => 'success', 'message' => trans('Pic successfully deleted')]);
}
function instantImageDelete($pics)
{
if ($pics) {
$fileN = public_path('/uploads') . '/' . $pics;
if (File::exists($fileN))
unlink($fileN);
}
}
public function theme(){
return view('admin.template.theme');
}
public function themeStore(Request $request){
if (env("APP_DEMO")){
return redirect()->back()->withErrors(['msg' => trans('admin.app_demo_message')]);
}
$requestData=[
'type'=>$request->type,
'navbar_color'=>$request->navbar_color,
'left_sidebar'=>$request->left_sidebar,
'active_sidebar'=>$request->active_sidebar,
'collapse_sidebar'=>$request->collapse_sidebar,
];
$data = ['name' => 'theme_customize'];
$setting = auth()->user()->settings()->firstOrNew($data);
$setting->value = json_encode($requestData);
$setting->save();
cache()->flush();
return redirect()->route('admin.theme.customize')->with('success', 'Successfully save data');
}
}
|