/**
 		Function name: saveKarmanote()
 		Created by : Evon
 		Created on : 04/10/2014
 	**/
 public function saveKarmanote()
 {
     $CurrentUser = Auth::User();
     $meetingId = $receiverId = $giverId = $note = $receiverName = $giverName = $ShareKarmaNote = '';
     $note = array();
     if (!empty(Input::get('ShareKarmaNote'))) {
         $ShareKarmaNote = Input::get('ShareKarmaNote');
     }
     if (!empty(Input::get('meetingId'))) {
         $meetingId = Input::get('meetingId');
     }
     if (!empty(Input::get('receiverId'))) {
         $receiverId = Input::get('receiverId');
     }
     if (!empty(Input::get('introducerId'))) {
         $introducerId = Input::get('introducerId');
     }
     if (!empty(Input::get('giverId'))) {
         $giverId = Input::get('giverId');
     }
     if (!empty(Input::get('skillTags'))) {
         $skills = Input::get('skillTags');
     }
     if (!empty(Input::get('details'))) {
         $note = Input::get('details');
     }
     if (!empty(Input::get('receiverName'))) {
         $receiverName = Input::get('receiverName');
     }
     if (!empty(Input::get('giverName'))) {
         $giverName = Input::get('giverName');
     }
     //print_r($ShareKarmaNote);die;
     if (!$this->Karmanote->isValid(Input::all())) {
         return Redirect::back()->withInput()->withErrors($this->Karmanote->errors);
     } else {
         $feedType = 'KarmaNote';
         $karmaNote = new Karmanote();
         $karmaNote->req_id = $meetingId;
         $karmaNote->user_idgiver = $giverId;
         $karmaNote->user_idreceiver = $receiverId;
         $karmaNote->details = strip_tags($note);
         if (!empty($skills)) {
             $karmaNote->skills = implode(',', $skills);
         } else {
             $karmaNote->skills = '';
         }
         $karmaNote->viewstatus = 0;
         if ($ShareKarmaNote == 1) {
             $karmaNote->share_onlinkedin = $ShareKarmaNote;
         }
         $karmaNote->created_at = KarmaHelper::currentDate();
         $karmaNote->save();
         $karmaNoteId = $karmaNote->id;
         //$karmaNoteMessage=$karmaNote->details;
         if (!empty($skills)) {
             $getName = $getSkillDataName = "";
             foreach ($skills as $key => $value) {
                 $getName = Tag::where('id', '=', $value)->select('name')->first();
                 $getSkillDataName .= $getName->name . ",";
             }
             $result = rtrim($getSkillDataName, ",");
             $karmaNoteMessage = $karmaNote->details . "\nEndorsements: " . $result;
         } else {
             $karmaNoteMessage = $karmaNote->details;
         }
         $Meetingrequest = Meetingrequest::find($meetingId);
         $Meetingrequest->status = 'completed';
         $Meetingrequest->save();
         $messageData = new Message();
         $messageData->request_id = $meetingId;
         $messageData->sender_id = $CurrentUser->id;
         $messageData->giver_id = $giverId;
         $messageData->receiver_id = $CurrentUser->id;
         $messageText = $CurrentUser->fname . ' ' . $CurrentUser->lname . ' has sent a KarmaNote.';
         $messageData->messageText = $messageText;
         $messageData->save();
         $messageData = new Message();
         $messageData->message_type = 'user';
         $messageData->request_id = $meetingId;
         $messageData->sender_id = $CurrentUser->id;
         $messageData->giver_id = $giverId;
         $messageData->receiver_id = $CurrentUser->id;
         $messageTextOfKarmaNote = $karmaNoteMessage;
         $messageData->messageText = $messageTextOfKarmaNote;
         $messageData->save();
         DB::table('users_mykarma')->where('entry_id', '=', $meetingId)->update(array('status' => 'completed', 'entry_updated_on' => Carbon::now()));
         DB::table('requests')->where('id', '=', $meetingId)->update(array('status' => 'completed'));
         $userRole = 'Receiver';
         $changeStatus = KarmaHelper::updateMeetingStatus($meetingId, $userRole);
         KarmaHelper::updateKarmaScore($giverId, $receiverId);
         //KarmaHelper::storeKarmacirclesRecord($giverId,$receiverId);
         //KarmaHelper::storeKarmacirclesRelation($giverId,$receiverId);
         KarmaHelper::storeKarmacirclesfeed($giverId, $receiverId, $feedType, $karmaNoteId);
         if (!empty($introducerId)) {
             KarmaHelper::updateIntroducerKarmaScore($introducerId);
         }
         if (!empty($ShareKarmaNote)) {
             $receiverDetail = User::find($receiverId);
             //MessageHelper::shareOnLinkedin($receiverDetail->token,'asdasd');die();
             Queue::push('MessageSender', array('type' => '9', 'user_id_giver' => $giverId, 'user_id_receiver' => $receiverId, 'meetingId' => $meetingId));
         }
         //$sendLinkedinMessage =  MessageHelper::triggerEmailAndMessage($giverId,$receiverId,'5',$meetingId);
         Queue::push('MessageSender', array('type' => '5', 'user_id_giver' => $giverId, 'user_id_receiver' => $receiverId, 'meetingId' => $meetingId));
         return Redirect::to('meeting/' . $receiverName . '-' . $giverName . '/' . $meetingId);
     }
 }
 public function join_leaveGroup()
 {
     $group_id = $_POST['groupId'];
     $action = $_POST['action'];
     $CurrentUser = Auth::User();
     $user_id = $CurrentUser->id;
     $UsersgroupCount = Usersgroup::where('user_id', '=', $user_id)->count();
     //die($action);
     if ($action == 'leave') {
         if ($UsersgroupCount > 1) {
             $UsersgroupCount = Usersgroup::where('user_id', '=', $user_id)->where('group_id', '=', $group_id)->delete();
             die('success');
         } else {
             die("error");
         }
     }
     if ($action == 'join') {
         $UsersgroupCount = Usersgroup::where('user_id', '=', $user_id)->where('group_id', '=', $group_id)->delete();
         $usergroup = new Usersgroup();
         $usergroup->user_id = $user_id;
         $usergroup->group_id = $group_id;
         $usergroup->save();
         $user_id_giver = 'null';
         $feedType = 'KarmaGroup';
         KarmaHelper::storeKarmacirclesfeed($user_id_giver, $user_id, $feedType, $group_id);
         die('success');
     }
 }
 public function submitQueryForm()
 {
     $shareOnLinkedin = '';
     if (!empty(Input::get('shareOnLinkedin'))) {
         $shareOnLinkedin = Input::get('shareOnLinkedin');
     }
     if (!empty(Input::get('subject'))) {
         $subject = Input::get('subject');
     }
     if (!empty(Input::get('description'))) {
         $description = Input::get('description');
     }
     if (!empty(Input::get('skillTags'))) {
         $skills = Input::get('skillTags');
     }
     if (!empty(Input::get('privacysetting'))) {
         $privacysetting = Input::get('privacysetting');
     }
     if (!empty(Input::get('receiver_id'))) {
         $receiver_id = Input::get('receiver_id');
     }
     if (!empty(Input::get('user_groups'))) {
         $user_groups = Input::get('user_groups');
     }
     $url_subject = $subject;
     $url_subject = strtolower($url_subject);
     //Make alphanumeric (removes all other characters)
     $url_subject = preg_replace("/[^a-z0-9_\\s-]/", "", $url_subject);
     $url_subject = trim($url_subject);
     //Clean up multiple dashes or whitespaces
     $url_subject = preg_replace("/[\\s-]+/", " ", $url_subject);
     //Convert whitespaces and underscore to dash
     $url_subject = preg_replace("/[\\s_]/", "-", $url_subject);
     if (!empty($receiver_id)) {
         $Question = new Question();
         $Question->user_id = $receiver_id;
         $Question->subject = strip_tags($subject);
         $Question->description = strip_tags($description);
         if (!empty($skills)) {
             $Question->skills = implode(',', $skills);
         } else {
             $Question->skills = '';
         }
         $Question->access = $privacysetting;
         $Question->question_url = strtolower($url_subject);
         $Question->save();
         $questionId = $Question->id;
         $getUser = User::where('id', '=', $receiver_id)->first();
         //Add data on users_mykarma table for query
         $myKarmaDataQuery = new Mykarma();
         $myKarmaDataQuery->entry_id = $questionId;
         $myKarmaDataQuery->user_id = $receiver_id;
         $myKarmaDataQuery->fname = $getUser->fname;
         $myKarmaDataQuery->lname = $getUser->lname;
         $myKarmaDataQuery->piclink = $getUser->piclink;
         $myKarmaDataQuery->entry_type = 'Query';
         $myKarmaDataQuery->users_role = 'PostedQuery';
         $myKarmaDataQuery->status = 'Open';
         $myKarmaDataQuery->unread_flag = 'false';
         $myKarmaDataQuery->no_of_unread_items = '0';
         $myKarmaDataQuery->entry_updated_on = Carbon::now();
         $myKarmaDataQuery->save();
         $user_id_giver = 'null';
         $feedType = 'KarmaQuery';
         KarmaHelper::storeKarmacirclesfeed($user_id_giver, $receiver_id, $feedType, $questionId);
         if (!empty($user_groups)) {
             $user_groups = explode(',', $user_groups);
             foreach ($user_groups as $key => $value) {
                 $Groupquestion = new Groupquestion();
                 $Groupquestion->question_id = $Question->id;
                 $Groupquestion->group_id = $value;
                 $Groupquestion->user_id = $Question->user_id;
                 $Groupquestion->save();
             }
         }
         //echo "<pre>";print_r($_POST);echo "</pre>";die();
         if ($shareOnLinkedin == '1' && $privacysetting == 'public') {
             Queue::push('MessageSender@shareQuestionOnLinkedin', array('type' => '9', 'question_id' => $Question->id));
         }
         return Redirect::to('/karma-queries');
     }
 }