user()->id)->where('payment_status','Completed')->count();
$total_pending_orders = Booking::where('user_id',Auth::guard('web')->user()->id)->where('payment_status','Pending')->count();
return view('user.dashboard', compact('total_completed_orders', 'total_pending_orders'));
}
public function booking()
{
$all_data = Booking::with(['tour','package'])->where('user_id',Auth::guard('web')->user()->id)->get();
return view('user.booking', compact('all_data'));
}
public function invoice($invoice_no)
{
$admin_data = Admin::where('id',1)->first();
$booking = Booking::with(['tour','package'])->where('invoice_no',$invoice_no)->first();
return view('user.invoice', compact('invoice_no', 'booking', 'admin_data'));
}
public function review()
{
$reviews = Review::with('package')->where('user_id',Auth::guard('web')->user()->id)->get();
//dd($reviews);
return view('user.review', compact('reviews'));
}
public function wishlist()
{
$wishlist = Wishlist::with('package')->where('user_id',Auth::guard('web')->user()->id)->get();
return view('user.wishlist', compact('wishlist'));
}
public function wishlist_delete($id)
{
$obj = Wishlist::where('id',$id)->first();
$obj->delete();
return redirect()->back()->with('success', 'Wishlist item is deleted successfully!');
}
public function message()
{
$message_check = Message::where('user_id',Auth::guard('web')->user()->id)->count();
$message = Message::where('user_id',Auth::guard('web')->user()->id)->first();
if($message) {
$message_comments = MessageComment::where('message_id',$message->id)->orderBy('id','desc')->get();
} else {
$message_comments = [];
}
return view('user.message', compact('message_check', 'message_comments'));
}
public function message_start()
{
$message_check = Message::where('user_id',Auth::guard('web')->user()->id)->count();
if($message_check > 0) {
return redirect()->back()->with('error', 'You have already started a conversation!');
}
$obj = new Message;
$obj->user_id = Auth::guard('web')->user()->id;
$obj->save();
return redirect()->back();
}
public function message_submit(Request $request)
{
$request->validate([
'comment' => 'required',
]);
$message = Message::where('user_id',Auth::guard('web')->user()->id)->first();
$obj = new MessageComment;
$obj->message_id = $message->id;
$obj->sender_id = Auth::guard('web')->user()->id;
$obj->type = 'User';
$obj->comment = $request->comment;
$obj->save();
$message_link = route('admin_message_detail',$message->id);
$subject = 'New User Message';
$message = 'Please click on the following link to see the new message from the user:
Click Here';
$admin_data = Admin::where('id',1)->first();
\Mail::to($admin_data->email)->send(new Websitemail($subject,$message));
return redirect()->back()->with('success', 'Message is sent successfully!');
}
public function profile()
{
return view('user.profile');
}
public function profile_submit(Request $request)
{
$user = User::where('id',Auth::guard('web')->user()->id)->first();
$request->validate([
'name' => 'required',
'email' => 'required|email|unique:users,email,'.$user->id,
'phone' => 'required',
'country' => 'required',
'address' => 'required',
'state' => 'required',
'city' => 'required',
'zip' => 'required',
]);
if($request->photo) {
$request->validate([
'photo' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
if($user->photo != '') {
unlink(public_path('uploads/'.$user->photo));
}
$final_name = 'user_'.time().'.'.$request->photo->extension();
$request->photo->move(public_path('uploads'), $final_name);
$user->photo = $final_name;
}
if($request->password != '') {
$request->validate([
'password' => 'required',
'retype_password' => 'required|same:password',
]);
$user->password = bcrypt($request->password);
}
$user->name = $request->name;
$user->email = $request->email;
$user->phone = $request->phone;
$user->country = $request->country;
$user->address = $request->address;
$user->state = $request->state;
$user->city = $request->city;
$user->zip = $request->zip;
$user->save();
return redirect()->back()->with('success', 'Profile updated successfully!');
}
}