/** * 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); }
$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']);
public function conversation($id) { $conversation = Conversation::find($id); return view('message.conversation'); }