Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/mcoil.corals.io/app/Http/Controllers/Admin/WebsiteSetting/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/mcoil.corals.io/app/Http/Controllers/Admin/WebsiteSetting/WebsiteSettingController.php
<?php

namespace App\Http\Controllers\Admin\WebsiteSetting;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Shop\WebsiteSettings\Repositories\WebsiteSettingRepository;
use App\Shop\WebsiteSettings\Repositories\Interfaces\WebsiteSettingRepositoryInterface;
use App\Shop\WebsiteSettings\Requests\UpdateWebsiteSettingsRequest;
use App\Shop\Tools\UploadableTrait;
use Illuminate\Http\UploadedFile;
use App\Shop\WebsiteSettings\WebsiteSetting;


class WebsiteSettingController extends Controller {
    use UploadableTrait;

    /**
     * @var WebsiteSettingRepositoryInterface
     */
    private $websiteSettingRepo;

    /**
     * BannerController constructor.
     *
     * @param WebsiteSettingRepositoryInterface $websiteSettingRepository
     * @param Banner $banner
     */
    public function __construct(
        WebsiteSettingRepositoryInterface $websiteSettingRepository
    ) {
        $this->websiteSettingRepo = $websiteSettingRepository;
    }

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index() {
        $setting = WebsiteSetting::first();
        return view('admin.website-setting.index', [
            'setting' => $setting
        ]);
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create() {
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request) {
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id) {
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id) {
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id) {
        $currentData = $this->websiteSettingRepo->findWebsiteSettingById($id);
        $currentDataRepo = new WebsiteSettingRepository($currentData);
        $data = $request->all();
        if ($request->hasFile('header_logo')) {
            $data['header_logo'] = $currentDataRepo->saveLogoImage($request->file('header_logo'));
            if (!empty($data['header_logo'])) {
                $currentDataRepo->deleteLogoImage();
            }
        }
        if ($request->hasFile('footer_logo')) {
            $data['footer_logo'] = $currentDataRepo->saveLogoImage($request->file('footer_logo'));
            if (!empty($data['footer_logo'])) {
                $currentDataRepo->deleteFooterLogoImage();
            }
        }
        if ($request->hasFile('backend_logo')) {
            $data['backend_logo'] = $currentDataRepo->saveLogoImage($request->file('backend_logo'));
            if (!empty($data['backend_logo'])) {
                $currentDataRepo->deleteBackendLogoImage();
            }
        }
        if ($request->hasFile('favicon')) {
            $data['favicon'] = $currentDataRepo->saveFaviconImage($request->file('favicon'));
            if (!empty($data['favicon'])) {
                $currentDataRepo->deleteFaviconImage();
            }
        }
        $newData = $currentDataRepo->updateWebsiteSetting($data);
        return redirect()->back()->with('message', 'Website settings updated successfully.');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id) {
    }

    public function removeLogo(Request $request,$id) {
        $attr = $request->input('type');
        $currentData = $this->websiteSettingRepo->findWebsiteSettingById($id);
        if ($currentData && $attr == 'header_logo-but') {
            \Storage::disk('images_uploaded')->delete($currentData->header_logo);
            WebsiteSetting::where('id',$id)->update(['header_logo'=>'']);
            return 1;
        }
        if ($currentData && $attr == 'footer_logo-but') {
            \Storage::disk('images_uploaded')->delete($currentData->footer_logo); 
            WebsiteSetting::where('id',$id)->update(['footer_logo'=>'']);
            return 1;
        }
        if ($currentData && $attr == 'backend_logo-but') {
            \Storage::disk('images_uploaded')->delete($currentData->backend_logo);
            WebsiteSetting::where('id',$id)->update(['backend_logo'=>'']);
            return 1;
          
        }
        if ($currentData && $attr == 'favicon-but') {
            \Storage::disk('images_uploaded')->delete($currentData->favicon);
            WebsiteSetting::where('id',$id)->update(['favicon'=>'']);  
            return 1;
        }
        return 0;
    }
}

Spamworldpro Mini