Ejemplo n.º 1
0
 public function showMessages(Request $request)
 {
     $id = $request->user()->id;
     $sql = DB::select(DB::raw("select * from (select * from `messages` where `user_id_received` = " . $id . " or `user_id_sent` = " . $id . " order by `created_at` desc) as `messages` group by `dialog_num`"));
     $ids = [];
     foreach ($sql as $item) {
         $ids[] = $item->id;
     }
     $msgs = Messages::whereIn("id", $ids)->with('getSender')->with('getReceiver')->orderBy("created_at", "DESC")->get();
     return view()->make('user.messages', array('messages' => $msgs, 'id' => $id));
 }
Ejemplo n.º 2
0
 public function saveMessage(Request $request)
 {
     $message = [];
     $message['seance_id'] = $request->input('seanceHidden');
     $message['user_id_received'] = $request->input('userHidden');
     $message['user_id_sent'] = $request->user()->id;
     $message['message'] = $request->input('textArea');
     $ids = [$message['user_id_sent'], $message['user_id_received']];
     $b = $message['user_id_sent'] == $message['user_id_received'];
     if ($b) {
         $res = Messages::whereIn('user_id_sent', $ids)->whereIn('user_id_received', $ids)->first();
     } else {
         $res = Messages::whereIn('user_id_sent', $ids)->whereIn('user_id_received', $ids)->whereRaw('user_id_received <> user_id_sent')->first();
     }
     if (count($res) == 0) {
         $message['dialog_num'] = Messages::orderBy('dialog_num', 'DESC')->first()->dialog_num + 1;
     } else {
         $message['dialog_num'] = $res->dialog_num;
     }
     Messages::create($message);
     return redirect()->back()->with('error', 0)->with('message', 'Сообщение отправлено.');
 }
Ejemplo n.º 3
0
 public function sendMessage(Request $request)
 {
     $this->validate($request, array('messageArea' => 'required'), array('messageArea.required' => 'Сообщение не должно быть пустым'));
     $msg = [];
     $msg['message'] = $request->input('messageArea');
     $msg['user_id_sent'] = $request->user()->id;
     $msg['user_id_received'] = $request->input('userHidden');
     $ids = [$msg['user_id_sent'], $msg['user_id_received']];
     $b = $msg['user_id_sent'] == $msg['user_id_received'];
     if ($b) {
         $res = Messages::whereIn('user_id_sent', $ids)->whereIn('user_id_received', $ids)->first();
     } else {
         $res = Messages::whereIn('user_id_sent', $ids)->whereIn('user_id_received', $ids)->whereRaw('user_id_received <> user_id_sent')->first();
     }
     if (count($res) == 0) {
         if (Messages::count() != 0) {
             $msg['dialog_num'] = Messages::orderBy('dialog_num', 'DESC')->first()->dialog_num + 1;
         } else {
             $msg['dialog_num'] = 1;
         }
     } else {
         $msg['dialog_num'] = $res->dialog_num;
     }
     Messages::create($msg);
     return redirect()->back();
 }