NICH
Server IP : 127.0.1.1  /  Your IP : 216.73.216.172
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux bahcrestlinepropertiesllc 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/bahcrestline/core/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /var/www/bahcrestline/core/app/Http/Controllers//SectionsController.php
<?php

namespace App\Http\Controllers;

use App\Http\Requests;
use App\Section;
use App\Topic;
use App\TopicCategory;
use App\WebmasterSection;
use Auth;
use File;
use Helper;
use Illuminate\Http\Request;
use Redirect;

class SectionsController extends Controller
{
    private $uploadPath = "uploads/sections/";

    // Define Default Variables

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

    }

    /**
     * Display a listing of the resource.
     *
     * @param  \Illuminate\Http\Request $webmasterId
     * @return \Illuminate\Http\Response
     */
    public function index($webmasterId)
    {
        // Check Permissions
        $data_sections_arr = explode(",", Auth::user()->permissionsGroup->data_sections);
        if (!in_array($webmasterId, $data_sections_arr)) {
            return Redirect::to(route('NoPermission'))->send();
        }
        //
        // General for all pages
        $GeneralWebmasterSections = WebmasterSection::where('status', '=', '1')->orderby('row_no', 'asc')->get();
        // General END

        //Webmaster Section Details
        $WebmasterSection = WebmasterSection::find($webmasterId);

        if (@Auth::user()->permissionsGroup->view_status) {
            $Sections = Section::where('created_by', '=', Auth::user()->id)->where('webmaster_id', '=',
                $webmasterId)->where('father_id', '=', '0')->orderby('row_no',
                'asc')->paginate(env('BACKEND_PAGINATION'));
        } else {
            $Sections = Section::where('webmaster_id', '=', $webmasterId)->where('father_id', '=',
                '0')->orderby('row_no',
                'asc')->paginate(env('BACKEND_PAGINATION'));
        }


        // count topics by Category
        $category_and_topics_count = array();
        if (!empty($WebmasterSection)) {
            $AllSections = Section::where('webmaster_id', '=', $WebmasterSection->id)->where('status', 1)->orderby('row_no', 'asc')->get();
            if (count($AllSections) > 0) {
                foreach ($AllSections as $AllSection) {
                    $category_topics = array();
                    $TopicCategories = TopicCategory::where('section_id', $AllSection->id)->get();
                    foreach ($TopicCategories as $category) {
                        $category_topics[] = $category->topic_id;
                    }

                    $Topics = Topic::where([['webmaster_id', '=', $WebmasterSection->id], ['status', 1], ['expire_date', '>=', date("Y-m-d")], ['expire_date', '<>', null]])->orWhere([['webmaster_id', '=', $WebmasterSection->id], ['status', 1], ['expire_date', null]])->whereIn('id', $category_topics)->orderby('row_no', 'asc')->get();
                    $category_and_topics_count[$AllSection->id] = count($Topics);
                }
            }
        }

        return view("backEnd.sections", compact("Sections", "GeneralWebmasterSections", "WebmasterSection", "category_and_topics_count"));
    }

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

        //Webmaster Section Details
        $WebmasterSection = WebmasterSection::find($webmasterId);

        $fatherSections = Section::where('webmaster_id', '=', $webmasterId)->where('father_id', '=',
            '0')->orderby('row_no', 'asc')->get();

        return view("backEnd.sections.create",
            compact("GeneralWebmasterSections", "WebmasterSection", "fatherSections"));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  int $webmasterId
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request, $webmasterId)
    {
        //
        $this->validate($request, [
            'photo' => 'mimes:png,jpeg,jpg,gif|max:3000'
        ]);


        $next_nor_no = Section::where('webmaster_id', '=', $webmasterId)->where('father_id', '=',
            $request->father_id)->max('row_no');
        if ($next_nor_no < 1) {
            $next_nor_no = 1;
        } else {
            $next_nor_no++;
        }

        // Start of Upload Files
        $formFileName = "photo";
        $fileFinalName = "";
        if ($request->$formFileName != "") {
            $fileFinalName = time() . rand(1111,
                    9999) . '.' . $request->file($formFileName)->getClientOriginalExtension();
            $path = $this->getUploadPath();
            $request->file($formFileName)->move($path, $fileFinalName);
        }
        // End of Upload Files

        $Section = new Section;
        $Section->row_no = $next_nor_no;
        $Section->title_ar = $request->title_ar;
        $Section->title_en = $request->title_en;
        $Section->icon = $request->icon;
        if ($fileFinalName != "") {
            $Section->photo = $fileFinalName;
        }
        $Section->webmaster_id = $webmasterId;
        $Section->father_id = $request->father_id;
        $Section->visits = 0;
        $Section->status = 1;
        $Section->created_by = Auth::user()->id;


        // Meta title
        $Section->seo_title_ar = $request->title_ar;
        $Section->seo_title_en = $request->title_en;

        //URL Slugs
        $slugs = Helper::URLSlug($request->title_ar, $request->title_en, "category", 0);
        $Section->seo_url_slug_ar = $slugs['slug_ar'];
        $Section->seo_url_slug_en = $slugs['slug_en'];


        $Section->save();

        return redirect()->action('SectionsController@index', $webmasterId)->with('doneMessage',
            trans('backLang.addDone'));
    }

    public function getUploadPath()
    {
        return $this->uploadPath;
    }

    public function setUploadPath($uploadPath)
    {
        $this->uploadPath = Config::get('app.APP_URL') . $uploadPath;
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int $id
     * @param  int $webmasterId
     * @return \Illuminate\Http\Response
     */
    public function edit($webmasterId, $id)
    {
        //
        // General for all pages
        $GeneralWebmasterSections = WebmasterSection::where('status', '=', '1')->orderby('row_no', 'asc')->get();
        // General END

        if (@Auth::user()->permissionsGroup->view_status) {
            $Sections = Section::where('created_by', '=', Auth::user()->id)->find($id);
        } else {
            $Sections = Section::find($id);
        }
        if (!empty($Sections)) {
            //Section Sections Details
            $WebmasterSection = WebmasterSection::find($Sections->webmaster_id);

            $fatherSections = Section::where('webmaster_id', '=', $webmasterId)->where('id', '!=',
                $id)->where('father_id', '=', '0')->orderby('row_no', 'asc')->get();

            return view("backEnd.sections.edit",
                compact("Sections", "GeneralWebmasterSections", "WebmasterSection", "fatherSections"));
        } else {
            return redirect()->action('SectionsController@index', $webmasterId);
        }
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  int $id
     * @param  int $webmasterId
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $webmasterId, $id)
    {
        //
        $Section = Section::find($id);
        if (!empty($Section)) {


            $this->validate($request, [
                'photo' => 'mimes:png,jpeg,jpg,gif|max:3000'
            ]);


            // Start of Upload Files
            $formFileName = "photo";
            $fileFinalName = "";
            if ($request->$formFileName != "") {
                // Delete a Section photo
                if ($Section->photo != "") {
                    File::delete($this->getUploadPath() . $Section->photo);
                }

                $fileFinalName = time() . rand(1111,
                        9999) . '.' . $request->file($formFileName)->getClientOriginalExtension();
                $path = $this->getUploadPath();
                $request->file($formFileName)->move($path, $fileFinalName);
            }
            // End of Upload Files

            $Section->title_ar = $request->title_ar;
            $Section->title_en = $request->title_en;
            $Section->icon = $request->icon;
            if ($request->photo_delete == 1) {
                // Delete photo
                if ($Section->photo != "") {
                    File::delete($this->getUploadPath() . $Section->photo);
                }

                $Section->photo = "";
            }

            if ($fileFinalName != "") {
                $Section->photo = $fileFinalName;
            }
            $Section->father_id = $request->father_id;
            $Section->status = $request->status;
            $Section->updated_by = Auth::user()->id;
            $Section->save();
            return redirect()->action('SectionsController@edit', [$webmasterId, $id])->with('doneMessage',
                trans('backLang.saveDone'));
        } else {
            return redirect()->action('SectionsController@index', $webmasterId);
        }
    }

    public function seo(Request $request, $webmasterId, $id)
    {
        //
        $Section = Section::find($id);
        if (!empty($Section)) {

            $Section->seo_title_ar = $request->seo_title_ar;
            $Section->seo_title_en = $request->seo_title_en;
            $Section->seo_description_ar = $request->seo_description_ar;
            $Section->seo_description_en = $request->seo_description_en;
            $Section->seo_keywords_ar = $request->seo_keywords_ar;
            $Section->seo_keywords_en = $request->seo_keywords_en;
            $Section->updated_by = Auth::user()->id;

            //URL Slugs
            $slugs = Helper::URLSlug($request->seo_url_slug_ar, $request->seo_url_slug_en, "category", $id);
            $Section->seo_url_slug_ar = $slugs['slug_ar'];
            $Section->seo_url_slug_en = $slugs['slug_en'];

            $Section->save();
            return redirect()->action('SectionsController@edit', [$webmasterId, $id])->with('doneMessage',
                trans('backLang.saveDone'))->with('activeTab', 'seo');
        } else {
            return redirect()->action('SectionsController@index', $webmasterId);
        }
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int $id
     * @param  int $webmasterId
     * @return \Illuminate\Http\Response
     */
    public function destroy($webmasterId, $id)
    {
        //
        if (@Auth::user()->permissionsGroup->view_status) {
            $Sections = Section::where('created_by', '=', Auth::user()->id)->find($id);
        } else {
            $Section = Section::find($id);
        }

        if (!empty($Section)) {
            // Delete a Section photo
            if ($Section->photo != "") {
                File::delete($this->getUploadPath() . $Section->photo);
            }
            Section::where('father_id', $Section->id)->delete();
            $Section->delete();
            return redirect()->action('SectionsController@index', $webmasterId)->with('doneMessage',
                trans('backLang.deleteDone'));
        } else {
            return redirect()->action('SectionsController@index', $webmasterId);
        }
    }


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

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

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

                } elseif ($request->action == "delete") {
                    // Delete Sections photo
                    $Sections = Section::wherein('id', $request->ids)->get();
                    foreach ($Sections as $Section) {
                        if ($Section->photo != "") {
                            File::delete($this->getUploadPath() . $Section->photo);
                        }
                    }
                    Section::wherein('father_id', $request->ids)->delete();
                    Section::wherein('id', $request->ids)
                        ->delete();

                }
            }
        }
        return redirect()->action('SectionsController@index', $webmasterId)->with('doneMessage',
            trans('backLang.saveDone'));
    }


}

Anon7 - 2022
AnonSec Team