get(['position']); return view('team.create', compact('position')); } public function store(Request $request) { $save = $request->get('save'); $media = new Media(); $team = new Team(); $team->name = $request->get('name'); $team->slug = \Str::slug($request->get('name'),'-'); $team->position = $request->get('position'); $team->profile_description = $request->get('profile_description'); $team->email = $request->get('email'); $team->telp = $request->get('telp'); $team->facebook = $request->get('link_facebook'); $team->twitter = $request->get('link_twitter'); $team->google_plus = $request->get('link_google_plus'); $team->linkedin = $request->get('link_linkedin'); 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); $team->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)); $team->image = str_replace('.'.$ext, '.webp',$image_name); $media->name = str_replace('.'.$ext, '.webp',$image_name); $media->alt = $request->get('alt'); $media->save(); } } } $team->save(); return redirect()->route('team.index')->with('message', 'Data Successfully Added'); } public function edit($id_team) { $position = Team::distinct()->get(['position']); $id = \Crypt::decrypt($id_team); $team = Team::findOrFail($id); return view('team.edit', compact('team', 'position')); } public function update(Request $request, $id) { $save = $request->get('save'); $media = new Media(); $team = Team::findOrFail($id); $team->name = $request->get('name'); $team->slug = \Str::slug($request->get('name'),'-'); $team->position = $request->get('position'); $team->profile_description = $request->get('profile_description'); $team->email = $request->get('email'); $team->telp = $request->get('telp'); $team->facebook = $request->get('link_facebook'); $team->twitter = $request->get('link_twitter'); $team->google_plus = $request->get('link_google_plus'); $team->linkedin = $request->get('link_linkedin'); 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); $team->image = $image_name; $media->name = $image_name; $media->alt = $request->get('alt'); $media->save(); } } else { $old_media = Media::where('name', $team->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)); $team->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', $team->image)->first(); $old_media->alt = $request->get('alt'); $old_media->save(); } } $team->save(); return redirect()->route('team.index')->with('message', 'Data Successfully Updated'); } public function delete(Request $request) { $id = $request->get('team_id'); Team::destroy($id); return 'true'; } public static function checkALtMedia($image) { $media = Media::where('name', $image)->first(); if($media) { return $media->alt; } else { return ''; } } }