HEX
Server: Apache/2.4.57 (Unix) OpenSSL/1.1.1k
System: Linux server.eshhar.net 4.18.0-553.89.1.el8_10.x86_64 #1 SMP Mon Dec 8 03:53:08 EST 2025 x86_64
User: xdas (1048)
PHP: 7.4.33
Disabled: mail,sendmail
Upload Files
File: /home/xdas/public_html/oldsite/app/Http/Controllers/Admin/PlaceController.php
<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Place;
Use App\Image;
use Intervention\Image\ImageManagerStatic as Img;
class PlaceController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
        $all=Place::latest()->get();
        return view('Admin.places.index',compact('all'));

    }

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

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
   // dd($request->all());
    $this->validate($request,[
        'title_ar'=>'required',
        'description_ar'=>'required',

    ],[
        'title_ar.required' => 'اسم القسم باللغة العربية مطلوب ',
        'description_ar.required' => 'وصف القسم باللغة العربية مطلوب ',

        ]

    );
//   dd($request->file('file')->getClientOriginalName());
    $places=new Place;
    $places->title_ar=$request->title_ar;
    $places->title_en=$request->title_en;
    $places->description_ar=$request->description_ar;
    $places->description_en=$request->description_en;
    $places->meta_description_ar=$request->meta_description_ar;
    $places->tags=$request->tags;
    $places->let=$request->lat;
    $places->location=$request->map;
    $places->length=$request->lng;
    $places->slogen_ar=$this->make_slug($request->title_ar);
    $places->slogen_en=$this->make_slug($request->title_en);
    if ($request->hasFile('file')) {

    $file = $request->file('file');
    $filename = $file->getClientOriginalExtension();

        // $imageExtension = $file->getClientOriginalName();
        $imageName ='video_place_'.time().'.'.$filename;
        if (!file_exists('public/place/larg/')) {
            mkdir('public/place/larg/', 0777, true);
        }

        $path = public_path().'/place/larg/';
        $file->move($path, $imageName);
        $places->video='place/larg/'.$imageName;

    }
    $places->status=$request->status;
    $places->save();
    if($places->save()){
        if ($request->hasFile('pro_image')) {
            $files[] = $request->file('pro_image');
            foreach ($files as $images) {
                $i = 1;
                foreach ($images as $images1) {
                    //dd($images);
                    $imageExtension = $images1->getClientOriginalExtension();
                    $imageName ='image_places_' . $i . time() . '.' . $imageExtension;
                    if (!file_exists('public/places/larg/')) {
                        mkdir('public/places/larg/', 0777, true);

                    }
                    if (!file_exists('public/places/small/')) {
                        mkdir('public/places/small/', 0777, true);
                    }


                    $image_resize = Img::make($images1->getRealPath());
                    $image_resize->resize(990, 710);
                    $image_resize->save(public_path('places/larg/' . $imageName));

                    $image_resize1 = Img::make($images1->getRealPath());
                    $image_resize1->resize(625, 417);
                    $image_resize1->save(public_path('places/small/' . $imageName));

                    $addpagimg = new Image();
                    $addpagimg->place_id =$places->id;
                    $addpagimg->img = 'places/larg/' . $imageName;
                    $addpagimg->save();

                    $i++;
                }
            }

        }
    }

    return  redirect('admin/places')->with('success','تم اضافة  المكان  بنجاح');

    }

    /**
     * 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)
    {
        //
        $place=Place::find($id);
        return view('Admin.places.edit',compact('place'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
        $this->validate($request,[
            'title_ar'=>'required',
            'description_ar'=>'required',

        ],[
            'title_ar.required' => 'اسم القسم باللغة العربية مطلوب ',
            'description_ar.required' => 'وصف القسم باللغة العربية مطلوب ',

            ]

        );
    //   dd($request->file('file')->getClientOriginalName());
        $places= Place::find($id);
        $places->title_ar=$request->title_ar;
        $places->title_en=$request->title_en;
        $places->description_ar=$request->description_ar;
        $places->description_en=$request->description_en;
        $places->meta_description_ar=$request->meta_description_ar;
        $places->tags=$request->tags;
        $places->let=$request->lat;
        $places->location=$request->map;
        $places->length=$request->lng;
        $places->slogen_ar=$this->make_slug($request->title_ar);
        $places->slogen_en=$this->make_slug($request->title_en);
        if ($request->hasFile('file')) {
            if($places->video){
           unlink(asset($places->video));
            }
        $file = $request->file('file');
        $filename = $file->getClientOriginalExtension();
            // $imageExtension = $file->getClientOriginalName();
            $imageName ='video_place_'.time().'.'.$filename;
            if (!file_exists('public/place/larg/')) {
                mkdir('public/place/larg/', 0777, true);
            }

            $path = public_path().'/place/larg/';
            $file->move($path, $imageName);
            $places->video='place/larg/'.$imageName;

        }
        $places->status=$request->status;
        $places->save();
        if($places->save()){
            if ($request->hasFile('pro_image')) {
                $files[] = $request->file('pro_image');
                foreach ($files as $images) {
                    $i = 1;
                    foreach ($images as $images1) {
                        //dd($images);
                        $imageExtension = $images1->getClientOriginalExtension();
                        $imageName ='image_places_' . $i . time() . '.' . $imageExtension;
                        if (!file_exists('public/places/larg/')) {
                            mkdir('public/places/larg/', 0777, true);

                        }
                        if (!file_exists('public/places/small/')) {
                            mkdir('public/places/small/', 0777, true);
                        }


                        $image_resize = Img::make($images1->getRealPath());
                        $image_resize->resize(990, 710);
                        $image_resize->save(public_path('places/larg/' . $imageName));

                        $image_resize1 = Img::make($images1->getRealPath());
                        $image_resize1->resize(625, 417);
                        $image_resize1->save(public_path('places/small/' . $imageName));

                        $addpagimg = new Image();
                        $addpagimg->place_id =$places->id;
                        $addpagimg->img = 'places/larg/' . $imageName;
                        $addpagimg->save();

                        $i++;
                    }
                }

            }
        }

        return  redirect('admin/places')->with('success','تم تعديل  المكان  بنجاح');

    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
        $places=Place::find($id);
        if($places->video){
            unlink(public_path().'/'.$places->video);
        }
        if($places->images->isEmpty() != true){
            foreach ($places->images as $img ) {
            unlink(public_path().'/'.$img->img);
            }
        }
        $places->delete();
        return  redirect('admin/places')->with('success','تم حذف  المكان  بنجاح');

    }
    public function deleteimage(Request $request){

        if(isset($request->id)){
         $todo = Image::find($request->id);
         $todo->delete();
         return 'success';
         }
     }
    public function make_slug($string = null, $separator = "-") {
        if (is_null($string)) {
            return "";
        }
        // Remove spaces from the beginning and from the end of the string
        $string = trim($string);

        // Lower case everything
        // using mb_strtolower() function is important for non-Latin UTF-8 string | more info: http://goo.gl/QL2tzK
        $string = mb_strtolower($string, "UTF-8");

        // Make alphanumeric (removes all other characters)
        // this makes the string safe especially when used as a part of a URL
        // this keeps latin characters and arabic charactrs as well
        $string = preg_replace("/[^a-z0-9_\s-ءاأإآؤئبتثجحخدذرزسشصضطظعغفقكلمنهويةى]/u", "", $string);

        // Remove multiple dashes or whitespaces
        $string = preg_replace("/[\s-]+/", " ", $string);

        // Convert whitespaces and underscore to the given separator
        $string = preg_replace("/[\s_]/", $separator, $string);

        return str_limit($string, 100, '');
    }
}