Files
gsf/app/Services/Admin/ManageTestimonialService.php
vedant-chavan 20f55281ef save to codehub
2024-08-09 17:11:41 +05:30

151 lines
5.4 KiB
PHP

<?php
namespace App\Services\Admin;
use Illuminate\Http\Request;
use App\Models\Testimonial;
use App\Models\TestimonialImages;
use File;
use Illuminate\Support\Facades\Validator;
/**
* Class ManageTestimonialService.
*/
class ManageTestimonialService {
public function view_testimonial($id) {
$testimonial = Testimonial::with('testimonial_data')->get();
// echo "<pre>"; print_r($testimonial); exit;
// dd($testimonial);
return $testimonial;
}
public function edit_testimonial($id) {
$editTestimonial = Testimonial::with('testimonial_data')->find($id);
// dd($editTestimonial);
// echo "<pre>"; print_r($editTestimonial); exit;
return $editTestimonial;
}
public function update_testimonial(Request $request) {
// dd($request);
// if($request->image){
// $rules = [
// 'image' => 'required|file|max:400', // 400 KB
// ];
// $validator = Validator::make($request->all(),$rules);
// if ($validator->fails()) {
// if ($request->expectsJson()) {
// return false;
// }
// }
// else {
// $file = $request->file('image');
// // print_r($file); exit;
// $ext = $file->extension();
// $file_name = time() . '.' . $ext;
// $path = public_path() . '/uploads/testimonial';
// $file->move($path, $file_name);
// }
// }
// else{
// $file_name=$request->db_image;
// }
$testimonialId = $request->edit_testimonial_id;
$updateTestimonial = Testimonial::find($request->edit_testimonial_id);
$updateTestimonial->user_name = $request->input('user_name');
$updateTestimonial->title = $request->input('title');
$updateTestimonial->description = $request->input('description');
// $updateTestimonial->image = $file_name;
$updateTestimonial->save();
// dd()
if ($request->hasFile('image')) {
foreach ($request->file('image') as $image) {
$ext = $image->extension();
$fileName = time() . '_' . uniqid() . '.' . $ext;
$path = public_path('uploads/testimonial');
$image->move($path, $fileName);
$testimonialImage = new TestimonialImages;
$testimonialImage->testimonial_id = $request->edit_testimonial_id;
$testimonialImage->images = $fileName;
$testimonialImage->is_active = 1;
$testimonialImage->save();
}
}
//Removed Image Code
$imagesToRemove = $request->input('images_to_remove')[0];
if (!empty($imagesToRemove)) {
$imagesToRemoveJson = $request->input('images_to_remove')[0];
$imagesToRemove = json_decode($imagesToRemoveJson);
foreach ($imagesToRemove as $imageId) {
$userFile = TestimonialImages::find($imageId);
if ($userFile) {
$file_path = public_path($userFile->images);
if (file_exists($file_path)) {
unlink($file_path);
}
// Delete the record from the database
$userFile->delete();
}
}
}
return $updateTestimonial;
}
public function insert_testimonial(Request $request) {
// $rules = [
// 'image' => 'required|file|max:400', // 400 KB
// ];
// $validator = Validator::make($request->all(),$rules);
// if ($validator->fails()) {
// if ($request->expectsJson()) {
// return false;
// }
// }
// else {
// $file_one = $request->file('image');
// $ext = $file_one->extension();
// $file_name_main_image = time() . '.' . $ext;
// $path = public_path() . '/uploads/testimonial';
// $file_one->move($path, $file_name_main_image);
// for image upload end
$insertTestimonial = new Testimonial;
$insertTestimonial->user_name = $request->input('name');
$insertTestimonial->title = $request->input('title');
$insertTestimonial->description = $request->input('description');
// $insertTestimonial->rating = $request->input('rating');
$insertTestimonial->save();
// print_r($insertTestimonial);
// exit;
foreach ($request->file('image') as $image) {
$ext = $image->extension();
$fileName = time() . '_' . uniqid() . '.' . $ext;
$path = public_path('uploads/testimonial');
$image->move($path, $fileName);
$testimonialImage = new TestimonialImages;
$testimonialImage->testimonial_id = $insertTestimonial->id;
$testimonialImage->images = $fileName;
$testimonialImage->is_active = 1;
$testimonialImage->save();
}
// $insertTestimonial->image = $file_name_main_image;
return $insertTestimonial;
// return response()->json(['success' => true , 'status' => 200]);
// }
}
}