/**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire()
 {
     Log::alert('Executed Cron Job to send weekly mail for pending karma note and meeting requests.');
     $KarmaNotePending = "";
     $KarmaNotePending = Meetingrequest::whereIn('status', array('pending', 'accepted'))->get();
     if (!empty($KarmaNotePending)) {
         $test_id = "";
         $test_id = Adminoption::Where('option_name', '=', 'Test User Emails')->first();
         $test_user_id = $getfintrorecords = array();
         if (!empty($test_id)) {
             $test_user_id = explode(',', $test_id->option_value);
         }
         $introducer = $giver = $receiver = $connidgiver = '';
         foreach ($KarmaNotePending as $key => $value) {
             $diffDate = KarmaHelper::dateDiff(date("Y-m-d H:i:s"), $value->created_at);
             if (isset($value->user_id_giver)) {
                 $giver = in_array($value->user_id_giver, $test_user_id);
             }
             if (isset($value->user_id_receiver)) {
                 $receiver = in_array($value->user_id_receiver, $test_user_id);
             }
             if (isset($value->connection_id_giver)) {
                 $connidgiver = in_array($value->connection_id_giver, $test_user_id);
             }
             if (isset($value->user_id_introducer)) {
                 $introducer = in_array($value->user_id_introducer, $test_user_id);
             }
             if ($giver != 1 && $receiver != 1 && $connidgiver != 1 && $introducer != 1) {
                 if ($diffDate->days > 7) {
                     $meetingtimezone = $value->meetingtimezone;
                     $meetingdatetime = $value->meetingdatetime;
                     $user_id_giver = $value->user_id_giver;
                     $user_id_receiver = $value->user_id_receiver;
                     $meetingId = $value->id;
                     $status = $value->status;
                     $CurrentTimeWithZone = KarmaHelper::calculateTime($meetingtimezone);
                     if ($CurrentTimeWithZone > $meetingdatetime && $status == 'accepted') {
                         Queue::push('MessageSender', array('type' => '4', 'user_id_giver' => $user_id_giver, 'user_id_receiver' => $user_id_receiver, 'meetingId' => $meetingId));
                     }
                     if ($status == 'pending') {
                         //echo"<pre>";print_r($value->id);echo"</pre>";
                         if (isset($value->user_id_giver)) {
                             Queue::push('MessageSender', array('type' => '1', 'user_id_giver' => $user_id_giver, 'user_id_receiver' => $user_id_receiver, 'meetingId' => $meetingId));
                         } else {
                             Queue::push('MessageSender', array('type' => '2', 'user_id_giver' => $value->connection_id_giver, 'user_id_receiver' => $user_id_receiver, 'meetingId' => $meetingId));
                         }
                     }
                 }
             }
         }
     }
 }
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire()
 {
     Log::alert('Executed Cron Job');
     $KarmaNotePending = Meetingrequest::where('status', '=', 'confirmed')->where('cronjobflag', '=', '0')->get();
     if (!empty($KarmaNotePending)) {
         foreach ($KarmaNotePending as $key => $value) {
             $meetingtimezone = $value->meetingtimezone;
             $meetingdatetime = $value->meetingdatetime;
             $user_id_giver = $value->user_id_giver;
             $user_id_receiver = $value->user_id_receiver;
             $meetingId = $value->id;
             $CurrentTimeWithZone = KarmaHelper::calculateTime($meetingtimezone);
             //echo "<pre>";print_r($meetingdatetime);echo "</pre>";
             //echo "<pre>";print_r($meetingdatetime);echo "</pre>";die();
             if ($CurrentTimeWithZone > $meetingdatetime) {
                 $diffDate = KarmaHelper::dateDiff($CurrentTimeWithZone, $meetingdatetime);
                 $diffDate = $diffDate->days * 24 + $diffDate->h;
                 $EmailTriggerTime = Adminoption::where('option_name', '=', 'KarmaNote Email Trigger Time')->first();
                 if (!empty($EmailTriggerTime)) {
                     $EmailTriggerTime = $EmailTriggerTime->toArray();
                     $EmailTriggerTime = $EmailTriggerTime['option_value'];
                 } else {
                     $EmailTriggerTime = '24';
                 }
                 if ($diffDate >= $EmailTriggerTime) {
                     //$date = Carbon::now()->addMinutes(5);
                     Queue::push('MessageSender', array('type' => '4', 'user_id_giver' => $user_id_giver, 'user_id_receiver' => $user_id_receiver, 'meetingId' => $meetingId));
                     $Meetingrequest = Meetingrequest::find($meetingId);
                     $Meetingrequest->cronjobflag = '1';
                     $Meetingrequest->status = 'over';
                     $Meetingrequest->save();
                     DB::table('users_mykarma')->where('entry_id', '=', $meetingId)->update(array('status' => 'over', 'unread_flag' => 'true', 'entry_updated_on' => Carbon::now()));
                     $messageData = new Message();
                     $messageData->request_id = $meetingId;
                     $messageData->sender_id = $user_id_giver;
                     $messageData->giver_id = $user_id_giver;
                     $messageData->receiver_id = $user_id_receiver;
                     $messageData->message_type = 'system';
                     $messageText = 'Meeting should be over now.';
                     $messageData->messageText = $messageText;
                     $messageData->save();
                     //Queue::push('UpdateUser', array('id' => $user_id,'result' => $result));
                 }
             }
         }
     }
 }
Ejemplo n.º 3
0
 /**
  * Show the form for creating a new resource.
  *
  * @return Response
  */
 public function sendKarmaNote($MeetingId, $Receiver_Giver)
 {
     $CurrentUser = Auth::User();
     $receiverWR = "";
     $userTags = $userSkills = array();
     $meetingDetail = Meetingrequest::find($MeetingId);
     $MettingActualCurrentTimeWithZone = KarmaHelper::calculateTime($meetingDetail->meetingtimezone);
     if (!empty($meetingDetail) || $meetingDetail->user_id_receiver == Auth::user()->id || $meetingDetail->user_id_giver == Auth::user()->id) {
         $receiverDetail = User::find($meetingDetail->user_id_receiver);
         if (empty($meetingDetail->user_id_giver)) {
             $giverDetail = Connection::find($meetingDetail->connection_id_giver);
         } else {
             $giverDetail = User::find($meetingDetail->user_id_giver);
         }
         $CheckReceiver_Giver = $receiverDetail->fname . '-' . $receiverDetail->lname . '_' . $giverDetail->fname . '-' . $giverDetail->lname;
         $userTags = User::find($giverDetail->id)->Tags->take(15)->toArray();
         foreach ($userTags as $key => $value) {
             $skills['name'] = $value['name'];
             $skills['id'] = $value['id'];
         }
         if (empty($userSkills)) {
             $userSkills = "";
             $userSkills = DB::table('tags')->get();
             foreach ($userSkills as $key => $value) {
                 $countSkill = DB::table('users_tags')->Where('tag_id', '=', $value->id)->count();
                 $userSkills[$key]->UserCount = $countSkill;
             }
             $userSkills = array_values(array_sort($userSkills, function ($value) {
                 return $value->UserCount;
             }));
             $userSkills = array_reverse($userSkills);
         }
         //echo "<pre>+++++";print_r($userSkills);echo "</pre>++++++++";die;
         if (!empty($meetingDetail->receiverWR)) {
             $receiverWR = explode(',', $meetingDetail->receiverWR);
         }
         if ($CheckReceiver_Giver != $Receiver_Giver) {
             return Redirect::to('404');
         }
         if ($meetingDetail->status == 'confirmed' || $meetingDetail->status == 'responded' || $meetingDetail->status == 'completed' || $meetingDetail->status == 'happened' || $meetingDetail->status == 'over') {
             //echo '<pre>';print_r($userSkills);die;
             return View::make('send_karma_note', array('pageTitle' => 'KarmaNotes', 'userSkills' => $userSkills, 'CurrentUser' => $CurrentUser, 'meetingDetail' => $meetingDetail, 'receiverDetail' => $receiverDetail, 'giverDetail' => $giverDetail, 'Skills' => $userSkills));
         }
     } else {
         return Redirect::to('404');
     }
 }