2

I am doing a project. In this project I want that the provider may able to accept or decline someone's serial who give him serial from mail. But I am stuck in this. i can't be able to do so. Please help me solving this. My mail function is

<span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; color: #57697e;">
   Hello <strong>'.$provider_first_name.' '.$provider_last_name.'</strong>, <strong>'.$seeker_first_name.' '.$seeker_last_name.'</strong> wants to meet you  on <strong>'.$booking_date.' at '.$booking_start_time.'-'.$booking_end_time.' </strong> by '.$booking_type.'. Please let us know
   whether you will be available on the time specified. 
   You can accept or reject appointments: <a href="'. url('booking/accept/') .'/'.$provider.'">Accept</a>
   Follow us on <a href="http://syncopp.devteam.website/">Sync Opp</a> for booking confirmation.
   <br/>
   Thank you for staying with us!
</span>

My Controller is

public function accept($id)
    {
        if (Auth::check()) {
            $booking = Booking::find($id);
            if (!empty($booking)) {
                $to = User::find($booking->seeker_id)->email;
                $seeker_first_name = UserDetail::where('user_id', $booking->seeker_id)->first()->first_name;
                $seeker_last_name = UserDetail::where('user_id', $booking->seeker_id)->first()->last_name;
                $provider_first_name = UserDetail::where('user_id', $booking->provider_id)->first()->first_name;
                $provider_last_name = UserDetail::where('user_id', $booking->provider_id)->first()->last_name;

                $type = Meeting::where('id', $booking->meeting_type)->first()->name;

                $link = 'http://devteam.website/esp+hadfkku+hhj2hjh2+q+web+video+calling/index.php?r=videochat/logout';

                $token = $booking->token;

                $subject = 'Syncopp : Meeting Confirmation!';
                $headers = 'MIME-Version: 1.0' . "\r\n";
                $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
                $mail = new Mail();
                $body = $mail->accept_booking($seeker_first_name, $seeker_last_name, $provider_first_name, $provider_last_name, $type, $link,$token);
                mail($to, $subject, $body, $headers);

                $to_p = Auth::user()->email;
                mail($to_p, $subject, $body, $headers);

                $booking->is_accepted = 1;
                $booking->notification = 0;

                // Change payment status, just like booking status.
                if($booking->save()){
                    $payment = Payment::where('booking_id', $id)->first();
                    if(!empty($payment)){
                        $payment->is_accepted = 1;
                        $payment->save();
                    }
                }

            } else {

            }
        } else {

        }
    }
Jahid Mahmud
  • 1,136
  • 1
  • 12
  • 32
  • What exactly is the problem? Is there an error when the user clicks the accept button in the email? – bytesarelife Oct 16 '16 at 04:36
  • No the accept button is okay. I want that the user redirect to gmail after accept. @bytesarelife – Jahid Mahmud Oct 16 '16 at 04:40
  • So you send the email, user clicks `Accept` button, comes to your site for the completion and once it had been accepted, you want him to go back to the gmail? Not that it makes any sense but here's how you can redirect him to G-Mail: `return redirect('https://mail.google.com');` I am still confused at your question but let me know. – bytesarelife Oct 16 '16 at 04:51
  • Is there any way to redirect on the same gmail instead of opening a new tab? Currently it redirect to gmail but on the other tab. I want to redirect on the same tab? Could it be possible? @bytesarelife – Jahid Mahmud Oct 16 '16 at 05:04

1 Answers1

0

This works perfectly after i change my controller in this

public function accept($id)
    {
        if (!empty($id)) {
            $booking = Booking::find($id);
            if (!empty($booking)) {
                $to = User::find($booking->seeker_id)->email;
                $seeker_first_name = UserDetail::where('user_id', $booking->seeker_id)->first()->first_name;
                $seeker_last_name = UserDetail::where('user_id', $booking->seeker_id)->first()->last_name;
                $provider_first_name = UserDetail::where('user_id', $booking->provider_id)->first()->first_name;
                $provider_last_name = UserDetail::where('user_id', $booking->provider_id)->first()->last_name;

                $type = Meeting::where('id', $booking->meeting_type)->first()->name;

                $link = 'http://devteam.website/esp+hadfkku+hhj2hjh2+q+web+video+calling/index.php?r=videochat/logout';

                $token = $booking->token;

                $subject = 'Syncopp : Meeting Confirmation!';
                $headers = 'MIME-Version: 1.0' . "\r\n";
                $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
                $mail = new Mail();
                $body = $mail->accept_booking($seeker_first_name, $seeker_last_name, $provider_first_name, $provider_last_name, $type, $link, $token);
                mail($to, $subject, $body, $headers);

                $to_p = User::find($booking->provider_id)->email;;
                mail($to_p, $subject, $body, $headers);

                $booking->is_accepted = 1;
                $booking->notification = 0;

                // Change payment status, just like booking status.
                if ($booking->save()) {
                    $payment = Payment::where('booking_id', $id)->first();
                    if (!empty($payment)) {
                        $payment->is_accepted = 1;
                        $payment->save();
                    }
                }

                echo "<script type='text/javascript'>window.close();</script>";
            } else {
                echo "<script type='text/javascript'>alert('Seeker not found.');window.close();</script>";
            }
        }else{
            echo "<script type='text/javascript'>alert('Seeker not found.');window.close();</script>";
        }

    }
Jahid Mahmud
  • 1,136
  • 1
  • 12
  • 32