コード例 #1
0
 public function CompleteReservation(Request $request)
 {
     if (session_status() == PHP_SESSION_NONE) {
         session_start();
     }
     $amount = $_SESSION['amount'] + 78.75;
     $usern = $_SESSION['username'];
     $un = DB::table('user_table')->where('username', "{$usern}")->first();
     $userid = $un->id;
     $res = DB::table('reservation_table')->where('user_id', $userid)->first();
     if ($res) {
         return 2;
     }
     $this->validate($request, ['ctype' => 'required', 'cnum' => 'required | numeric', 'cmon' => 'required', 'cyear' => 'required', 'cvv' => 'required | numeric', 'fname' => 'required | alpha', 'lname' => 'required | alpha', 'street' => 'required', 'city' => 'required', 'state' => 'required', 'country' => "required", 'zip' => 'required | numeric']);
     $f = new formaction();
     $f->change_room_status();
     $request->request->add(['amount' => $amount]);
     $state = $f->DirectPay($request);
     if ($state == 1) {
         $chechin = $_SESSION['checkin'];
         $checkout = $_SESSION['checkout'];
         $rt1 = $_SESSION['rt1'];
         $rt2 = $_SESSION['rt2'];
         $rt3 = $_SESSION['rt3'];
         $today = date("Y-m-d");
         // get user id
         $username = $_SESSION['username'];
         $re = DB::table('user_table')->where('username', "{$username}")->first();
         $userid = $re->id;
         // insert in the reservation_table
         DB::table('reservation_table')->insert(['user_id' => $userid, 'checkin' => $chechin, 'checkout' => $checkout, 'reservation_date' => $today, 'checked' => 0]);
         // get the inserted and insert it with the room numbers in the table_reserved_rooms
         $re1 = DB::table('reservation_table')->where('user_id', $userid)->get();
         //$res_id = $re1->id;
         for ($i = 0; $i < sizeof($re1); $i++) {
             if (!$f->checkExist($re1[$i]->id)) {
                 $res_id = $re1[$i]->id;
                 if ($rt1 > 0) {
                     DB::table('table_reserved_rooms')->insert(['reservation_id' => $res_id, 'num_rooms' => $rt1, 'room_type' => 1]);
                 }
                 if ($rt2 > 0) {
                     DB::table('table_reserved_rooms')->insert(['reservation_id' => $res_id, 'num_rooms' => $rt2, 'room_type' => 2]);
                 }
                 if ($rt3 > 0) {
                     DB::table('table_reserved_rooms')->insert(['reservation_id' => $res_id, 'num_rooms' => $rt3, 'room_type' => 3]);
                 }
             }
         }
         $f->change_room_status();
         return 1;
     } else {
         return $state;
     }
 }