first(); return view('layout.android-feature', compact('features', 'content')); } public function store(Request $request) { $media = new Media(); $save = $request->get('save'); $feature = new AndroidFeature(); $feature->title = $request->get('title'); $feature->description = $request->get('description'); 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); $feature->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)); $feature->image = str_replace('.'.$ext, '.webp',$image_name); $media->name = str_replace('.'.$ext, '.webp',$image_name); $media->alt = $request->get('alt'); $media->save(); } } } $feature->save(); return redirect()->route('layout.android-feature')->with('message', 'Data Successfully Added'); } public function edit(Request $request) { $act = $request->get('act'); if($act == 'edit-image-feature') { $feature_id = $request->get('feature_id'); $media = Media::all(); $image = AndroidFeature::findOrFail($feature_id)->image; if($image) { $alt = $this->checkALtMedia($image); } else { $alt = ''; } $url = route('layout.android-feature-update-image'); return view('layout.edit-image-feature', compact('act', 'media', 'feature_id', 'alt', 'url')); } } public function updateImage(Request $request) { $media = new Media(); $save = $request->get('save'); $features_id = $request->get('feature_id'); $feature = AndroidFeature::findOrFail($features_id); 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); $feature->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)); $feature->image = str_replace('.'.$ext, '.webp',$image_name); $media->name = str_replace('.'.$ext, '.webp',$image_name); $media->alt = $request->get('alt'); $media->save(); } } } $feature->save(); return redirect()->route('layout.android-feature')->with('message', 'Image Successfully Updated'); } public function update(Request $request) { $act = $request->get('act'); if($act == 'edit-content-feature') { $feature_id = $request->get('feature_id'); $title = $request->get('title'); $description = $request->get('description'); $feature = AndroidFeature::findOrFail($feature_id); $feature->title = $title; $feature->description = $description; $feature->save(); } else if($act == 'edit-alt-feature') { $feature_id = $request->get('feature_id'); $alt = $request->get('alt'); $image = AndroidFeature::findOrFail($feature_id)->image; if($image) { $media = Media::where('name', $image)->first(); if($media) { $media->alt = $alt; $media->save(); } } } else if($act == 'choose-from-media-feature') { $feature_id = $request->get('feature_id'); $image = $request->get('image'); $feature = AndroidFeature::findOrFail($feature_id); $feature->image = $image; $feature->save(); } else if($act == 'delete-feature') { $feature_id = $request->get('feature_id'); AndroidFeature::destroy($feature_id); } else if($act == 'title') { $site_page = AndroidPage::first(); $site_page->section_feature_big_title = $request->get('big_title'); $site_page->section_feature_small_title = $request->get('small_title'); $site_page->save(); } return 'true'; } 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 ''; } } }