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, '');
}
}