12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- namespace App\Http\Controllers;
- use Auth;
- use Illuminate\Http\Request;
- use App\{
- DirectMessage,
- Profile,
- Status
- };
- class DirectMessageController extends Controller
- {
- public function __construct()
- {
- $this->middleware('auth');
- }
- public function inbox(Request $request)
- {
- $profile = Auth::user()->profile;
- $inbox = DirectMessage::selectRaw('*, max(created_at) as createdAt')
- ->whereToId($profile->id)
- ->with(['author','status'])
- ->orderBy('createdAt', 'desc')
- ->groupBy('from_id')
- ->paginate(12);
- return view('account.messages', compact('inbox'));
- }
- public function show(Request $request, int $pid, $mid)
- {
- $profile = Auth::user()->profile;
- if($pid !== $profile->id) {
- abort(403);
- }
- $msg = DirectMessage::whereToId($profile->id)
- ->findOrFail($mid);
- $thread = DirectMessage::whereIn('to_id', [$profile->id, $msg->from_id])
- ->whereIn('from_id', [$profile->id,$msg->from_id])
- ->orderBy('created_at', 'desc')
- ->paginate(30);
- $thread = $thread->reverse();
- return view('account.message', compact('msg', 'profile', 'thread'));
- }
- public function compose(Request $request)
- {
- $profile = Auth::user()->profile;
- }
- }
|