Viewing: MagazineService.php
<?php namespace App\Services; use App\Models\Subscription; use Carbon\Carbon; use App\Models\Story; use App\Models\CeoDesk; use App\Models\Magazine; use App\Models\Inspiring; use App\Models\Interview; use App\Models\LifeStyle; use Illuminate\Support\Facades\DB; use App\Http\Resources\StoryResource; use App\Http\Resources\MagazineResource; use App\Http\Resources\InspiringResource; use App\Http\Resources\InterviewResource; use App\Http\Resources\LifeStyleResource; class MagazineService { public function __construct() { $content = []; } public function isMagazinePaid($magazine): bool { $endDate = $magazine->created_at->addMonths(2); $remaingDays = today()->diffInDays(Carbon::parse($endDate)->format('Y-m-d'),false); if($remaingDays <= 0){ return false; } return true; } public function showMagazine($magazine) { $content = []; $succussJouneryImages = ''; if($magazine){ $succussJouneryImages = DB::table('success_journies') ->select('image_url') ->where('magazine_id',$magazine->id) ->get(); if(!empty($succussJouneryImages)){ $magazineSuccessJourney = []; foreach($succussJouneryImages as $key => $journey){ if($key == 1){ $magazineSuccessJourney[] = [ "id" => $key+1, "image_url" => getImageURL($journey->image_url), ]; } } } } // $successJourney = DB::table('success_journies') // ->select('image_url') // ->where('magazine_id',$magazine->id) // ->first(); // $content[] = [ // 'id' => 0, // 'type' => 'Success Journey', // 'cover_image' => getCompressedImageURL($successJourney->image_url,'magzines') ?? null, // 'title' => $magazine->success_j_title, // 'name' => null, // 'designation' => null, // 'headline' => null, // 'web_view' => $magazine->short_desc, // 'author' => null, // 'images' => $magazineSuccessJourney // ]; $content[] = [ 'id' => $magazine->id, 'type' => 'Editor Note', 'cover_image' => getCompressedImageURL($magazine->note_img,'magzines') ?? null, 'title' => $magazine->editor_note_title, 'name' => $magazine->note_name, 'designation' => $magazine->designation, 'headline' => $magazine->note_headline, 'web_view' => strip_tags($magazine->note_short_desc), 'author' => $magazine->author, 'images' => [] ]; if($magazine->ceo_desk_title && $magazine->ceo_image_url && $magazine->ceo_short_desc){ $content[] = [ 'id' => $magazine->id, 'type' => 'CEO Desk', 'cover_image' => getCompressedImageURL($magazine->ceo_image_url,'ceosDesk') ?? null, 'title' => $magazine->ceo_desk_title, 'name' => null, 'designation' => null, 'headline' => null, 'web_view' => strip_tags($magazine->ceo_short_desc), 'author' => $magazine->ceo_desk_author, 'images' => [] ]; } if($magazine->interview_id !== null){ $interview_ids = []; $decoded_ids = json_decode($magazine->interview_id); if (is_array($decoded_ids)) { $interview_ids = $decoded_ids; $text = str_replace(array("\r\n", "\r", "</p>"), "|BREAK|", $magazine->interview_short_desc); $text = strip_tags($text); $text = str_replace("|BREAK|", "\r\n", $text); $content[] = [ 'id' => $magazine->id, 'type' => 'Interview tab', 'cover_image' => getCompressedImageURL($magazine->interview_image_url,'magzines'), 'title' => $magazine->interview_title, 'name' => $magazine->interview_sub_title, 'designation' => null, 'headline' => null, 'web_view' => $text, 'author' => null, 'images' => [], ]; } if(count($interview_ids) > 0){ $interviews = Interview:: whereStatus(1)->whereIn('id',$interview_ids)->orderBy('created_at') ->get(); if(!empty($interviews)){ foreach($interviews as $interview) { $content[] = [ 'id' => $interview->id, 'type' => 'Interview', 'cover_image' => getCompressedImageURL($interview->image_url,'interviews'), 'title' => $interview->title, 'name' => $interview->name, 'designation' => null, 'headline' => $interview->headline, 'web_view' => strip_tags($interview->short_desc), 'author' => null, 'images' => [], ]; } } } // $content[] = InterviewResource::collection($interviews); } if($magazine->article_id && is_string($magazine->article_id)){ $article_ids = []; $decoded_ids = json_decode($magazine->article_id); if(is_array($decoded_ids)){ $article_ids = $decoded_ids; $content[] = [ 'id' => $magazine->id, 'type' => 'Life Style tab', 'cover_image' => getCompressedImageURL($magazine->article_img,'magzines'), 'title' => $magazine->article_title , 'name' => $magazine->article_sub_title, 'designation' => null, 'headline' => null, 'web_view' => strip_tags($magazine->article_short_desc), 'author' => null, 'images' => [], ]; } if ($article_ids !== null && is_array($article_ids)) { $life_styles = LifeStyle:: whereStatus(1) ->whereIn('id',$article_ids)->orderBy('created_at') ->get(); if(!empty($life_styles)){ foreach($life_styles as $life_style) { $content[] = [ 'id' => $life_style->id, 'type' => 'Life Style', 'cover_image' => getCompressedImageURL($life_style->image_url,'articles'), 'title' => $life_style->title , 'name' => $life_style->sub_title, 'designation' => null, 'headline' => null, 'web_view' => strip_tags($life_style->short_desc), 'author' => null, 'images' => [], ]; } } //$life_styles = LifeStyleResource::collection($life_styles); } } if($magazine->story_id && is_string($magazine->story_id)){ $story_ids = []; $decoded_ids = json_decode($magazine->story_id); if(is_array($decoded_ids)){ $story_ids = $decoded_ids; $content[] = [ 'id' => $magazine->id, 'type' => 'Wisdom Talk tab', 'cover_image' => getCompressedImageURL($magazine->wisdom_image_url,'magzines'), 'title' => $magazine->wisdom_title , 'name' => $magazine->wisdom_sub_title, 'designation' => null, 'headline' => null, 'web_view' => strip_tags($magazine->wisdom_short_desc), 'author' => null, 'images' => [], ]; } if(count($story_ids) > 0){ $stories = Story::select('id','title','image_url','short_desc','sub_title','thumbnail') ->whereStatus(1) ->whereIn('id',$story_ids)->orderBy('created_at') ->get(); if(!empty($stories)){ foreach($stories as $story) { $content[] = [ 'id' => $story->id, 'type' => 'Wisdom Talk', 'cover_image' => getCompressedImageURL($story->image_url,'stories'), 'title' => $story->title , 'name' => $story->sub_title, 'designation' => null, 'headline' => null, 'web_view' => strip_tags($story->short_desc), 'author' => null, 'images' => [], ]; } } } //$stories = StoryResource::collection($stories); } if($magazine->inspiring_id && is_string($magazine->inspiring_id)){ $inspiring_ids = []; $decoded_ids = json_decode($magazine->inspiring_id); if(is_array($decoded_ids)){ $inspiring_ids = $decoded_ids; $content[] = [ 'id' => $magazine->id, 'type' => 'Inspiring tab', 'cover_image' => getCompressedImageURL($magazine->inspiring_img,'magzines'), 'title' => $magazine->inspiring_title , 'name' => $magazine->inspiring_sub_title, 'designation' => null, 'headline' => null, 'web_view' => strip_tags($magazine->inspiring_short_desc), 'author' => $magazine->inspiring_author, 'images' => [], ]; } if(count($inspiring_ids) > 0){ $inspirings = Inspiring::select('id','title','image_url','short_desc','thumbnail') ->whereStatus(1) ->whereIn('id',$inspiring_ids)->orderBy('created_at') ->get(); if(!empty($inspirings)){ foreach($inspirings as $inspiring) { $content[] = [ 'id' => $inspiring->id, 'type' => 'Inspiring', 'cover_image' => getCompressedImageURL($inspiring->image_url,'inspiring'), 'title' => $inspiring->title , 'name' => null, 'designation' => null, 'headline' => null, 'web_view' => strip_tags($inspiring->short_desc), 'author' => null, 'images' => [], ]; } } //$inspirings = InspiringResource::collection($inspirings); } } //Corporate gallery if($magazine->gallery_id && is_string($magazine->gallery_id)){ $gallery_ids = []; $decoded_ids = json_decode($magazine->gallery_id); if(is_array($decoded_ids)){ $gallery_ids = $decoded_ids; $interview_ids = $decoded_ids; $text = str_replace(array("\r\n", "\r", "</p>"), "|BREAK|", $magazine->gallery_short_desc); $text = strip_tags($text); $text = str_replace("|BREAK|", "\r\n", $text); if(count($gallery_ids) > 0){ $content[] = [ 'id' => $magazine->id, 'type' => 'Corporate Gallery', 'cover_image' => getCompressedImageURL($magazine->gallery_image_url,'magzines'), 'title' => $magazine->gallery_title , 'name' => $magazine->gallery_sub_title, 'designation' => null, 'headline' => null, 'web_view' => $text, 'author' => null, 'images' => [], ]; } } } if($magazine->roun_up_title && $magazine->roundup_image_url && $magazine->roundup_short_desc){ if($magazine->new_round_up_id && is_string($magazine->new_round_up_id )){ $new_round_up_ids = []; $decoded_ids = json_decode($magazine->new_round_up_id); if(is_array($decoded_ids)){ $new_round_up_ids = $decoded_ids; $text = str_replace(array("\r\n", "\r", "</p>"), "|BREAK|", $magazine->roundup_short_desc); $text = strip_tags($text); $text = str_replace("|BREAK|", "\r\n", $text); if(count($new_round_up_ids) > 0){ $content[] = [ 'id' => $magazine->id, 'type' => 'News Round Up', 'cover_image' => getCompressedImageURL($magazine->roundup_image_url,'magzines'), 'title' => $magazine->roun_up_title, 'name' => $magazine->roun_up_sub_title, 'designation' => null, 'headline' => null, 'web_view' => $text, 'author' => null, 'images' => [], ]; } } } } return $content; } // public function showMagazine($magazine) // { // $content = []; // $magazine = new MagazineResource($magazine); // $succussJouneryImages = ''; // if($magazine){ // $succussJouneryImages = DB::table('success_journies')->select('image_url')->where('magazine_id',$magazine->id)->get(); // if(!empty($succussJouneryImages)){ // $magazineSuccessJourney = []; // foreach($succussJouneryImages as $key => $journey){ // if($key == 1){ // $magazineSuccessJourney[] = [ // "id" => $key+1, // "image_url" => getImageURL($journey->image_url), // ]; // } // } // } // } // $successJourney = DB::table('success_journies')->select('image_url')->where('magazine_id',$magazine->id)->first(); // $content[] = [ // 'id' => 0, // 'type' => 'Success Journey', // 'cover_image' => getImageURL($successJourney->image_url) ?? null, // 'title' => $magazine->success_j_title, // 'name' => null, // 'designation' => null, // 'headline' => null, // 'web_view' => $magazine->short_desc, // 'author' => null, // 'images' => $magazineSuccessJourney // ]; // $content[] = [ // 'id' => $magazine->id, // 'type' => 'Editor Note', // 'cover_image' => getImageURL($magazine->note_img) ?? null, // 'title' => $magazine->editor_note_title, // 'name' => $magazine->note_name, // 'designation' => $magazine->designation, // 'headline' => $magazine->note_headline, // 'web_view' => strip_tags($magazine->note_short_desc), // 'author' => $magazine->author, // 'images' => [] // ]; // $content[] = [ // 'id' => $magazine->id, // 'type' => 'CEO Desk', // 'cover_image' => getImageURL($magazine->ceo_image_url) ?? null, // 'title' => $magazine->ceo_desk_title, // 'name' => null, // 'designation' => null, // 'headline' => null, // 'web_view' => strip_tags($magazine->ceo_short_desc), // 'author' => $magazine->ceo_desk_author, // 'images' => [] // ]; // if($magazine->interview_id !== null){ // $interview_ids = []; // $decoded_ids = json_decode($magazine->interview_id); // if (is_array($decoded_ids)) { // $interview_ids = $decoded_ids; // $content[] = [ // 'id' => $magazine->id, // 'type' => 'Interview tab', // 'cover_image' => getImageURL($magazine->ceo_image_url), // 'title' => $magazine->interview_title, // 'name' => $magazine->interview_sub_title, // 'designation' => null, // 'headline' => null, // 'web_view' => strip_tags($magazine->interview_short_desc), // 'author' => null, // 'images' => [], // ]; // } // if(count($interview_ids) > 0){ // $interviews = Interview:: // whereStatus(1) // ->whereIn('id',$interview_ids) // ->get(); // if(!empty($interviews)){ // foreach($interviews as $interview) // { // $content[] = [ // 'id' => $interview->id, // 'type' => 'Interview', // 'cover_image' => getImageURL($interview->image_url), // 'title' => $interview->title, // 'name' => $interview->name, // 'designation' => null, // 'headline' => $interview->headline, // 'web_view' => strip_tags($interview->short_desc), // 'author' => null, // 'images' => [], // ]; // } // } // } // // $content[] = InterviewResource::collection($interviews); // } // if($magazine->article_id && is_string($magazine->article_id)){ // $article_ids = []; // $decoded_ids = json_decode($magazine->article_id); // if(is_array($decoded_ids)){ // $article_ids = $decoded_ids; // $content[] = [ // 'id' => $magazine->id, // 'type' => 'Life Style tab', // 'cover_image' => getImageURL($magazine->article_img), // 'title' => $magazine->article_title , // 'name' => $magazine->article_sub_title, // 'designation' => null, // 'headline' => null, // 'web_view' => strip_tags($magazine->article_short_desc), // 'author' => null, // 'images' => [], // ]; // } // if ($article_ids !== null && is_array($article_ids)) { // $life_styles = LifeStyle:: // whereStatus(1) // ->whereIn('id',$article_ids) // ->get(); // if(!empty($life_styles)){ // foreach($life_styles as $life_style) // { // $content[] = [ // 'id' => $life_style->id, // 'type' => 'Life Style', // 'cover_image' => getImageURL($life_style->image_url), // 'title' => $life_style->title , // 'name' => $life_style->sub_title, // 'designation' => null, // 'headline' => null, // 'web_view' => strip_tags($life_style->short_desc), // 'author' => null, // 'images' => [], // ]; // } // } // //$life_styles = LifeStyleResource::collection($life_styles); // } // } // if($magazine->inspiring_id && is_string($magazine->inspiring_id)){ // $inspiring_ids = []; // $decoded_ids = json_decode($magazine->inspiring_id); // if(is_array($decoded_ids)){ // $inspiring_ids = $decoded_ids; // $content[] = [ // 'id' => $magazine->id, // 'type' => 'Inspiring tab', // 'cover_image' => getImageURL($magazine->inspiring_img), // 'title' => $magazine->inspiring_title , // 'name' => null, // 'designation' => null, // 'headline' => null, // 'web_view' => strip_tags($magazine->inspiring_short_desc), // 'author' => null, // 'images' => [], // ]; // } // if(count($inspiring_ids) > 0){ // $inspirings = Inspiring::select('id','title','image_url','short_desc') // ->whereStatus(1) // ->whereIn('id',$inspiring_ids) // ->get(); // if(!empty($inspirings)){ // foreach($inspirings as $inspiring) // { // $content[] = [ // 'id' => $inspiring->id, // 'type' => 'Inspiring', // 'cover_image' => getImageURL($inspiring->image_url), // 'title' => $inspiring->title , // 'name' => null, // 'designation' => null, // 'headline' => null, // 'web_view' => strip_tags($inspiring->short_desc), // 'author' => null, // 'images' => [], // ]; // } // } // //$inspirings = InspiringResource::collection($inspirings); // } // } // if($magazine->story_id && is_string($magazine->story_id)){ // $story_ids = []; // $decoded_ids = json_decode($magazine->story_id); // if(is_array($decoded_ids)){ // $story_ids = $decoded_ids; // $content[] = [ // 'id' => $magazine->id, // 'type' => 'Wisdom Talk tab', // 'cover_image' => getImageURL($magazine->wisdom_image_url), // 'title' => $magazine->wisdom_title , // 'name' => $magazine->wisdom_sub_title, // 'designation' => null, // 'headline' => null, // 'web_view' => strip_tags($magazine->wisdom_short_desc), // 'author' => null, // 'images' => [], // ]; // } // if(count($story_ids) > 0){ // $stories = Story::select('id','title','image_url','short_desc') // ->whereStatus(1) // ->whereIn('id',$story_ids) // ->get(); // if(!empty($stories)){ // foreach($stories as $story) // { // $content[] = [ // 'id' => $story->id, // 'type' => 'Wisdom Talk', // 'cover_image' => getImageURL($story->image_url), // 'title' => $story->title , // 'name' => $story->sub_title, // 'designation' => null, // 'headline' => null, // 'web_view' => strip_tags($story->short_desc), // 'author' => null, // 'images' => [], // ]; // } // } // } // //$stories = StoryResource::collection($stories); // } // //Corporate gallery // if($magazine->gallery_id && is_string($magazine->gallery_id)){ // $gallery_ids = []; // $decoded_ids = json_decode($magazine->gallery_id); // if(is_array($decoded_ids)){ // $gallery_ids = $decoded_ids; // if(count($gallery_ids) > 0){ // $content[] = [ // 'id' => $magazine->id, // 'type' => 'Corporate Gallery', // 'cover_image' => getImageURL($magazine->gallery_image_url), // 'title' => $magazine->gallery_title , // 'name' => $magazine->gallery_sub_title, // 'designation' => null, // 'headline' => null, // 'web_view' => strip_tags($magazine->gallery_short_desc), // 'author' => null, // 'images' => [], // ]; // } // } // } // if($magazine->new_round_up_id && is_string($magazine->new_round_up_id )){ // $new_round_up_ids = []; // $decoded_ids = json_decode($magazine->new_round_up_id); // if(is_array($decoded_ids)){ // $new_round_up_ids = $decoded_ids; // if(count($new_round_up_ids) > 0){ // $content[] = [ // 'id' => $magazine->id, // 'type' => 'News Round Up', // 'cover_image' => getImageURL($magazine->roundup_image_url), // 'title' => $magazine->roun_up_title, // 'name' => null, // 'designation' => null, // 'headline' => null, // 'web_view' => strip_tags($magazine->roundup_short_desc), // 'author' => null, // 'images' => [], // ]; // } // } // } // return $content; // } public function getMagazineInterviews($magazine) { if($magazine->interview_id !== null){ $interview_ids = []; $decoded_ids = json_decode($magazine->interview_id); if (is_array($decoded_ids)) { $interview_ids = $decoded_ids; $content[] = [ 'id' => $magazine->id, 'type' => 'Interview', 'cover_image' => getImageURL($magazine->ceo_image_url), 'title' => $magazine->interview_title, 'name' => null, 'headline' => null, 'web_view' => $magazine->interview_short_desc, 'images' => [], ]; } if(count($interview_ids) > 0){ $interviews = Interview:: whereStatus(1) ->whereIn('id',$interview_ids)->orderBy('created_at') ->get(); if(!empty($interviews)){ foreach($interviews as $interview) { $content[] = [ 'id' => $interview->id, 'type' => 'Interview', 'cover_image' => getImageURL($interview->image_url), 'title' => $interview->title, 'name' => $interview->name, 'headline' => $interview->headline, 'web_view' => $magazine->interview_short_desc, 'images' => [], ]; } } } // $content[] = InterviewResource::collection($interviews); } return $content; } public function getMagazineArticles($magazine) { if($magazine->article_id && is_string($magazine->article_id)){ $article_ids = []; $decoded_ids = json_decode($magazine->article_id); if(is_array($decoded_ids)){ $article_ids = $decoded_ids; $content[] = [ 'id' => $magazine->id, 'type' => 'life Style', 'cover_image' => getImageURL($magazine->article_img), 'title' => $magazine->article_title , 'name' => null, 'headline' => null, 'web_view' => $magazine->article_short_desc, 'images' => [], ]; } if ($article_ids !== null && is_array($article_ids)) { $life_styles = LifeStyle:: whereStatus(1) ->whereIn('id',$article_ids) ->get(); if(!empty($life_styles)){ foreach($life_styles as $life_style) { $content[] = [ 'id' => $life_style->id, 'type' => 'life Style', 'cover_image' => getImageURL($life_style->image_url), 'title' => $life_style->title , 'name' => null, 'headline' => null, 'web_view' => $life_style->short_desc, 'images' => [], ]; } } //$life_styles = LifeStyleResource::collection($life_styles); } } return $content; } public function getCeoDesk($ceo_ids = []) { } public function getMagazineInterview($interview_ids = []) { return Interview:: whereStatus(1) ->whereIn('id',$interview_ids)->orderBy('created_at') ->get(); } public function userHasSubscription() { $user = auth('api')->user(); $userSubcription = Subscription::where('user_id',$user->id)->first(); if($userSubcription){ $endDate = $userSubcription->end_date; $remainingDaysofSubs = today()->diffInDays(Carbon::parse($endDate)->format('Y-m-d'),false); if($remainingDaysofSubs > 0){ return true; } return false; } } public function userHasSubscriptionWeb() { $user = auth()->user(); $userSubcription = Subscription::where('user_id',$user->id)->first(); if($userSubcription){ $endDate = $userSubcription->end_date; $remainingDaysofSubs = today()->diffInDays(Carbon::parse($endDate)->format('Y-m-d'),false); if($remainingDaysofSubs > 0){ return true; } return false; } } }
Return