public function striperefundAction(Request $request)
 {
     $session = $request->getSession();
     if ($session->get('refund') == '') {
         return $this->redirect($this->generateUrl('mytrip_user_homepage'));
     }
     $username = $session->get('user');
     $refund = $session->get('refund');
     if (empty($username)) {
         return $this->redirect($this->generateUrl('mytrip_user_homepage'));
     }
     $lan = $session->get('language');
     $em = $this->container->get('doctrine')->getManager();
     $bookingtransaction = $em->createQuery("SELECT p FROM MytripAdminBundle:BookingTransaction p WHERE p.booking='" . $refund['refund_booking_id'] . "'")->getArrayResult();
     $booking = $em->createQuery("SELECT d,IDENTITY(d.hostal) AS hostal,IDENTITY(d.room) AS room FROM MytripAdminBundle:Booking d WHERE d.bookingId=" . $refund['refund_booking_id'])->getArrayResult();
     if ($booking[0][0]['status'] != "Confirmed") {
         $this->get('session')->getFlashBag()->add('success', $this->get('translator')->trans('Your booking already cancelled or payment not proceed. Please check it.'));
         return $this->redirect($this->generateUrl('mytrip_user_bookinghistory'));
     }
     $paymentArray['amount'] = $refund['cancelamount'];
     //$paymentArray['refundType']='Partial';
     $paymentArray['transactionID'] = $bookingtransaction[0]['transactionId'];
     //$paymentArray['currency']=$bookingtransaction[0]['transactionCurrency'];
     $result = $this->StripeRefund($paymentArray);
     $ack = strtoupper($result["ACK"]);
     if ($ack == "SUCCESS") {
         $cancel = new \Mytrip\AdminBundle\Entity\BookingCancel();
         $cancel->setBooking($this->getDoctrine()->getRepository('MytripAdminBundle:Booking')->find($refund['refund_booking_id']));
         $cancel->setCancelPercentage($refund['cancel_percentage']);
         $cancel->setCancelDate(new \DateTime(date('Y-m-d')));
         $cancel->setRefundReferenceno($result['REFUNDTRANSACTIONID']);
         $cancel->setRefundAmount($refund['cancelamount']);
         $cancel->setRefundDate(new \DateTime(date('Y-m-d')));
         $cancel->setRefundCurrency($bookingtransaction[0]['transactionCurrency']);
         $cancel->setStatus('Refund');
         $em->persist($cancel);
         $em->flush();
         $em->createQuery("UPDATE MytripAdminBundle:Booking p SET p.status='Cancelled' WHERE p.bookingId='" . $refund['refund_booking_id'] . "'")->execute();
         $bookingid = $refund['refund_booking_id'];
         $booking = $em->createQuery("SELECT d,IDENTITY(d.hostal) AS hostal,IDENTITY(d.room) AS room FROM MytripAdminBundle:Booking d WHERE d.bookingId=" . $bookingid)->getArrayResult();
         $booking_info = $em->createQuery("SELECT d FROM MytripAdminBundle:BookingInfo d WHERE d.booking=" . $bookingid)->getArrayResult();
         $this->mailsend("Mytrip Cuba", "*****@*****.**", $booking_info[0]['email'], $this->get('translator')->trans('Reservation Cancel Details'), '', '');
         $session->remove('refund');
         $this->get('session')->getFlashBag()->add('success', $this->get('translator')->trans('Your booking cancelled successfully'));
         return $this->redirect($this->generateUrl('mytrip_user_bookinghistory'));
     } else {
         $this->get('session')->getFlashBag()->add('success', $this->get('translator')->trans($result['message']));
         return $this->redirect($this->generateUrl('mytrip_user_bookinghistory'));
     }
 }
 public function beanstreamrefundAction(Request $request)
 {
     $session = $request->getSession();
     if ($session->get('refund') == '') {
         return $this->redirect($this->generateUrl('mytrip_user_homepage'));
     }
     $username = $session->get('user');
     $refund = $session->get('refund');
     if (empty($username)) {
         return $this->redirect($this->generateUrl('mytrip_user_homepage'));
     }
     $lan = $session->get('language');
     $em = $this->container->get('doctrine')->getManager();
     $bookingtransaction = $em->createQuery("SELECT p FROM MytripAdminBundle:BookingTransaction p WHERE p.booking='" . $refund['refund_booking_id'] . "'")->getArrayResult();
     $booking = $em->createQuery("SELECT p FROM MytripAdminBundle:Booking p WHERE p.bookingId='" . $refund['refund_booking_id'] . "'")->getArrayResult();
     if ($booking[0]['status'] != "Confirmed") {
         $this->get('session')->getFlashBag()->add('success', $this->get('translator')->trans('Your booking already cancelled or payment not proceed. Please check it.'));
         return $this->redirect($this->generateUrl('mytrip_user_bookinghistory'));
     }
     $paymentArray['amount'] = $refund['cancelamount'];
     $paymentArray['transactionID'] = $bookingtransaction[0]['transactionId'];
     $paymentArray['orderno'] = "venacuba-" . $refund['refund_booking_id'] * 1024;
     $paymentArray['currency'] = $bookingtransaction[0]['transactionCurrency'];
     $result = $this->BeanstreamRefund($paymentArray);
     if ($result['trnApproved'] == "1") {
         $cancel = new \Mytrip\AdminBundle\Entity\BookingCancel();
         $cancel->setBooking($this->getDoctrine()->getRepository('MytripAdminBundle:Booking')->find($refund['refund_booking_id']));
         $cancel->setCancelPercentage($refund['cancel_percentage']);
         $cancel->setCancelDate(new \DateTime(date('Y-m-d')));
         $cancel->setRefundReferenceno($result['trnId']);
         $cancel->setRefundAmount($refund['cancelamount']);
         $cancel->setRefundDate(new \DateTime(date('Y-m-d')));
         $cancel->setRefundCurrency($bookingtransaction[0]['transactionCurrency']);
         $cancel->setStatus('Refund');
         $em->persist($cancel);
         $em->flush();
         $em->createQuery("UPDATE MytripAdminBundle:Booking p SET p.status='Cancelled' WHERE p.bookingId='" . $refund['refund_booking_id'] . "'")->execute();
         $bookingid = $refund['refund_booking_id'];
         $booking = $em->createQuery("SELECT d,IDENTITY(d.hostal) AS hostal,IDENTITY(d.room) AS room FROM MytripAdminBundle:Booking d WHERE d.bookingId=" . $bookingid)->getArrayResult();
         $booking_info = $em->createQuery("SELECT d FROM MytripAdminBundle:BookingInfo d WHERE d.booking=" . $bookingid)->getArrayResult();
         $this->mailsend("Mytrip Cuba", "*****@*****.**", $booking_info[0]['email'], $this->get('translator')->trans('Reservation Cancel Details'), '', '');
         $login = $this->container->get('mytrip_admin.helper.sms')->getOption('smsusername');
         $password = $this->container->get('mytrip_admin.helper.sms')->getOption('smspassword');
         $prefix = $booking_info[0]['cmcode'];
         $number = $booking_info[0]['mobile'];
         $msg = urlencode($this->get('translator')->trans('Dear Customer, Your booking cancelled successfully for the reference no is') . ' ' . ("venacuba-" . $bookingid * 1024) . $this->get('translator')->trans('Refund amount is') . ' ' . $refund['cancelamount'] . $bookingtransaction[0]['transactionCurrency'] . ' ' . $this->get('translator')->trans('Refund transaction id is') . ' ' . $result['trnId']);
         $URL = "http://api.smsacuba.com/api10allcountries.php?";
         $URL .= "login="******"&password="******"&prefix=" . $prefix . "&number=" . $number . "&sender=Mytriptocuba" . "&msg=" . $msg;
         $r = @file($URL);
         $succmsg = $r[0];
         $session->remove('refund');
         $bookingcancel = $em->createQuery("SELECT p FROM MytripAdminBundle:BookingCancel p WHERE p.booking='" . $booking[0][0]['bookingId'] . "'")->getArrayResult();
         $hostal_query = $em->createQuery("SELECT h FROM MytripAdminBundle:Hostal h WHERE h.status='Active' AND h.hostalId='" . $booking[0]['hostal'] . "'");
         $hostals = $hostal_query->getArrayResult();
         if (empty($hostals)) {
             return $this->redirect($this->generateUrl('mytrip_user_destination'));
         }
         $hostal_content_query = $em->createQuery("SELECT d FROM MytripAdminBundle:HostalContent d WHERE d.lan='{$lan}' AND d.hostal=" . $hostals[0]['hostalId']);
         $hostal_content = $hostal_content_query->getArrayResult();
         if (empty($hostal_content)) {
             $hostal_content_query = $em->createQuery("SELECT d FROM MytripAdminBundle:HostalContent d WHERE d.lan='en' AND d.hostal=" . $hostals[0]['hostalId']);
             $hostal_content = $hostal_content_query->getArrayResult();
         }
         $hostal_room = $em->createQuery("SELECT d FROM MytripAdminBundle:HostalRooms d WHERE d.hostal=" . $hostals[0]['hostalId'])->getArrayResult();
         $bookingprice = $em->createQuery("SELECT d FROM MytripAdminBundle:BookingPrice d WHERE d.booking=" . $bookingid)->getArrayResult();
         $booking_transaction = $em->createQuery("SELECT d FROM MytripAdminBundle:BookingTransaction d WHERE d.booking=" . $bookingid)->getArrayResult();
         $buser = $session->get('user');
         $uid = $buser['userId'];
         /**Booking send to the hostal owner email id***/
         $setting = $em->createQuery("SELECT p FROM MytripAdminBundle:Settings p")->getArrayResult();
         $busers = $em->createQuery("SELECT p FROM MytripAdminBundle:User p  WHERE  p.userId='" . $uid . "'")->getArrayResult();
         if ($busers[0]['province'] != '') {
             $province = $em->createQuery("SELECT d FROM MytripAdminBundle:States d WHERE d.sid=" . $busers[0]['province'])->getArrayResult();
         }
         if ($busers[0]['country'] != '') {
             $country = $em->createQuery("SELECT d FROM MytripAdminBundle:Country d WHERE d.cid=" . $busers[0]['country'])->getArrayResult();
         }
         $user_name = $busers[0]['firstname'] . ' ' . $busers[0]['lastname'];
         $address = $busers[0]['address'] . " , " . $busers[0]['city'] . ', ' . ($busers[0]['province'] != '' ? $province[0]['state'] . ', ' : '') . ($busers[0]['country'] != '' ? $country[0]['country'] : '');
         $emaillist = $em->getRepository('MytripAdminBundle:EmailList')->findOneBy(array('emailListId' => '12'));
         $emailcontent = $em->getRepository('MytripAdminBundle:EmailContent')->findOneBy(array('emailList' => '12', 'lan' => $lan));
         if (!empty($emailcontent)) {
             $emailcontent = $em->getRepository('MytripAdminBundle:EmailContent')->findOneBy(array('emailList' => '12', 'lan' => 'en'));
         }
         $from_date = $booking[0][0]['fromDate'];
         $to_date = $booking[0][0]['toDate'];
         if ($hostals[0]['ownerEmail'] != '') {
             $message = str_replace(array('{owner_name}', '{hostal_name}', '{check_in}', '{check_out}', '{room_type}', '{rooms}', '{nights}', '{room_details}', '{username}', '{address}', '{room_price}', '{accommodation_cost}', '{reservation_charge}', '{total_cost}', '{ref_no}', '{paid_amount}', '{balance_amount}', '{refund_amount}'), array($hostal_content[0]['ownerName'], $hostal_content[0]['name'], $from_date->format('Y-m-d H:i:s'), $to_date->format('Y-m-d H:i:s'), $hostal_room[0]['roomtype'], $booking[0][0]['noOfRooms'], $booking[0][0]['noOfDays'], 'Guests:' . $hostal_room[0]['guests'] . ',Adults:' . $hostal_room[0]['adults'] . ',Child:' . $hostal_room[0]['child'], $user_name, $address, $hostal_room[0]['price'] . ' CAD', number_format($bookingprice[0]['totalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format($bookingprice[0]['reservationCharge'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], "venacuba-" . $bookingid * 1024, number_format($bookingprice[0]['reservationTotalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge'] - $bookingprice[0]['reservationTotalPrice']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], $bookingcancel[0]['refundAmount'] . ' ' . $bookingcancel[0]['refundCurrency']), $emailcontent->getEmailContent());
             $subject = str_replace(array('{owner_name}', '{hostal_name}', '{check_in}', '{check_out}', '{room_type}', '{rooms}', '{nights}', '{room_details}', '{username}', '{address}', '{room_price}', '{accommodation_cost}', '{reservation_charge}', '{total_cost}', '{ref_no}', '{paid_amount}', '{balance_amount}', '{refund_amount}'), array($hostal_content[0]['ownerName'], $hostal_content[0]['name'], $from_date->format('Y-m-d H:i:s'), $to_date->format('Y-m-d H:i:s'), $hostal_room[0]['roomtype'], $booking[0][0]['noOfRooms'], $booking[0][0]['noOfDays'], 'Guests:' . $hostal_room[0]['guests'] . ',Adults:' . $hostal_room[0]['adults'] . ',Child:' . $hostal_room[0]['child'], $user_name, $address, $hostal_room[0]['price'] . ' CAD', number_format($bookingprice[0]['totalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format($bookingprice[0]['reservationCharge'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], "venacuba-" . $bookingid * 1024, number_format($bookingprice[0]['reservationTotalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge'] - $bookingprice[0]['reservationTotalPrice']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], $bookingcancel[0]['refundAmount'] . ' ' . $bookingcancel[0]['refundCurrency']), $emailcontent->getSubject());
             $this->mailsend($emaillist->getFromname(), $emaillist->getFromemail(), $hostals[0]['ownerEmail'], $subject, $message, '', 0, '', 'email');
         }
         if ($hostals[0]['cmcode'] != '' && $hostals[0]['mobile'] != '') {
             /**Booking send to the hostal owner mobile***/
             $prefix = $hostals[0]['cmcode'];
             $number = $hostals[0]['mobile'];
             $msg = urlencode($this->get('translator')->trans('Dear ' . $hostal_content[0]['ownerName'] . ', ' . $user_name . ' has cancelled room in the ' . $hostal_content[0]['name'] . '. Reference no is') . ' ' . "venacuba-" . $bookingid * 1024);
             $URL = "http://api.smsacuba.com/api10allcountries.php?";
             $URL .= "login="******"&password="******"&prefix=" . $prefix . "&number=" . $number . "&sender=Mytriptocuba" . "&msg=" . $msg;
             $r = @file($URL);
             $succmsg = $r[0];
         }
         /**Booking send to the Site Admin email id***/
         $emaillist = $em->getRepository('MytripAdminBundle:EmailList')->findOneBy(array('emailListId' => '13'));
         $emailcontent = $em->getRepository('MytripAdminBundle:EmailContent')->findOneBy(array('emailList' => '13', 'lan' => $lan));
         if (!empty($emailcontent)) {
             $emailcontent = $em->getRepository('MytripAdminBundle:EmailContent')->findOneBy(array('emailList' => '13', 'lan' => 'en'));
         }
         $admin = $em->createQuery("SELECT p FROM MytripAdminBundle:Admin p WHERE p.adminId='1'")->getArrayResult();
         $message = str_replace(array('{admin_name}', '{owner_name}', '{hostal_name}', '{check_in}', '{check_out}', '{room_type}', '{rooms}', '{nights}', '{room_details}', '{username}', '{address}', '{room_price}', '{accommodation_cost}', '{reservation_charge}', '{total_cost}', '{ref_no}', '{paid_amount}', '{balance_amount}', '{refund_amount}'), array($admin[0]['name'], $hostal_content[0]['ownerName'], $hostal_content[0]['name'], $from_date->format('Y-m-d H:i:s'), $to_date->format('Y-m-d H:i:s'), $hostal_room[0]['roomtype'], $booking[0][0]['noOfRooms'], $booking[0][0]['noOfDays'], 'Guests:' . $hostal_room[0]['guests'] . ',Adults:' . $hostal_room[0]['adults'] . ',Child:' . $hostal_room[0]['child'], $user_name, $address, $hostal_room[0]['price'] . ' CAD', number_format($bookingprice[0]['totalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format($bookingprice[0]['reservationCharge'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], "venacuba-" . $bookingid * 1024, number_format($bookingprice[0]['reservationTotalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge'] - $bookingprice[0]['reservationTotalPrice']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], $bookingcancel[0]['refundAmount'] . ' ' . $bookingcancel[0]['refundCurrency']), $emailcontent->getEmailContent());
         $subject = str_replace(array('{admin_name}', '{owner_name}', '{hostal_name}', '{check_in}', '{check_out}', '{room_type}', '{rooms}', '{nights}', '{room_details}', '{username}', '{address}', '{room_price}', '{accommodation_cost}', '{reservation_charge}', '{total_cost}', '{ref_no}', '{paid_amount}', '{balance_amount}', '{refund_amount}'), array($admin[0]['name'], $hostal_content[0]['ownerName'], $hostal_content[0]['name'], $from_date->format('Y-m-d H:i:s'), $to_date->format('Y-m-d H:i:s'), $hostal_room[0]['roomtype'], $booking[0][0]['noOfRooms'], $booking[0][0]['noOfDays'], 'Guests:' . $hostal_room[0]['guests'] . ',Adults:' . $hostal_room[0]['adults'] . ',Child:' . $hostal_room[0]['child'], $user_name, $address, $hostal_room[0]['price'] . ' CAD', number_format($bookingprice[0]['totalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format($bookingprice[0]['reservationCharge'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], "venacuba-" . $bookingid * 1024, number_format($bookingprice[0]['reservationTotalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge'] - $bookingprice[0]['reservationTotalPrice']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], $bookingcancel[0]['refundAmount'] . ' ' . $bookingcancel[0]['refundCurrency']), $emailcontent->getSubject());
         $this->mailsend($emaillist->getFromname(), $emaillist->getFromemail(), $admin[0]['email'], $subject, $message, '', 0, '', 'email');
         if ($admin[0]['cmcode'] != '' && $admin[0]['mobile'] != '') {
             /**Booking send to the site admin mobile***/
             $prefix = $admin[0]['cmcode'];
             $number = $admin[0]['mobile'];
             $msg = urlencode($this->get('translator')->trans('Dear ' . $admin[0]['name'] . ', ' . $user_name . ' has cancelled room in the ' . $hostal_content[0]['name'] . '. Reference no is') . ' ' . "venacuba-" . $bookingid * 1024);
             $URL = "http://api.smsacuba.com/api10allcountries.php?";
             $URL .= "login="******"&password="******"&prefix=" . $prefix . "&number=" . $number . "&sender=Mytriptocuba" . "&msg=" . $msg;
             $r = @file($URL);
             $succmsg = $r[0];
         }
         $this->get('session')->getFlashBag()->add('success', $this->get('translator')->trans('Your booking cancelled successfully'));
         return $this->redirect($this->generateUrl('mytrip_user_bookinghistory'));
     } else {
         $this->get('session')->getFlashBag()->add('success', $this->get('translator')->trans('Sorry, Transaction has some problem. Please try again later or contact admin'));
         return $this->redirect($this->generateUrl('mytrip_user_bookinghistory'));
     }
 }
 public function cancelbookingAction(Request $request)
 {
     $response = $this->checkUser($request->getSession());
     if ($response) {
         return $response;
     }
     /****Check language session*******/
     $session = $request->getSession();
     $this->langsession($session);
     $lan = $session->get('language');
     $request->setLocale($lan);
     $usersession = $session->get('user');
     $bookingid = $request->get('bookingId') / 1024;
     $em = $this->container->get('doctrine')->getManager();
     $booking = $em->createQuery("SELECT b,IDENTITY(b.hostal) AS hostal FROM MytripAdminBundle:Booking b WHERE b.bookingId='" . $bookingid . "' AND b.user='******'userId'] . "' AND b.status='Confirmed' AND b.fromDate>='" . date('Y-m-d H:i:s') . "'")->getArrayResult();
     $user = $em->createQuery("SELECT p FROM MytripAdminBundle:User p WHERE p.userId='" . $usersession['userId'] . "'")->getArrayResult();
     if (empty($booking)) {
         $this->get('session')->getFlashBag()->add('success', $this->get('translator')->trans('Sorry, Your booking id is wrong. Please check once again'));
         return $this->redirect($this->generateUrl('mytrip_user_homepage'));
     }
     if ($booking[0][0]['status'] == "Pending" || $booking[0][0]['status'] == "Cancelled") {
         $this->get('session')->getFlashBag()->add('success', $this->get('translator')->trans('Sorry, Your booking id is wrong. Please check once again'));
         return $this->redirect($this->generateUrl('mytrip_user_bookinghistory'));
     }
     $startdate = date('Y-m-d');
     $enddate = $booking[0][0]['fromDate']->format('Y-m-d');
     $betweendays = $this->noofdays($startdate, $enddate);
     $bookingprice = $em->createQuery("SELECT p FROM MytripAdminBundle:BookingPrice p WHERE p.booking='" . $booking[0][0]['bookingId'] . "'")->getArrayResult();
     $bookingtransaction = $em->createQuery("SELECT p FROM MytripAdminBundle:BookingTransaction p WHERE p.booking='" . $booking[0][0]['bookingId'] . "'")->getArrayResult();
     if ($request->getMethod() == "POST") {
         $hostal_cancel = $em->createQuery("SELECT p FROM MytripAdminBundle:HostalCancelDetails p WHERE p.hostal='" . $booking[0]['hostal'] . "' AND p.days <='" . $betweendays . "' ORDER BY p.days DESC")->setMaxResults('1')->getArrayResult();
         if (!empty($hostal_cancel)) {
             $tamount = $bookingprice[0]['reservationTotalPrice'] - $bookingprice[0]['reservationCharge'];
             $cancelamount = $tamount * ($hostal_cancel[0]['percentage'] / 100);
             $cancel_percentage = $hostal_cancel[0]['percentage'];
         } else {
             $cancelamount = 0;
             $cancel_percentage = 0;
         }
         $refunds = array('refund_booking_id' => $bookingid, 'cancelamount' => $cancelamount, 'cancel_percentage' => $cancel_percentage, 'currency' => $bookingprice[0]['conversionCurrency']);
         $session->set('refund', $refunds);
         if ($cancelamount == 0) {
             $cancel = new \Mytrip\AdminBundle\Entity\BookingCancel();
             $cancel->setBooking($this->getDoctrine()->getRepository('MytripAdminBundle:Booking')->find($bookingid));
             $cancel->setCancelPercentage($cancel_percentage);
             $cancel->setCancelDate(new \DateTime(date('Y-m-d')));
             $cancel->setRefundAmount($cancelamount);
             $cancel->setRefundDate(new \DateTime(date('Y-m-d')));
             $cancel->setCreatedDate(new \DateTime(date('Y-m-d')));
             $cancel->setRefundCurrency($bookingprice[0]['conversionCurrency']);
             $cancel->setStatus('Refund');
             $em->persist($cancel);
             $em->flush();
             $em->createQuery("UPDATE MytripAdminBundle:Booking p SET p.status='Cancelled' WHERE p.bookingId='" . $bookingid . "'")->execute();
             $bookingid = $refunds['refund_booking_id'];
             $booking = $em->createQuery("SELECT d,IDENTITY(d.hostal) AS hostal FROM MytripAdminBundle:Booking d WHERE d.bookingId=" . $bookingid)->getArrayResult();
             $booking_info = $em->createQuery("SELECT d FROM MytripAdminBundle:BookingInfo d WHERE d.booking=" . $bookingid)->getArrayResult();
             $this->mailsend("Mytrip Cuba", "*****@*****.**", $booking_info[0]['email'], $this->get('translator')->trans('Reservation Cancel Details'), '', '', '0', '', 'refund');
             $login = $this->container->get('mytrip_admin.helper.sms')->getOption('smsusername');
             $password = $this->container->get('mytrip_admin.helper.sms')->getOption('smspassword');
             $prefix = $booking_info[0]['cmcode'];
             $number = $booking_info[0]['mobile'];
             $msg = urlencode($this->get('translator')->trans('Dear Customer, Your booking cancelled successfully for the reference no is') . ' ' . ("venacuba-" . $bookingid * 1024) . $this->get('translator')->trans('Refund amount is') . ' ' . $refunds['cancelamount'] . $refunds['currency']);
             $URL = "http://api.smsacuba.com/api10allcountries.php?";
             $URL .= "login="******"&password="******"&prefix=" . $prefix . "&number=" . $number . "&sender=Mytriptocuba" . "&msg=" . $msg;
             $r = @file($URL);
             $succmsg = $r[0];
             $session->remove('refund');
             $bookingcancel = $em->createQuery("SELECT p FROM MytripAdminBundle:BookingCancel p WHERE p.booking='" . $booking[0][0]['bookingId'] . "'")->getArrayResult();
             $hostal_query = $em->createQuery("SELECT h FROM MytripAdminBundle:Hostal h WHERE h.status='Active' AND h.hostalId='" . $booking[0]['hostal'] . "'");
             $hostals = $hostal_query->getArrayResult();
             if (empty($hostals)) {
                 return $this->redirect($this->generateUrl('mytrip_user_destination'));
             }
             $hostal_content_query = $em->createQuery("SELECT d FROM MytripAdminBundle:HostalContent d WHERE d.lan='{$lan}' AND d.hostal=" . $hostals[0]['hostalId']);
             $hostal_content = $hostal_content_query->getArrayResult();
             if (empty($hostal_content)) {
                 $hostal_content_query = $em->createQuery("SELECT d FROM MytripAdminBundle:HostalContent d WHERE d.lan='en' AND d.hostal=" . $hostals[0]['hostalId']);
                 $hostal_content = $hostal_content_query->getArrayResult();
             }
             $hostal_room = $em->createQuery("SELECT d FROM MytripAdminBundle:HostalRooms d WHERE d.hostal=" . $hostals[0]['hostalId'])->getArrayResult();
             $booking_price = $em->createQuery("SELECT d FROM MytripAdminBundle:BookingPrice d WHERE d.booking=" . $bookingid)->getArrayResult();
             $booking_transaction = $em->createQuery("SELECT d FROM MytripAdminBundle:BookingTransaction d WHERE d.booking=" . $bookingid)->getArrayResult();
             $buser = $session->get('user');
             $uid = $buser['userId'];
             /**Booking send to the hostal owner email id***/
             $setting = $em->createQuery("SELECT p FROM MytripAdminBundle:Settings p")->getArrayResult();
             $busers = $em->createQuery("SELECT p FROM MytripAdminBundle:User p  WHERE  p.userId='" . $uid . "'")->getArrayResult();
             if ($busers[0]['province'] != '') {
                 $province = $em->createQuery("SELECT d FROM MytripAdminBundle:States d WHERE d.sid=" . $busers[0]['province'])->getArrayResult();
             }
             if ($busers[0]['country'] != '') {
                 $country = $em->createQuery("SELECT d FROM MytripAdminBundle:Country d WHERE d.cid=" . $busers[0]['country'])->getArrayResult();
             }
             $user_name = $busers[0]['firstname'] . ' ' . $busers[0]['lastname'];
             $address = $busers[0]['address'] . ', ' . $busers[0]['city'] . ', ' . ($busers[0]['province'] != '' ? $province[0]['state'] . ', ' : '') . ($busers[0]['country'] != '' ? $country[0]['country'] : '');
             $emaillist = $em->getRepository('MytripAdminBundle:EmailList')->findOneBy(array('emailListId' => '12'));
             $emailcontent = $em->getRepository('MytripAdminBundle:EmailContent')->findOneBy(array('emailList' => '12', 'lan' => $lan));
             if (empty($emailcontent)) {
                 $emailcontent = $em->getRepository('MytripAdminBundle:EmailContent')->findOneBy(array('emailList' => '12', 'lan' => 'en'));
             }
             $fromdate = $booking[0][0]['fromDate'];
             $todate = $booking[0][0]['toDate'];
             if ($hostals[0]['ownerEmail'] != '') {
                 $message = str_replace(array('{owner_name}', '{hostal_name}', '{check_in}', '{check_out}', '{room_type}', '{rooms}', '{nights}', '{room_details}', '{username}', '{address}', '{room_price}', '{accommodation_cost}', '{reservation_charge}', '{total_cost}', '{ref_no}', '{paid_amount}', '{balance_amount}', '{refund_amount}'), array($hostal_content[0]['ownerName'], $hostal_content[0]['name'], $fromdate->format('Y-m-d H:i:s'), $todate->format('Y-m-d H:i:s'), $hostal_room[0]['roomtype'], $booking[0][0]['noOfRooms'], $booking[0][0]['noOfDays'], 'Guests:' . $hostal_room[0]['guests'] . ',Adults:' . $hostal_room[0]['adults'] . ',Child:' . $hostal_room[0]['child'], $user_name, $address, $hostal_room[0]['price'], number_format($bookingprice[0]['totalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format($bookingprice[0]['reservationCharge'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], "venacuba-" . $bookingid * 1024, number_format($bookingprice[0]['reservationTotalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge'] - $bookingprice[0]['reservationTotalPrice']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], $bookingcancel[0]['refundAmount'] . ' ' . $bookingcancel[0]['refundCurrency']), $emailcontent->getEmailContent());
                 $subject = str_replace(array('{owner_name}', '{hostal_name}', '{check_in}', '{check_out}', '{room_type}', '{rooms}', '{nights}', '{room_details}', '{username}', '{address}', '{room_price}', '{accommodation_cost}', '{reservation_charge}', '{total_cost}', '{ref_no}', '{paid_amount}', '{balance_amount}', '{refund_amount}'), array($hostal_content[0]['ownerName'], $hostal_content[0]['name'], $fromdate->format('Y-m-d H:i:s'), $todate->format('Y-m-d H:i:s'), $hostal_room[0]['roomtype'], $booking[0][0]['noOfRooms'], $booking[0][0]['noOfDays'], 'Guests:' . $hostal_room[0]['guests'] . ',Adults:' . $hostal_room[0]['adults'] . ',Child:' . $hostal_room[0]['child'], $user_name, $address, $hostal_room[0]['price'], number_format($bookingprice[0]['totalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format($bookingprice[0]['reservationCharge'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], "venacuba-" . $bookingid * 1024, number_format($bookingprice[0]['reservationTotalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge'] - $bookingprice[0]['reservationTotalPrice']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], $bookingcancel[0]['refundAmount'] . ' ' . $bookingcancel[0]['refundCurrency']), $emailcontent->getSubject());
                 $this->mailsend($emaillist->getFromname(), $emaillist->getFromemail(), $hostals[0]['ownerEmail'], $subject, $message, '');
             }
             if ($hostals[0]['cmcode'] != '' && $hostals[0]['mobile'] != '') {
                 /**Booking send to the hostal owner mobile***/
                 $prefix = $hostals[0]['cmcode'];
                 $number = $hostals[0]['mobile'];
                 $msg = urlencode($this->get('translator')->trans('Dear ' . $hostal_content[0]['ownerName'] . ', ' . $user_name . ' has cancelled room in the ' . $hostal_content[0]['name'] . '. Reference no is') . ' ' . "venacuba-" . $bookingid * 1024);
                 $URL = "http://api.smsacuba.com/api10allcountries.php?";
                 $URL .= "login="******"&password="******"&prefix=" . $prefix . "&number=" . $number . "&sender=Mytriptocuba" . "&msg=" . $msg;
                 $r = @file($URL);
                 $succmsg = $r[0];
             }
             /**Booking send to the Site Admin email id***/
             $emaillist = $em->getRepository('MytripAdminBundle:EmailList')->findOneBy(array('emailListId' => '11'));
             $emailcontent = $em->getRepository('MytripAdminBundle:EmailContent')->findOneBy(array('emailList' => '11', 'lan' => $lan));
             if (!empty($emailcontent)) {
                 $emailcontent = $em->getRepository('MytripAdminBundle:EmailContent')->findOneBy(array('emailList' => '11', 'lan' => 'en'));
             }
             $admin = $em->createQuery("SELECT p FROM MytripAdminBundle:Admin p WHERE p.adminId='1'")->getArrayResult();
             $message = str_replace(array('{admin_name}', '{owner_name}', '{hostal_name}', '{check_in}', '{check_out}', '{room_type}', '{rooms}', '{nights}', '{room_details}', '{username}', '{address}', '{room_price}', '{accommodation_cost}', '{reservation_charge}', '{total_cost}', '{ref_no}', '{paid_amount}', '{balance_amount}', '{refund_amount}'), array($admin[0]['name'], $hostal_content[0]['ownerName'], $hostal_content[0]['name'], $fromdate->format('Y-m-d H:i:s'), $todate->format('Y-m-d H:i:s'), $hostal_room[0]['roomtype'], $booking[0][0]['noOfRooms'], $booking[0][0]['noOfDays'], 'Guests:' . $hostal_room[0]['guests'] . ',Adults:' . $hostal_room[0]['adults'] . ',Child:' . $hostal_room[0]['child'], $user_name, $address, $hostal_room[0]['price'], number_format($bookingprice[0]['totalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format($bookingprice[0]['reservationCharge'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], "venacuba-" . $bookingid * 1024, number_format($bookingprice[0]['reservationTotalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge'] - $bookingprice[0]['reservationTotalPrice']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], $bookingcancel[0]['refundAmount'] . ' ' . $bookingcancel[0]['refundCurrency']), $emailcontent->getEmailContent());
             $subject = str_replace(array('{admin_name}', '{owner_name}', '{hostal_name}', '{check_in}', '{check_out}', '{room_type}', '{rooms}', '{nights}', '{room_details}', '{username}', '{address}', '{room_price}', '{accommodation_cost}', '{reservation_charge}', '{total_cost}', '{ref_no}', '{paid_amount}', '{balance_amount}', '{refund_amount}'), array($admin[0]['name'], $hostal_content[0]['ownerName'], $hostal_content[0]['name'], $fromdate->format('Y-m-d H:i:s'), $todate->format('Y-m-d H:i:s'), $hostal_room[0]['roomtype'], $booking[0][0]['noOfRooms'], $booking[0][0]['noOfDays'], 'Guests:' . $hostal_room[0]['guests'] . ',Adults:' . $hostal_room[0]['adults'] . ',Child:' . $hostal_room[0]['child'], $user_name, $address, $hostal_room[0]['price'], number_format($bookingprice[0]['totalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format($bookingprice[0]['reservationCharge'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], "venacuba-" . $bookingid * 1024, number_format($bookingprice[0]['reservationTotalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge'] - $bookingprice[0]['reservationTotalPrice']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], $bookingcancel[0]['refundAmount'] . ' ' . $bookingcancel[0]['refundCurrency']), $emailcontent->getSubject());
             $this->mailsend($emaillist->getFromname(), $emaillist->getFromemail(), $admin[0]['email'], $subject, $message, '');
             if ($admin[0]['cmcode'] != '' && $admin[0]['mobile'] != '') {
                 /**Booking send to the site admin mobile***/
                 $prefix = $admin[0]['cmcode'];
                 $number = $admin[0]['mobile'];
                 $msg = urlencode($this->get('translator')->trans('Dear ' . $admin[0]['name'] . ', ' . $user_name . ' has cancelled room in the ' . $hostal_content[0]['name'] . '. Reference no is') . ' ' . "venacuba-" . $bookingid * 1024);
                 $URL = "http://api.smsacuba.com/api10allcountries.php?";
                 $URL .= "login="******"&password="******"&prefix=" . $prefix . "&number=" . $number . "&sender=Mytriptocuba" . "&msg=" . $msg;
                 $r = @file($URL);
                 $succmsg = $r[0];
             }
             $this->get('session')->getFlashBag()->add('success', $this->get('translator')->trans('Your booking was cancelled successfully'));
             return $this->redirect($this->generateUrl('mytrip_user_bookinghistory'));
         } else {
             if ($bookingtransaction[0]['paymentType'] == "Paypal") {
                 return $this->redirect($this->generateUrl('mytrip_user_paypal_refund'));
             } elseif ($bookingtransaction[0]['paymentType'] == "Stripe") {
                 return $this->redirect($this->generateUrl('mytrip_user_stripe_refund'));
             } elseif ($bookingtransaction[0]['paymentType'] == "Skrill") {
                 return $this->redirect($this->generateUrl('mytrip_user_skrill_refund'));
             } elseif ($bookingtransaction[0]['paymentType'] == "Beanstream") {
                 return $this->redirect($this->generateUrl('mytrip_user_beanstream_refund'));
             } elseif ($bookingtransaction[0]['paymentType'] == "Globalone") {
                 return $this->redirect($this->generateUrl('mytrip_user_globalone_refund'));
             }
         }
     }
     $seo['title'] = "venacuba-" . $bookingid * 1024 . $request->get('bookingid') . " -  Details, " . $user[0]['firstname'] . " " . $user[0]['lastname'];
     $seo['metadescription'] = "venacuba-" . $bookingid * 1024 . $request->get('bookingid') . " -  Details, " . $user[0]['firstname'] . " " . $user[0]['lastname'];
     $seo['metakeywords'] = "venacuba-" . $bookingid * 1024 . $request->get('bookingid') . " -  Details, " . $user[0]['firstname'] . " " . $user[0]['lastname'];
     return $this->render('MytripUserBundle:Default:cancelbooking.html.php', array('seo' => $seo, 'betweendays' => $betweendays, 'booking' => $booking, 'user' => $user, 'language' => $this->language(), 'soacillink' => $this->getsociallink()));
 }
 public function globalonerefundAction(Request $request)
 {
     $session = $request->getSession();
     if ($session->get('refund') == '') {
         return $this->redirect($this->generateUrl('mytrip_user_homepage'));
     }
     $username = $session->get('user');
     $refunds = $session->get('refund');
     if (empty($username)) {
         return $this->redirect($this->generateUrl('mytrip_user_homepage'));
     }
     $lan = $session->get('language');
     $request->setLocale($lan);
     $em = $this->container->get('doctrine')->getManager();
     $bookingtransaction = $em->createQuery("SELECT p FROM MytripAdminBundle:BookingTransaction p WHERE p.booking='" . $refunds['refund_booking_id'] . "'")->getArrayResult();
     $booking = $em->createQuery("SELECT p FROM MytripAdminBundle:Booking p WHERE p.bookingId='" . $refunds['refund_booking_id'] . "'")->getArrayResult();
     if ($booking[0]['status'] != "Confirmed") {
         $this->get('session')->getFlashBag()->add('success', $this->get('translator')->trans('Your booking already cancelled or payment not proceed. Please check it.'));
         return $this->redirect($this->generateUrl('mytrip_user_bookinghistory'));
     }
     $paymentArray['amount'] = $refunds['cancelamount'];
     $paymentArray['transactionID'] = $bookingtransaction[0]['transactionId'];
     $paymentArray['orderno'] = "venacuba-" . $refunds['refund_booking_id'] * 1024;
     $paymentArray['currency'] = $bookingtransaction[0]['transactionCurrency'];
     $terminalid = $this->container->get('mytrip_admin.helper.globalone')->getOption('terminalid');
     $secret = $this->container->get('mytrip_admin.helper.globalone')->getOption('secret');
     $multicur = $this->container->get('mytrip_admin.helper.globalone')->getOption('multicurrency');
     $testAccount = $this->container->get('mytrip_admin.helper.globalone')->getOption('testaccount');
     $gateway = 'globalone';
     $autoready = '';
     $amount = $paymentArray['amount'];
     # Set up the refund object
     $refund = new \XmlRefundRequest($terminalid, $paymentArray['orderno'], $paymentArray['amount'], 'User', 'Cancel the ticket');
     $refund->SetUniqueRef($paymentArray['transactionID']);
     if ($autoready) {
         $refund->SetAutoReady($autoready);
     }
     # Perform the refund and read in the result
     $response = $refund->ProcessRequestToGateway($secret, $testAccount, $gateway);
     //$expectedResponseHash = md5($terminalId . $response->UniqueRef() . ($multicur == true ? $currency : '') . $amount . $response->DateTime() . $response->ResponseCode() . $response->ResponseText() . $secret);
     if ($response->IsError()) {
         $this->get('session')->getFlashBag()->add('success', $this->get('translator')->trans('Sorry, Transaction has some problem. Please try again later or contact admin'));
         return $this->redirect($this->generateUrl('mytrip_user_bookinghistory'));
     } else {
         //elseif($expectedResponseHash == $response->Hash()) {
         switch ($response->ResponseCode()) {
             case "A":
                 # -- If using local database, update order as (partially) Refunded.
                 $responseText = $response->ResponseText();
                 $UniqueRef = $response->UniqueRef();
                 $cancel = new \Mytrip\AdminBundle\Entity\BookingCancel();
                 $cancel->setBooking($this->getDoctrine()->getRepository('MytripAdminBundle:Booking')->find($refunds['refund_booking_id']));
                 $cancel->setCancelPercentage($refunds['cancel_percentage']);
                 $cancel->setCancelDate(new \DateTime(date('Y-m-d')));
                 $cancel->setRefundReferenceno($UniqueRef);
                 $cancel->setRefundAmount($refunds['cancelamount']);
                 $cancel->setRefundDate(new \DateTime(date('Y-m-d')));
                 $cancel->setCreatedDate(new \DateTime(date('Y-m-d')));
                 $cancel->setRefundCurrency($bookingtransaction[0]['transactionCurrency']);
                 $cancel->setStatus('Refund');
                 $em->persist($cancel);
                 $em->flush();
                 $em->createQuery("UPDATE MytripAdminBundle:Booking p SET p.status='Cancelled' WHERE p.bookingId='" . $refunds['refund_booking_id'] . "'")->execute();
                 $bookingid = $refunds['refund_booking_id'];
                 //,IDENTITY(d.rooms) AS
                 $booking = $em->createQuery("SELECT d,IDENTITY(d.hostal) AS hostal FROM MytripAdminBundle:Booking d WHERE d.bookingId=" . $bookingid)->getArrayResult();
                 $booking_info = $em->createQuery("SELECT d FROM MytripAdminBundle:BookingInfo d WHERE d.booking=" . $bookingid)->getArrayResult();
                 $this->mailsend("Mytrip Cuba", "*****@*****.**", $booking_info[0]['email'], $this->get('translator')->trans('Reservation Cancel Details'), '');
                 $login = $this->container->get('mytrip_admin.helper.sms')->getOption('smsusername');
                 $password = $this->container->get('mytrip_admin.helper.sms')->getOption('smspassword');
                 $prefix = $booking_info[0]['cmcode'];
                 $number = $booking_info[0]['mobile'];
                 $msg = urlencode($this->get('translator')->trans('Dear Customer, Your booking cancelled successfully for the reference no is') . ' ' . ("venacuba-" . $bookingid * 1024) . $this->get('translator')->trans('Refund amount is') . ' ' . $refunds['cancelamount'] . $bookingtransaction[0]['transactionCurrency'] . ' ' . $this->get('translator')->trans('Refund transaction id is') . ' ' . $result['trnId']);
                 $URL = "http://api.smsacuba.com/api10allcountries.php?";
                 $URL .= "login="******"&password="******"&prefix=" . $prefix . "&number=" . $number . "&sender=Mytriptocuba" . "&msg=" . $msg;
                 $r = @file($URL);
                 $succmsg = $r[0];
                 $session->remove('refund');
                 $bookingcancel = $em->createQuery("SELECT p FROM MytripAdminBundle:BookingCancel p WHERE p.booking='" . $booking[0][0]['bookingId'] . "'")->getArrayResult();
                 $hostal_query = $em->createQuery("SELECT h FROM MytripAdminBundle:Hostal h WHERE h.status='Active' AND h.hostalId='" . $booking[0]['hostal'] . "'");
                 $hostals = $hostal_query->getArrayResult();
                 if (empty($hostals)) {
                     return $this->redirect($this->generateUrl('mytrip_user_destination'));
                 }
                 $hostal_content_query = $em->createQuery("SELECT d FROM MytripAdminBundle:HostalContent d WHERE d.lan='{$lan}' AND d.hostal=" . $hostals[0]['hostalId']);
                 $hostal_content = $hostal_content_query->getArrayResult();
                 if (empty($hostal_content)) {
                     $hostal_content_query = $em->createQuery("SELECT d FROM MytripAdminBundle:HostalContent d WHERE d.lan='en' AND d.hostal=" . $hostals[0]['hostalId']);
                     $hostal_content = $hostal_content_query->getArrayResult();
                 }
                 /*
                  if($hostal_content[0]['province']!=''){
                  
                     $province=$em->createQuery("SELECT d FROM MytripAdminBundle:States d WHERE d.sid=".$hostal_content[0]['province'])->getArrayResult();
                 }
                 if($hostal_content[0]['country']!=''){
                     $country=$em->createQuery("SELECT d FROM MytripAdminBundle:Country d WHERE d.cid=".$hostal_content[0]['country'])->getArrayResult();
                 }
                 */
                 $address = $hostal_content[0]['address'] . ', ' . $hostal_content[0]['city'] . ', ' . ($hostal_content[0]['province'] != '' ? $province[0]['state'] . ', ' : '') . ($hostal_content[0]['country'] != '' ? $country[0]['country'] : '');
                 // booking rooms data.
                 $rooms_data = '| ';
                 foreach ($booking[0][0]['rooms'] as $room) {
                     $rooms_data .= $room['roomtype'] . ' | ';
                 }
                 //$hostal_room = $em->createQuery("SELECT d FROM MytripAdminBundle:HostalRooms d WHERE d.hostal=".$hostals[0]['hostalId'])->getArrayResult();
                 $bookingprice = $em->createQuery("SELECT d FROM MytripAdminBundle:BookingPrice d WHERE d.booking=" . $bookingid)->getArrayResult();
                 $booking_transaction = $em->createQuery("SELECT d FROM MytripAdminBundle:BookingTransaction d WHERE d.booking=" . $bookingid)->getArrayResult();
                 $buser = $session->get('user');
                 $uid = $buser['userId'];
                 /**Booking send to the hostal owner email id***/
                 $setting = $em->createQuery("SELECT p FROM MytripAdminBundle:Settings p")->getArrayResult();
                 $busers = $em->createQuery("SELECT p FROM MytripAdminBundle:User p  WHERE  p.userId='" . $uid . "'")->getArrayResult();
                 //if($busers[0]['province']!=''){
                 //	$province=$em->createQuery("SELECT d FROM MytripAdminBundle:States d WHERE d.sid=".$busers[0]['province'])->getArrayResult();
                 //}
                 //if($busers[0]['country']!=''){
                 //	$country=$em->createQuery("SELECT d FROM MytripAdminBundle:Country d WHERE d.cid=".$busers[0]['country'])->getArrayResult();
                 //}
                 $user_name = $busers[0]['firstname'] . ' ' . $busers[0]['lastname'];
                 //$address=$busers[0]['address']." ".$busers[0]['address1'].', '.$busers[0]['city'].', '.($busers[0]['province']!=''?$province[0]['state'].', ':'').($busers[0]['country']!=''?$country[0]['country']:'');
                 $emaillist = $em->getRepository('MytripAdminBundle:EmailList')->findOneBy(array('emailListId' => '12'));
                 $emailcontent = $em->getRepository('MytripAdminBundle:EmailContent')->findOneBy(array('emailList' => '12', 'lan' => $lan));
                 if (empty($emailcontent)) {
                     $emailcontent = $em->getRepository('MytripAdminBundle:EmailContent')->findOneBy(array('emailList' => '12', 'lan' => 'en'));
                 }
                 $from_date = $booking[0][0]['fromDate'];
                 $to_date = $booking[0][0]['toDate'];
                 if ($hostals[0]['ownerEmail'] != '') {
                     $message = str_replace(array('{owner_name}', '{hostal_name}', '{check_in}', '{check_out}', '{rooms}', '{nights}', '{username}', '{address}', '{accommodation_cost}', '{reservation_charge}', '{total_cost}', '{ref_no}', '{paid_amount}', '{balance_amount}', '{refund_amount}'), array($hostal_content[0]['ownerName'], $hostal_content[0]['name'], $from_date->format('Y-m-d H:i:s'), $to_date->format('Y-m-d H:i:s'), $rooms_data, $booking[0][0]['noOfDays'], $user_name, $address, number_format($bookingprice[0]['totalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format($bookingprice[0]['reservationCharge'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], "venacuba-" . $bookingid * 1024, number_format($bookingprice[0]['reservationTotalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge'] - $bookingprice[0]['reservationTotalPrice']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], $bookingcancel[0]['refundAmount'] . ' ' . $bookingcancel[0]['refundCurrency']), $emailcontent->getEmailContent());
                     $subject = str_replace(array('{owner_name}', '{hostal_name}', '{check_in}', '{check_out}', '{rooms}', '{nights}', '{username}', '{address}', '{accommodation_cost}', '{reservation_charge}', '{total_cost}', '{ref_no}', '{paid_amount}', '{balance_amount}', '{refund_amount}'), array($hostal_content[0]['ownerName'], $hostal_content[0]['name'], $from_date->format('Y-m-d H:i:s'), $to_date->format('Y-m-d H:i:s'), $rooms_data, $booking[0][0]['noOfDays'], $user_name, $address, number_format($bookingprice[0]['totalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format($bookingprice[0]['reservationCharge'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], "venacuba-" . $bookingid * 1024, number_format($bookingprice[0]['reservationTotalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge'] - $bookingprice[0]['reservationTotalPrice']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], $bookingcancel[0]['refundAmount'] . ' ' . $bookingcancel[0]['refundCurrency']), $emailcontent->getSubject());
                     $this->mailsend($emaillist->getFromname(), $emaillist->getFromemail(), $hostals[0]['ownerEmail'], $subject, $message, '', 0, '', 'email');
                 }
                 if ($hostals[0]['cmcode'] != '' && $hostals[0]['mobile'] != '') {
                     /**Booking send to the hostal owner mobile***/
                     $prefix = $hostals[0]['cmcode'];
                     $number = $hostals[0]['mobile'];
                     $msg = urlencode($this->get('translator')->trans('Dear ' . $hostal_content[0]['ownerName'] . ', ' . $user_name . ' has cancelled room in the ' . $hostal_content[0]['name'] . '. Reference no is') . ' ' . "venacuba-" . $bookingid * 1024);
                     $URL = "http://api.smsacuba.com/api10allcountries.php?";
                     $URL .= "login="******"&password="******"&prefix=" . $prefix . "&number=" . $number . "&sender=Mytriptocuba" . "&msg=" . $msg;
                     $r = @file($URL);
                     $succmsg = $r[0];
                 }
                 /**Booking send to the Site Admin email id***/
                 $emaillist = $em->getRepository('MytripAdminBundle:EmailList')->findOneBy(array('emailListId' => '13'));
                 $emailcontent = $em->getRepository('MytripAdminBundle:EmailContent')->findOneBy(array('emailList' => '13', 'lan' => $lan));
                 if (empty($emailcontent)) {
                     $emailcontent = $em->getRepository('MytripAdminBundle:EmailContent')->findOneBy(array('emailList' => '13', 'lan' => 'en'));
                 }
                 $admin = $em->createQuery("SELECT p FROM MytripAdminBundle:Admin p WHERE p.adminId='1'")->getArrayResult();
                 $message = str_replace(array('{admin_name}', '{owner_name}', '{hostal_name}', '{check_in}', '{check_out}', '{rooms}', '{nights}', '{username}', '{address}', '{accommodation_cost}', '{reservation_charge}', '{total_cost}', '{ref_no}', '{paid_amount}', '{balance_amount}', '{refund_amount}'), array($admin[0]['name'], $hostal_content[0]['ownerName'], $hostal_content[0]['name'], $from_date->format('Y-m-d H:i:s'), $to_date->format('Y-m-d H:i:s'), $rooms_data, $booking[0][0]['noOfDays'], $user_name, $address, number_format($bookingprice[0]['totalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format($bookingprice[0]['reservationCharge'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], "venacuba-" . $bookingid * 1024, number_format($bookingprice[0]['reservationTotalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge'] - $bookingprice[0]['reservationTotalPrice']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], $bookingcancel[0]['refundAmount'] . ' ' . $bookingcancel[0]['refundCurrency']), $emailcontent->getEmailContent());
                 $subject = str_replace(array('{admin_name}', '{owner_name}', '{hostal_name}', '{check_in}', '{check_out}', '{rooms}', '{nights}', '{username}', '{address}', '{accommodation_cost}', '{reservation_charge}', '{total_cost}', '{ref_no}', '{paid_amount}', '{balance_amount}', '{refund_amount}'), array($admin[0]['name'], $hostal_content[0]['ownerName'], $hostal_content[0]['name'], $from_date->format('Y-m-d H:i:s'), $to_date->format('Y-m-d H:i:s'), $rooms_data, $booking[0][0]['noOfDays'], $user_name, $address, number_format($bookingprice[0]['totalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format($bookingprice[0]['reservationCharge'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], "venacuba-" . $bookingid * 1024, number_format($bookingprice[0]['reservationTotalPrice'] * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], number_format(($bookingprice[0]['totalPrice'] + $bookingprice[0]['reservationCharge'] - $bookingprice[0]['reservationTotalPrice']) * $bookingprice[0]['conversionRate'], 2) . ' ' . $bookingprice[0]['conversionCurrency'], $bookingcancel[0]['refundAmount'] . ' ' . $bookingcancel[0]['refundCurrency']), $emailcontent->getSubject());
                 $this->mailsend($emaillist->getFromname(), $emaillist->getFromemail(), $hostals[0]['ownerEmail'], $subject, $message, '', 0, '', 'email');
                 if ($admin[0]['cmcode'] != '' && $admin[0]['mobile'] != '') {
                     /**Booking send to the site admin mobile***/
                     $prefix = $admin[0]['cmcode'];
                     $number = $admin[0]['mobile'];
                     $msg = urlencode($this->get('translator')->trans('Dear ' . $admin[0]['name'] . ', ' . $user_name . ' has cancelled room in the ' . $hostal_content[0]['name'] . '. Reference no is') . ' ' . "venacuba-" . $bookingid * 1024);
                     $URL = "http://api.smsacuba.com/api10allcountries.php?";
                     $URL .= "login="******"&password="******"&prefix=" . $prefix . "&number=" . $number . "&sender=Mytriptocuba" . "&msg=" . $msg;
                     $r = @file($URL);
                     $succmsg = $r[0];
                 }
                 $this->get('session')->getFlashBag()->add('success', $this->get('translator')->trans('Your booking was cancelled successfully'));
                 return $this->redirect($this->generateUrl('mytrip_user_bookinghistory'));
                 break;
             case "R":
             case "D":
             case "C":
             case "S":
             default:
                 # -- If using local database, update order as declined/failed --
                 $this->get('session')->getFlashBag()->add('success', $this->get('translator')->trans('Sorry, Transaction has some problem. Please try again later or contact admin'));
                 return $this->redirect($this->generateUrl('mytrip_user_bookinghistory'));
         }
     }
     /*} else {
     			$this->get('session')->getFlashBag()->add('success',$this->get('translator')->trans('Sorry, Transaction has some problem. Please try again later or contact admin'));
     			return $this->redirect($this->generateUrl('mytrip_user_bookinghistory'));
     		}*/
 }