Esempio n. 1
0
 /**
  * Adds users to this thread
  *
  * @param array $participants list of all participants
  * @return void
  */
 public function addParticipants(array $participants)
 {
     if (count($participants)) {
         foreach ($participants as $user_id) {
             Participant::firstOrCreate(['user_id' => $user_id, 'thread_id' => $this->id]);
         }
     }
 }
 /**
  * Adds a new message to a current thread
  *
  * @param $id
  * @return mixed
  */
 public function update($id)
 {
     try {
         $thread = Thread::findOrFail($id);
     } catch (ModelNotFoundException $e) {
         Session::flash('error_message', 'The thread with ID: ' . $id . ' was not found.');
         return redirect('message');
     }
     $thread->activateAllParticipants();
     // Message
     Message::create(['thread_id' => $thread->id, 'user_id' => Auth::id(), 'body' => Input::get('message')]);
     // Add replier as a participant
     $participant = Participant::firstOrCreate(['thread_id' => $thread->id, 'user_id' => Auth::user()->id]);
     $participant->last_read = new Carbon();
     $participant->save();
     // Recipients
     if (Input::has('recipients')) {
         $thread->addParticipants(Input::get('recipients'));
     }
     return redirect('message/' . $id);
 }