/**
  * Display the message history.
  *
  * @return \Illuminate\Http\Response
  */
 public function showmessages()
 {
     $input = Request::all();
     $conv1 = Conversation::where('id', Input::get('conversation_id'))->first();
     $conv2 = Conversation::where('user1_id', '=', $conv1->user2_id)->where('user2_id', '=', $conv1->user1_id)->first();
     $messages1 = Message::where('conversation_id', $conv1->id)->get();
     $messages2 = Message::where('conversation_id', $conv2->id)->get();
     $messages = $messages1->merge($messages2);
     $data['user1_id'] = $conv1->user1_id;
     $data['user2_id'] = $conv1->user2_id;
     $data['user1_accountname'] = $conv1->user1_accountname;
     $data['user2_accountname'] = $conv1->user2_accountname;
     $data['conversation_id'] = $conv1->id;
     $data['conversation2_id'] = $conv2->id;
     $data['messages'] = $messages->sortBy('created_at')->values();
     return json_encode($data);
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Conversation::truncate();
     DB::table('conversation_user')->truncate();
     $users = User::get();
     foreach ($users as $user) {
         for ($i = 0, $count = rand(0, 5); $i < $count; $i++) {
             $rUser = $users->random();
             while ($rUser == $user) {
                 $rUser = $users->random();
             }
             $conversation = $user->conversations->intersect($rUser->conversations);
             if ($conversation->isEmpty()) {
                 $conversation = Conversation::create();
                 $conversation->users()->saveMany([$user, $rUser]);
             }
         }
     }
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Message::truncate();
     $conversations = Conversation::get();
     foreach ($conversations as $conversation) {
         $users = $conversation->users;
         for ($i = 0, $count = rand(1, 5); $i < $count; $i++) {
             $message = factory(Message::class)->create();
             $message->conversation_id = $conversation->id;
             if (rand(0, 1)) {
                 $message->to_user_id = $users[0]->id;
                 $message->from_user_id = $users[1]->id;
             } else {
                 $message->to_user_id = $users[1]->id;
                 $message->from_user_id = $users[0]->id;
             }
             $message->save();
         }
     }
 }
 public function getunseen()
 {
     $accountname = Input::get('accountname');
     $conversations = Conversation::where('user1_accountname', $accountname)->get();
     $unseen = 0;
     foreach ($conversations as $key => $conversation) {
         $unseen += $conversation->unseen;
     }
     return json_encode($unseen);
 }
Example #5
0
    $comments = App\Models\Comment::orderBy('created_at', 'desc')->with('author')->get()->all();
    return response($comments)->header('Access-Control-Allow-Origin', '*');
});
$app->get('/users', function (Request $request) {
    $users = App\Models\User::select('id', 'nickname')->get();
    return response()->json($users)->header('Access-Control-Allow-Origin', '*');
});
$app->group(['middleware' => 'auth'], function ($app) {
    $app->post('/conversations', function (Request $request) {
        $user = Auth::user();
        $conversations = $user->conversations()->withoutUser($user->id)->messagesCount()->get();
        $conversations = $conversations->each(function ($item) {
            $item['user'] = $item['users']->first();
            unset($item['users']);
            return $item;
        });
        return response(['success' => true, 'conversations' => $conversations])->header('Access-Control-Allow-Origin', '*');
    });
    $app->post('/conversations/last_id', function (Request $request) {
        $conv_id = Auth::user()->messages()->orderBy('created_at', 'desc')->first()->conversation_id;
        return response(['success' => true, 'conv_id' => $conv_id])->header('Access-Control-Allow-Origin', '*');
    });
    $app->post('/messages/{conv_id}', function (Request $request, $conv_id) {
        $messages = Conversation::find($conv_id)->messages;
        return response(['success' => true, 'messages' => $messages])->header('Access-Control-Allow-Origin', '*');
    });
});
$app->post('/auth/login', ['uses' => 'AuthController@login']);
$app->post('/auth/logout', ['uses' => 'AuthController@logout']);
$app->post('/auth/register', ['uses' => 'AuthController@register']);
$app->post('/auth/user', ['uses' => 'AuthController@getUser']);
Example #6
0
 public function conversation($id)
 {
     $conversation = Conversation::find($id);
     return view('message.conversation');
 }