![]() 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/SocialNetwork/ |
<?php namespace App\Http\Controllers\Admin\SocialNetwork; use App\Shop\SocialNetworks\Repositories\Interfaces\SocialNetworkRepositoryInterface; use App\Shop\SocialNetworks\Repositories\SocialNetworkRepository; use App\Shop\SocialNetworks\SocialNetwork; use App\Shop\SocialNetworks\Requests\UpdateSocialNetworkRequest; use App\Http\Controllers\Controller; use App\Shop\Tools\UploadableTrait; use Illuminate\Http\Request; use Illuminate\Http\UploadedFile; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Validator; class SocialNetworkController extends Controller { use UploadableTrait; /** * @var SocialNetworkRepositoryInterface */ private $socialNetworkRepo; /** * SocialNetworkController constructor. * * @param SocialNetworkRepositoryInterface $socialNetworkRepository * @param SocialNetwork $socialNetwork */ public function __construct( SocialNetworkRepositoryInterface $socialNetworkRepository, SocialNetwork $socialNetwork ) { $this->socialNetworkRepo = $socialNetworkRepository; } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $list = $this->socialNetworkRepo->listSocialNetworks('id', 'asc'); return view('admin.social-network.list', [ 'networks' => $this->socialNetworkRepo->paginateArrayResults($list->all()) ]); } /** * Show the form for editing the specified resource. * * @param int $id * * @return \Illuminate\Http\Response */ public function edit(int $id) { $network = $this->socialNetworkRepo->findSocialNetworkById($id); return view( 'admin.social-network.edit',compact('network') ); } /** * Update the specified resource in storage. * * @param UpdateSocialNetworkRequest $request * @param int $id * * @return \Illuminate\Http\Response */ public function update(UpdateSocialNetworkRequest $request, int $id) { $currentData = $this->socialNetworkRepo->findSocialNetworkById($id); $currentDataRepo = new SocialNetworkRepository($currentData); $data = $request->all(); if ($request->hasFile('background_img')) { $data['background_img'] = $currentDataRepo->saveBackgroundImage($request->file('background_img')); if(!empty($data['background_img'])) { $currentDataRepo->deleteBackgroundImage(); } } else { $data['background_img'] = $currentData->getOriginal()['background_img']; } if ($request->hasFile('icon')) { $data['icon'] = $currentDataRepo->saveIcon($request->file('icon')); if(!empty($data['icon'])) { $currentDataRepo->deleteIcon(); } } else { $data['icon'] = $currentData->getOriginal()['icon']; } $newData = $currentDataRepo->updateSocialNetwork($data); $request->session()->flash('message', 'Update successful'); return redirect()->route('admin.social.network.list'); } }