コード例 #1
0
ファイル: MessageController.php プロジェクト: fant0m/VAII
 public function create($request)
 {
     $validate = $this->validate($request, $this->rules);
     if ($validate->errors() == 0) {
         $sender = Auth::get();
         if ($sender) {
             $receiver = new User();
             $receiver = $receiver->where(['nick' => $request->receiver])->get();
             if (count($receiver) > 0) {
                 $conversation = new Conversation();
                 $conversation->title = htmlspecialchars($request->title);
                 $conversation->sender_id = $sender->id;
                 $conversation->recipient_id = $receiver[0]->id;
                 $conversation->save();
                 $message = new Message();
                 $message->conversation_id = $conversation->id;
                 $message->sender_id = $sender->id;
                 $message->text = nl2br(htmlspecialchars($request->text));
                 $message->save();
                 $notification = new Notification();
                 $notification->text = 'Používateľ ' . $sender->nick . ' vám poslal novú správu!';
                 $notification->user_id = $receiver[0]->id;
                 $notification->link = 'sprava/' . $conversation->id;
                 $notification->save();
                 return json_encode(['success' => 'Správa bola úspešne odoslaná!']);
             } else {
                 return json_encode(['errors' => ['Príjemca neexistuje!']]);
             }
         }
     } else {
         return json_encode(['errors' => $validate->getErrors()]);
     }
 }
コード例 #2
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function show($id)
 {
     $user = Auth::user();
     $conversations = Conversation::forUser()->orderBy('updated_at', 'desc')->get();
     $conversation = Conversation::find($id);
     // $me = Participant::me()->where('conversation_id', $conversation->id)->first();
     // $me->last_read = new DateTime;
     // $me->save();
     return View::make('conversations.show', compact('conversations', 'conversation'));
 }