photoSlider = $photoSlider; $this->format = $httpStatusCode; $this->admin_logs = $admin_logs; } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index(Request $request) { $params = [ 'search' => ($request->has('_search') ? $request->get('_search') : NULL), 'page_size' => ($request->has('page_size') ? $request->get('page_size') : 10), 'page' => ($request->has('page') ? $request->get('page') : 10), 'sorting' => ParameterHelper::prepareSortingParameter($request) ]; $list = $this->photoSlider->listing($params); if(count($list)) { $additionals = $this->format->success("Success",[],false); $data = PhotoSliderResource::collection($list)->additional($additionals); return $data->response()->setStatusCode(200); } else { return $this->format->success("No records found",[]); } } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(PhotoSliderFormValidation $request) { $id = $this->photoSlider->store($request); if($id) { $this->admin_logs->log($id,self::MODULE,'STORE'); return $this->format->created('Photo Slider has been added'); } else { return $this->format->notFound(); } } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($uuid) { $details = $this->photoSlider->getByField('photoslider_uuid',$uuid); if($details->count()) { $additionals = $this->format->success("Success",[],false); $data = (new PhotoSliderResource($details[0]))->additional($additionals); return $data->response()->setStatusCode(200); } else return $this->format->notFound(); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(PhotoSliderFormValidation $request, $uuid) { $old_data = $this->photoSlider->getByField('photoslider_uuid',$uuid); if($old_data->count()) { if($this->photoSlider->update($request,$uuid)) { $this->admin_logs->log($old_data[0]['photoslider_id'],self::MODULE,'UPDATE'); return $this->format->success("Photo Slider has been updated"); } else { return $this->format->notFound(); } } return $this->format->notFound(); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($uuid) { $details = $this->photoSlider->getByField('photoslider_uuid',$uuid); if($details->count()) { $details = $details[0]; if($this->photoSlider->delete($uuid)) { $this->admin_logs->log($details['photoslider_id'],self::MODULE,'DELETE'); return $this->format->success("Photo Slider Successfully Deleted"); } } return $this->format->notFound(); } public function batch_delete(Request $request) { $uuid = $request->has('photoslider_uuid') ? $request->get('photoslider_uuid') : null; if($uuid) { $details = $this->photoSlider->getDetailsWhereIn('photoslider_uuid',$uuid); $id = array(); if($this->photoSlider->delete($uuid)) { foreach ($details as $key => $value) { $this->admin_logs->log($value['photoslider_id'],self::MODULE,'DELETE'); } return $this->format->success("Photo Slider Successfully Deleted"); } else { return $this->format->badRequest('Something went wrong'); } } else { $data['photoslider_uuid'] = 'photoslider_uuid is required'; return $this->format->unprocessableEntity("Submit at least one item",$data); } } public function check_count() { if($this->photoSlider->count() < 10) return $this->format->success('User can add'); else return $this->format->badRequest('Photo slider cannot be more than 10'); } public function get_photo_slider(Request $request) { $data = $this->photoSlider->getPhotoSlider(); $currentUser = CurrentUserHelper::get_member_by_lcard($request->input('lcard_uuid')); $return = []; foreach ($data as $key => $value){ $return[$key]['photoslider_id'] = $value['photoslider_id']; $return[$key]['photoslider_uuid'] = $value['photoslider_uuid']; $return[$key]['title'] = $value['title']; $return[$key]['description'] = $value['description']; $return[$key]['image'] = S3::public_path($value['image']); $return[$key]['date_start'] = $value['date_start']; $return[$key]['date_end'] = $value['date_end']; $return[$key]['is_toppromotion'] = $value['is_toppromotion']; $return[$key]['is_gps'] = $value['is_gps']; $return[$key]['promo_type'] = $value['promo_type']; $return[$key]['promotion_id'] = $value['promotion_id']; $promotion_uuid = 0; if ( strtotime(date('Y-m-d H:i:s')) >= strtotime($value['promotion_date_start']) ){ if(strtotime(date('Y-m-d H:i:s')) <= strtotime($value['promotion_date_end'])){ $promotion_uuid = $value['promotion_uuid']; } } $return[$key]['promotion_uuid'] = $promotion_uuid; $return[$key]['promotion_date_start'] = $value['promotion_date_start']; $return[$key]['promotion_date_end'] = $value['promotion_date_end']; $return[$key]['promo_details'] = [ "title"=> $promotion_uuid=="0" ? "" : $value['promotion_title'], "description"=>$promotion_uuid=="0" ? "" : $value['promotion_description'], "image"=>$promotion_uuid=="0" ? "" : S3::public_path($value['promotion_image']), ]; $return[$key]['promo_details'] = $value['promo_type'] != 3 ? $return[$key]['promo_details'] : ["title"=> "","description"=>"","image"=>""]; if ($currentUser){ $now = Carbon::now(); $birthday = $now->year."-".$currentUser->birthdate->month."-".$currentUser->birthdate->day." 00:00:00"; if($value['promo_type'] == "3"){ if (strtotime($value['promotion_date_start']) <= strtotime($birthday) && strtotime($value['promotion_date_end']) >= strtotime($birthday) ){ $return[$key]['promo_details'] = [ "title"=> $promotion_uuid=="0" ? "" : $value['promotion_title'], "description"=>$promotion_uuid=="0" ? "" : $value['promotion_description'], "image"=>$promotion_uuid=="0" ? "" : S3::public_path($value['promotion_image']), ]; } } } } if (count($data) == 0 ) { return $this->format->mobile_success("Data is Empty"); } return $this->format->mobile_success('Success',$return); } }