151 lines
5.4 KiB
PHP
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]);
|
|
// }
|
|
}
|
|
}
|