get(); $content = EmkaPage::first(); return view('emkaproject.index', compact('projects','content')); } public function create() { $category = EmkaProject::distinct()->get(['category']); return view('emkaproject.create', compact('category')); } public function store(Request $request) { $media = new Media(); $save = $request->get('save'); $project = new EmkaProject(); $project->title = $request->get('title'); $project->slug = Str::slug($request->get('title'), '-'); $project->description = $request->get('description'); $project->category = $request->get('category'); if($save == 'save-as') { if ($request->hasFile('image')) { $image = $request->file('image'); // $ext = $image->getClientOriginalExtension(); if ($request->file('image')->isValid()) { // check if file exist $check_media = Media::where('name', $image->getClientOriginalName())->count(); if($check_media > 0) { $no = 2; $image_name = ''; while (true) { $image_name = str_replace('.'. $image->getClientOriginalExtension(), '', $image->getClientOriginalName()) . '-' .$no . '.' . $image->getClientOriginalExtension(); if(Media::where('name', $image_name)->count() < 1) { break; } $no++; } } else { $image_name = $image->getClientOriginalName(); } $upload_path = 'media'; $request->file('image')->move($upload_path, $image_name); $project->image = $image_name; $media->name = $image_name; $media->alt = $request->get('alt'); $media->save(); } } } else { if ($request->hasFile('image')) { $image = $request->file('image'); $ext = $image->getClientOriginalExtension(); if ($request->file('image')->isValid()) { $check_media = Media::where('name', str_replace('.' . $image->getClientOriginalExtension(), '', $image->getClientOriginalName()) . '.webp')->count(); if($check_media > 0) { $no = 2; $image_name = ''; while (true) { $image_name = str_replace('.'. $image->getClientOriginalExtension(), '', $image->getClientOriginalName()) . '-' .$no . '.' . $image->getClientOriginalExtension(); $image_webp = str_replace('.'. $image->getClientOriginalExtension(), '', $image->getClientOriginalName()) . '-' .$no . '.webp'; if(Media::where('name', $image_webp)->count() < 1) { break; } $no++; } } else { $image_name = $image->getClientOriginalName(); } $upload_path = 'media'; $request->file('image')->move($upload_path, $image_name); if($ext == 'png') { $img_new_a = imagecreatefrompng(public_path('media/' . $image_name)); } else { $img_new_a = imagecreatefromjpeg(public_path('media/' . $image_name)); } imagepalettetotruecolor($img_new_a); imagealphablending($img_new_a, true); imagesavealpha($img_new_a, true); imagewebp($img_new_a, public_path('media/' . str_replace('.'.$ext, '.webp',$image_name)), 80); imagedestroy($img_new_a); unlink(public_path('media/' . $image_name)); $project->image = str_replace('.'.$ext, '.webp',$image_name); $media->name = str_replace('.'.$ext, '.webp',$image_name); $media->alt = $request->get('alt'); $media->save(); } } } $project->save(); $project_detail = new EmkaProjectDetail(); $project_detail->project_id = $project->id; $project_detail->point_1 = '[]'; $project_detail->point_2 = '[]'; $project_detail->point_3 = '[]'; $project_detail->point_4 = '[]'; $project_detail->save(); return redirect()->route('emka.project-index')->with('message', 'Data Successfully Added'); } public function edit($id_project) { $id = \Crypt::decrypt($id_project); $project = EmkaProject::findOrFail($id); $category = EmkaProject::distinct()->get(['category']); return view('emkaproject.edit', compact('project', 'category')); } public function update(Request $request, $id) { $media = new Media(); $save = $request->get('save'); $project = EmkaProject::findOrFail($id); $project->title = $request->get('title'); $project->slug = Str::slug($request->get('title'), '-'); $project->description = $request->get('description'); $project->category = $request->get('category'); if($save == 'save-as') { if ($request->hasFile('image')) { $image = $request->file('image'); // $ext = $image->getClientOriginalExtension(); if ($request->file('image')->isValid()) { // check if file exist $check_media = Media::where('name', $image->getClientOriginalName())->count(); if($check_media > 0) { $no = 2; $image_name = ''; while (true) { $image_name = str_replace('.'. $image->getClientOriginalExtension(), '', $image->getClientOriginalName()) . '-' .$no . '.' . $image->getClientOriginalExtension(); if(Media::where('name', $image_name)->count() < 1) { break; } $no++; } } else { $image_name = $image->getClientOriginalName(); } $upload_path = 'media'; $request->file('image')->move($upload_path, $image_name); $project->image = $image_name; $media->name = $image_name; $media->alt = $request->get('alt'); $media->save(); } } else { $old_media = Media::where('name', $project->image)->first(); $old_media->alt = $request->get('alt'); $old_media->save(); } } else { if ($request->hasFile('image')) { $image = $request->file('image'); $ext = $image->getClientOriginalExtension(); if ($request->file('image')->isValid()) { $check_media = Media::where('name', str_replace('.' . $image->getClientOriginalExtension(), '', $image->getClientOriginalName()) . '.webp')->count(); if($check_media > 0) { $no = 2; $image_name = ''; while (true) { $image_name = str_replace('.'. $image->getClientOriginalExtension(), '', $image->getClientOriginalName()) . '-' .$no . '.' . $image->getClientOriginalExtension(); $image_webp = str_replace('.'. $image->getClientOriginalExtension(), '', $image->getClientOriginalName()) . '-' .$no . '.webp'; if(Media::where('name', $image_webp)->count() < 1) { break; } $no++; } } else { $image_name = $image->getClientOriginalName(); } $upload_path = 'media'; $request->file('image')->move($upload_path, $image_name); if($ext == 'png') { $img_new_a = imagecreatefrompng(public_path('media/' . $image_name)); } else { $img_new_a = imagecreatefromjpeg(public_path('media/' . $image_name)); } imagepalettetotruecolor($img_new_a); imagealphablending($img_new_a, true); imagesavealpha($img_new_a, true); imagewebp($img_new_a, public_path('media/' . str_replace('.'.$ext, '.webp',$image_name)), 80); imagedestroy($img_new_a); unlink(public_path('media/' . $image_name)); $project->image = str_replace('.'.$ext, '.webp',$image_name); $media->name = str_replace('.'.$ext, '.webp',$image_name); $media->alt = $request->get('alt'); $media->save(); } } else { $old_media = Media::where('name', $project->image)->first(); $old_media->alt = $request->get('alt'); $old_media->save(); } } $project->save(); return redirect()->route('emka.project-index')->with('message', 'Data Successfully Updated'); } public function delete(Request $request) { EmkaProject::destroy($request->get('project_id')); return 'true'; } public function layout($id_project) { $id = \Crypt::decrypt($id_project); $project = Project::findOrFail($id); return view('layout.emka-project', compact('project')); } private function checkALtMedia($image) { $media = Media::where('name', $image)->first(); if($media) { return $media->alt; } else { return ''; } } public static function checkAltMediaStatic($image) { $media = Media::where('name', $image)->first(); if($media) { return $media->alt; } else { return ''; } } public function storeProject(Request $request) { } public function editProject(Request $request) { $act = $request->get('act'); if($act == 'edit-slider') { $slider_id = $request->get('slider_id'); $media = Media::all(); $image = EmkaProjectImage::findOrFail($slider_id)->image; if($image) { $alt = $this->checkALtMedia($image); } else { $alt = ''; } $url = route('emka.project-layout-update-image'); $img = $request->get('img'); return view('layout.edit-image-project', compact('act', 'media', 'url', 'alt', 'img', 'slider_id')); } else if($act == 'show-detail') { $position = $request->get('position'); $project_detail = EmkaProjectDetail::where('project_id', $request->get('project_id'))->first(); return view('layout.project-detail-ajax', compact('position', 'project_detail')); } else if ($act == 'detail-image') { $position = $request->get('position'); $project_id = $request->get('project_id'); $media = Media::all(); $project_detail = EmkaProjectDetail::where('project_id', $project_id)->first(); if($position == 1) { $image = $project_detail->image_1; } else if($position == 2) { $image = $project_detail->image_2; } else if($position == 3) { $image = $project_detail->image_3; } else if($position == 4) { $image = $project_detail->image_4; } if($image) { $alt = $this->checkALtMedia($image); } else { $alt = ''; } $url = route('emka.project-layout-update-image'); $img = $request->get('img'); return view('layout.edit-image-project', compact('act', 'media', 'url', 'alt', 'img', 'position', 'project_id')); } } public function updateImageProject(Request $request) { $act = $request->get('act'); $save = $request->get('save'); $project_id = $request->get('project_id'); $media = new Media(); if($save == 'save-as') { if ($request->hasFile('image')) { $image = $request->file('image'); // $ext = $image->getClientOriginalExtension(); if ($request->file('image')->isValid()) { // check if file exist $check_media = Media::where('name', $image->getClientOriginalName())->count(); if($check_media > 0) { $no = 2; $image_name = ''; while (true) { $image_name = str_replace('.'. $image->getClientOriginalExtension(), '', $image->getClientOriginalName()) . '-' .$no . '.' . $image->getClientOriginalExtension(); if(Media::where('name', $image_name)->count() < 1) { break; } $no++; } } else { $image_name = $image->getClientOriginalName(); } $upload_path = 'media'; $request->file('image')->move($upload_path, $image_name); if($act == 'add-new-slider') { $slider = new EmkaProjectImage(); $slider->image = $image_name; $slider->project_id = $project_id; $slider->save(); } else if($act == 'edit-slider') { $slider = EmkaProjectImage::findOrFail($request->get('slider_id')); $slider->image = $image_name; $slider->save(); $project_id = $slider->project_id; } else if($act == 'detail-image') { $project_detail = EmkaProjectDetail::where('project_id', $project_id)->first(); $position = $request->get('position'); if($position == 1) { $project_detail->image_1 = $image_name; } else if($position == 2) { $project_detail->image_2 = $image_name; } else if($position == 3) { $project_detail->image_3 = $image_name; } else if($position == 4) { $project_detail->image_4 = $image_name; } $project_detail->save(); } $media->name = $image_name; $media->alt = $request->get('alt'); $media->save(); } } } else { if ($request->hasFile('image')) { $image = $request->file('image'); $ext = $image->getClientOriginalExtension(); if ($request->file('image')->isValid()) { $check_media = Media::where('name', str_replace('.' . $image->getClientOriginalExtension(), '', $image->getClientOriginalName()) . '.webp')->count(); if($check_media > 0) { $no = 2; $image_name = ''; while (true) { $image_name = str_replace('.'. $image->getClientOriginalExtension(), '', $image->getClientOriginalName()) . '-' .$no . '.' . $image->getClientOriginalExtension(); $image_webp = str_replace('.'. $image->getClientOriginalExtension(), '', $image->getClientOriginalName()) . '-' .$no . '.webp'; if(Media::where('name', $image_webp)->count() < 1) { break; } $no++; } } else { $image_name = $image->getClientOriginalName(); } $upload_path = 'media'; $request->file('image')->move($upload_path, $image_name); if($ext == 'png') { $img_new_a = imagecreatefrompng(public_path('media/' . $image_name)); } else { $img_new_a = imagecreatefromjpeg(public_path('media/' . $image_name)); } imagepalettetotruecolor($img_new_a); imagealphablending($img_new_a, true); imagesavealpha($img_new_a, true); imagewebp($img_new_a, public_path('media/' . str_replace('.'.$ext, '.webp',$image_name)), 80); imagedestroy($img_new_a); unlink(public_path('media/' . $image_name)); if($act == 'add-new-slider') { $slider = new EmkaProjectImage(); $slider->image = str_replace('.'.$ext, '.webp',$image_name); $slider->project_id = $project_id; $slider->save(); } else if($act == 'edit-slider') { $slider = EmkaProjectImage::findOrFail($request->get('slider_id')); $slider->image = str_replace('.'.$ext, '.webp',$image_name); $slider->save(); $project_id = $slider->project_id; } else if($act == 'detail-image') { $project_detail = EmkaProjectDetail::where('project_id', $project_id)->first(); $position = $request->get('position'); if($position == 1) { $project_detail->image_1 = str_replace('.'.$ext, '.webp',$image_name); } else if($position == 2) { $project_detail->image_1 = str_replace('.'.$ext, '.webp',$image_name); } else if($position == 3) { $project_detail->image_3 = str_replace('.'.$ext, '.webp',$image_name); } else if($position == 4) { $project_detail->image_4 = str_replace('.'.$ext, '.webp',$image_name); } $project_detail->save(); } $media->name = str_replace('.'.$ext, '.webp',$image_name); $media->alt = $request->get('alt'); $media->save(); } } } return redirect()->route('emka.project-layout', ['id' => \Crypt::encrypt($project_id)])->with('message', 'Image Successfully Added'); } public function updateProject(Request $request) { $act = $request->get('act'); if($act == 'edit-alt-slider') { $image = EmkaProjectImage::findOrFail($request->get('slider_id'))->image; if($image) { $media = Media::where('name', $image)->first(); $media->alt = $request->get('image_alt'); $media->save(); } } else if($act == 'delete-slider') { EmkaProjectImage::destroy($request->get('slider_id')); } else if($act == 'choose-from-media-slider') { $slider = EmkaProjectImage::findOrFail($request->get('slider_id')); $slider->image = $request->get('image'); $slider->save(); } else if($act == 'detail-title') { $position = $request->get('position'); $project_detail = ProjectDetail::where('project_id', $request->get('project_id'))->first(); if($position == 1) { $project_detail->title_1 = $request->get('title'); } else if($position == 2) { $project_detail->title_2 = $request->get('title'); } else if($position == 3) { $project_detail->title_3 = $request->get('title'); } else if($position == 4) { $project_detail->title_4 = $request->get('title'); } $project_detail->save(); } else if($act == 'edit-alt-detail-image') { $position = $request->get('position'); $project_detail = EmkaProjectDetail::where('project_id', $request->get('project_id'))->first(); $image = NULL; if($position == 1) { $image = $project_detail->image_1; } else if($position == 2) { $image = $project_detail->image_2; } else if($position == 3) { $image = $project_detail->image_3; } else if($position == 4) { $image = $project_detail->image_4; } if($image) { $media = Media::where('name', $image)->first(); $media->alt = $request->get('img_alt'); $media->save(); } } else if($act == 'choose-from-media-detail-image') { $position = $request->get('position'); $project_detail = EmkaProjectDetail::where('project_id', $request->get('project_id'))->first(); if($position == 1) { $project_detail->image_1 = $request->get('img'); } else if($position == 2) { $project_detail->image_2 = $request->get('img'); } else if($position == 3) { $project_detail->image_3 = $request->get('img'); } else if($position == 4) { $project_detail->image_4 = $request->get('img'); } $project_detail->save(); } else if($act == 'detail-show-title') { $position = $request->get('position'); $project_detail = EmkaProjectDetail::where('project_id', $request->get('project_id'))->first(); if($position == 1) { $project_detail->big_title_1 = $request->get('big_title'); $project_detail->small_title_1 = $request->get('small_title'); } else if($position == 2) { $project_detail->big_title_2 = $request->get('big_title'); $project_detail->small_title_2 = $request->get('small_title'); } else if($position == 3) { $project_detail->big_title_3 = $request->get('big_title'); $project_detail->small_title_3 = $request->get('small_title'); } else if($position == 4) { $project_detail->big_title_4 = $request->get('big_title'); $project_detail->small_title_4 = $request->get('small_title'); } $project_detail->save(); } else if($act == 'detail-point') { $points = $request->get('points'); $position = $request->get('position'); if(!empty($points)) { $project_detail = EmkaProjectDetail::where('project_id', $request->get('project_id'))->first(); if($position == 1) { $project_detail->point_1 = json_encode($points); } else if($position == 2) { $project_detail->point_2 = json_encode($points); } else if($position == 3) { $project_detail->point_3 = json_encode($points); } else if($position == 4) { $project_detail->point_4 = json_encode($points); } $project_detail->save(); } } return 'true'; } }