├── LICENSE
├── README.md
├── barcode.php
├── book_ajax.php
├── booking_complete.php
├── booking_complete_print.php
├── booking_payment.php
├── booking_summary.php
├── booking_tickets.php
├── booking_voucher.php
├── calendar.php
├── calendar_day.php
├── calendar_month.php
├── captcha_verify.php
├── cart_ajax.php
├── check.php
├── countries_list.php
├── edit_pax.php
├── error.php
├── favicon.ico
├── frame.php
├── gift_card.php
├── gift_card_ajax.php
├── gift_card_details.php
├── gift_card_not_found.php
├── gift_card_print.php
├── gift_card_receipt.php
├── htaccess-default
├── index.php
├── index_ajax.php
├── js
├── ie8.polyfils.map
├── ie8.polyfils.min.js
├── iframeResizer.contentWindow.map
├── iframeResizer.contentWindow.min.js
├── iframeResizer.map
└── iframeResizer.min.js
├── license.txt
├── modal.php
├── page_404.php
├── page_about.php
├── page_book.php
├── page_contact.php
├── page_content.php
├── page_cookies.php
├── page_details.php
├── page_order.php
├── page_privacy.php
├── page_review.php
├── page_terms.php
├── page_waiver.php
├── pickup_ajax.php
├── recaptchalib.php
├── reviews_ajax.php
├── rezgo
├── include
│ ├── class.rezgo.php
│ ├── config.rezgo.php-default
│ ├── countries_list.php
│ ├── fetch.rezgo.php
│ └── page_header.php
├── paypal
│ ├── cancel.php
│ └── return.php
├── php_paypal
│ ├── includes
│ │ ├── config.inc.php
│ │ └── global_config.inc.php
│ ├── index.php
│ ├── ipn
│ │ └── ipn.php
│ └── process.php
└── templates
│ └── default
│ ├── 404page.php
│ ├── about.php
│ ├── book.php
│ ├── booking_complete.php
│ ├── booking_complete_print.php
│ ├── booking_order.php
│ ├── booking_order_print.php
│ ├── booking_payment.php
│ ├── booking_tickets.php
│ ├── booking_voucher.php
│ ├── calendar_day.php
│ ├── calendar_month.php
│ ├── contact.php
│ ├── content_page.php
│ ├── css
│ ├── bootstrap-datepicker.min.css
│ ├── bootstrap-modal.css
│ ├── bootstrap-select.css
│ ├── bootstrap-select.min.css
│ ├── bootstrap-theme.css
│ ├── bootstrap-theme.min.css
│ ├── bootstrap.css
│ ├── bootstrap.min.css
│ ├── chosen.css
│ ├── chosen.min.css
│ ├── cookieconsent.css
│ ├── font-awesome-ie7.css
│ ├── font-awesome.css
│ ├── font-awesome.min.css
│ ├── header.css
│ ├── intlTelInput.css
│ ├── responsive-calendar.css
│ ├── responsive-calendar.rezgo.css
│ ├── rez-narrow.css
│ ├── rezgo-ie9.css
│ ├── rezgo-modal.css
│ ├── rezgo.css
│ └── signature-pad.css
│ ├── edit_pax.php
│ ├── error.php
│ ├── fonts
│ ├── FontAwesome.otf
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.svg
│ ├── fontawesome-webfont.ttf
│ ├── fontawesome-webfont.woff
│ ├── glyphicons-halflings-regular.eot
│ ├── glyphicons-halflings-regular.svg
│ ├── glyphicons-halflings-regular.ttf
│ └── glyphicons-halflings-regular.woff
│ ├── footer.php
│ ├── frame_footer.php
│ ├── frame_header.php
│ ├── gift_card.php
│ ├── gift_card_details.php
│ ├── gift_card_not_found.php
│ ├── gift_card_print.php
│ ├── gift_card_receipt.php
│ ├── gift_card_redeem.php
│ ├── header.php
│ ├── img
│ ├── chosen-sprite.png
│ ├── chosen-sprite@2x.png
│ ├── cvv_cards.png
│ ├── flags.png
│ ├── flags@2x.png
│ ├── logos
│ │ ├── american express.png
│ │ ├── american express.svg
│ │ ├── diners.png
│ │ ├── discover.png
│ │ ├── discover.svg
│ │ ├── mastercard.png
│ │ ├── mastercard.svg
│ │ ├── paypal.png
│ │ ├── paypal.svg
│ │ ├── paypal_pay.png
│ │ ├── ta-ratings
│ │ │ ├── s0.5-MCID-0.gif
│ │ │ ├── s1.0-MCID-0.gif
│ │ │ ├── s1.5-MCID-0.gif
│ │ │ ├── s2.0-MCID-0.gif
│ │ │ ├── s2.5-MCID-0.gif
│ │ │ ├── s3.0-MCID-0.gif
│ │ │ ├── s3.5-MCID-0.gif
│ │ │ ├── s4.0-MCID-0.gif
│ │ │ ├── s4.5-MCID-0.gif
│ │ │ └── s5.0-MCID-0.gif
│ │ ├── tmt-logo.png
│ │ ├── tripadvisor.png
│ │ ├── visa.png
│ │ └── visa.svg
│ └── rezgo-logo.svg
│ ├── index.php
│ ├── index_ajax.php
│ ├── js
│ ├── bootstrap-birthday.js
│ ├── bootstrap-select.js
│ ├── bootstrap-select.min.js
│ ├── bootstrap.js
│ ├── bootstrap.min.js
│ ├── chosen.jquery.js
│ ├── chosen.jquery.min.js
│ ├── html5shiv.min.js
│ ├── intlTelInput
│ │ ├── intlTelInput.js
│ │ ├── intlTelInput.min.js
│ │ └── utils.js
│ ├── jquery.form.js
│ ├── jquery.history.js
│ ├── jquery.min.js
│ ├── jquery.readmore.min.js
│ ├── jquery.selectboxes.js
│ ├── jquery.selectboxes.min.js
│ ├── jquery.selectboxes.pack.js
│ ├── jquery.validate.min.js
│ ├── respond.min.js
│ ├── responsive-calendar.js
│ ├── responsive-calendar.min.js
│ ├── signature_pad.min.js
│ └── signature_pad_remove_blank.js
│ ├── modal.php
│ ├── order.php
│ ├── privacy.php
│ ├── review_list.php
│ ├── terms.php
│ ├── topbar_order.php
│ ├── tour_details.php
│ ├── waiver.php
│ └── waiver_print.php
├── robots.php
├── shorturl_ajax.php
├── sitemap.php
├── waiver_ajax.php
└── waiver_print.php
/README.md:
--------------------------------------------------------------------------------
1 | # Rezgo Parser
2 |
3 | VERSION
4 | 3.0.2
5 |
6 | AUTHOR
7 | Kevin Campbell
8 | John McDonald
9 | Drishti Trivedi
10 |
11 | INSTALL INSTRUCTIONS
12 |
13 | Decompress the Rezgo Parser into the web root directory.
14 | Rename the /rezgo/include/config.rezgo.php-default to config.rezgo.php.
15 | Edit the config.rezgo.php file and add your CID and API_KEY, as well as your recaptcha API keys if desired.
16 | Rename htaccess-default to .htaccess
17 | (you may need to edit this file further if you are installing in a sub-directory)
18 | Make sure your apache config Options allow MultiViews.
19 |
20 | VERSION HISTORY
21 |
22 | 3.0.5
23 | - Removing GA code
24 | 3.0.4
25 | - Bug fixes
26 | 3.0.3
27 | - Version fix
28 | 3.0.2
29 | - Fixes to pages and reviews
30 | 3.0.1
31 | - Bug fixes
32 | 3.0.0
33 | - Updates to bring parser inline with white label
34 | 2.5.0
35 | - Bug fixes and updates
36 | 2.4.0
37 | - Initial release.
38 |
--------------------------------------------------------------------------------
/book_ajax.php:
--------------------------------------------------------------------------------
1 | sendBooking(null, 'a=get_paypal_token&paypal_return_url=https://'.$_SERVER['HTTP_HOST'].REZGO_DIR.'/paypal');
15 | } else {
16 | $result = $site->sendBookingOrder(null, 'get_paypal_tokenhttps://'.$_SERVER['HTTP_HOST'].REZGO_DIR.'/paypal');
17 | }
18 |
19 | $response = ($site->exists($result->paypal_token)) ? $result->paypal_token : 0;
20 |
21 | } elseif($_POST['rezgoAction'] == 'book') {
22 |
23 | $result = $site->sendBookingOrder();
24 |
25 | if ( $result->status == 1 ) {
26 |
27 | // start a session so we can save the analytics code
28 | session_start();
29 |
30 | $response = 'TXID|*|' . $site->encode($result->trans_num);
31 |
32 | // Set a session variable for the analytics to carry to the receipt's first view
33 | $_SESSION['REZGO_CONVERSION_ANALYTICS'] = $result->analytics_convert;
34 |
35 | // Add a blank script tag so that this session is detected on the receipt
36 | $_SESSION['REZGO_CONVERSION_ANALYTICS'] .= '';
37 |
38 | } else {
39 |
40 | // this booking failed, send a status code back to the requesting page
41 | if ($result->message == 'Availability Error') { // || $result->message == 'Fatal Error'
42 | $response = 2;
43 | } else if ($result->message == 'Payment Declined' || $result->message == 'Invalid Card Checksum' || $result->message == 'Invalid Card Expiry') {
44 | $response = 3;
45 | } else if ($result->message == 'Account Error') {
46 | // hard system error, no commit requests are allowed if there is no valid payment method
47 | $response = 5;
48 | } else if ($result->message == 'Fatal Error' && $result->error == 'Expected total did not match actual total.') {
49 | $response = 6;
50 | } else {
51 | $response = 4;
52 | }
53 |
54 | }
55 |
56 | }
57 |
58 | if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
59 | // ajax response if we requested this page correctly
60 | echo $response;
61 | } else {
62 | // if, for some reason, the ajax form submit failed, then we want to handle the user anyway
63 |
64 | die ('Something went wrong during booking. Your booking may have still been completed.');
65 |
66 | if ($result->status == 1) {
67 | $site->sendTo("/complete/".$trans_num);
68 | } else {
69 | echo 'ERROR: '.$result->message;
70 | }
71 | }
72 | ?>
--------------------------------------------------------------------------------
/booking_complete.php:
--------------------------------------------------------------------------------
1 | decode($_REQUEST['trans_num']);
11 |
12 | // send the user home if they shoulden't be here
13 | if(!$trans_num) $site->sendTo($site->base."/booking-not-found");
14 |
15 | // start a session so we can grab the analytics code
16 | session_start();
17 |
18 | // empty the cart
19 | $site->clearCart();
20 |
21 | $site->setMetaTags('');
22 |
23 | ?>
24 |
25 | getTemplate('frame_header')?>
26 |
27 |
28 |
29 |
30 | getTemplate('booking_order')?>
31 |
32 | getBookingCurrency()."'
39 | });
40 | ";
41 | ?>
42 |
43 |
44 |
45 | getTemplate('booking_complete')?>
46 |
47 |
48 |
49 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/booking_complete_print.php:
--------------------------------------------------------------------------------
1 | decode($_REQUEST['trans_num']);
11 |
12 | // send the user home if they shoulden't be here
13 | if(!$trans_num) $site->sendTo($site->base."/booking-not-found");
14 |
15 | $site->setMetaTags('');
16 |
17 | ?>
18 |
19 | getTemplate('booking_complete_print.php')*/?>
20 |
21 |
22 |
23 | getTemplate('booking_order_print.php')?>
24 |
25 |
26 |
27 | getTemplate('booking_complete_print.php')?>
28 |
29 |
30 |
--------------------------------------------------------------------------------
/booking_payment.php:
--------------------------------------------------------------------------------
1 |
9 |
10 | getTemplate('booking_payment')?>
--------------------------------------------------------------------------------
/booking_tickets.php:
--------------------------------------------------------------------------------
1 | setMetaTags('');
10 | ?>
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | Booking Tickets
19 |
20 |
21 |
22 |
23 |
24 |
25 | exists($site->getStyles())) { echo ''; } ?>
26 |
27 |
28 |
29 |
30 |
34 |
35 | getTemplate('booking_tickets')?>
36 |
37 |
--------------------------------------------------------------------------------
/booking_voucher.php:
--------------------------------------------------------------------------------
1 | setMetaTags('');
10 | ?>
11 |
12 | getTemplate('booking_voucher')?>
--------------------------------------------------------------------------------
/calendar.php:
--------------------------------------------------------------------------------
1 |
9 |
10 | getTemplate('calendar')?>
--------------------------------------------------------------------------------
/calendar_day.php:
--------------------------------------------------------------------------------
1 |
10 |
11 | getTemplate('calendar_day')?>
--------------------------------------------------------------------------------
/calendar_month.php:
--------------------------------------------------------------------------------
1 | getTours('t=com&q='.$_REQUEST['com'].'&d='.$_REQUEST['date'].'&limit=1', 0);
15 |
16 | // if the item does not exist, we want to generate an error message and change the page accordingly
17 | if(!$item) {
18 | $item = new stdClass();
19 | $item->unavailable = 1;
20 | $item->name = 'Item Not Available';
21 | }
22 |
23 | ?>
24 |
25 | getTemplate('calendar_month')?>
--------------------------------------------------------------------------------
/captcha_verify.php:
--------------------------------------------------------------------------------
1 | REZGO_CAPTCHA_PRIV_KEY, 'response' => $captcha_token);
15 |
16 | // initialize connection
17 | $ch = curl_init($captcha_endpoint);
18 | // standard i/o streams
19 | curl_setopt($ch, CURLOPT_VERBOSE, 1);
20 | // turn off the server and peer verification
21 | curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
22 | curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
23 | // set to return data to string ($response)
24 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
25 | // regular post
26 | curl_setopt($ch, CURLOPT_POST, 1);
27 |
28 | // send the query
29 | // curl_setopt($ch, CURLOPT_POSTFIELDS, $captcha_token);
30 | curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($captcha_params));
31 |
32 | // execute cUrl session
33 | $response = curl_exec($ch);
34 |
35 | // check if any error occurred
36 | if(!curl_errno($ch)) {
37 | return $response;
38 | }
39 |
40 | curl_close($ch);
41 |
42 | }
43 |
44 | echo verify_captcha($_REQUEST['token']);
45 |
46 | ?>
--------------------------------------------------------------------------------
/cart_ajax.php:
--------------------------------------------------------------------------------
1 | getCompanyDetails();
8 |
9 | $response = '';
10 |
11 | $pax_totals = array(
12 | 'adult_num' => 'price_adult',
13 | 'child_num' => 'price_child',
14 | 'senior_num' => 'price_senior',
15 | 'price4_num' => 'price4',
16 | 'price5_num' => 'price5',
17 | 'price6_num' => 'price6',
18 | 'price7_num' => 'price7',
19 | 'price8_num' => 'price8',
20 | 'price9_num' => 'price9'
21 | );
22 |
23 | // get reviews
24 | if($_REQUEST['action'] == 'cart') {
25 |
26 | $pickup_split = explode("-", $_REQUEST['pickup_id']);
27 | $pickup = $pickup_split[0];
28 |
29 | $cart_update = $site->pickupCart(($_REQUEST['book_id'] - 1), $pickup);
30 |
31 | $cart = $site->getCart(1);
32 |
33 | foreach($cart as $item) {
34 |
35 | $site->readItem($item);
36 |
37 | if ((int) $item->uid == $_REQUEST['item_id'] && (int) $item->num == $_REQUEST['book_id']) {
38 |
39 | $response .= '
40 |
41 |
42 |
43 | |
';
44 |
45 | $line_items = $site->getTourLineItems();
46 |
47 | foreach($line_items as $line) {
48 | unset($label_add);
49 |
50 | if($site->exists($line->percent) || $site->exists($line->multi)) {
51 | $label_add = ' (';
52 |
53 | if($site->exists($line->percent)) {
54 | $label_add .= $line->percent.'%';
55 | }
56 |
57 | if($site->exists($line->multi)) {
58 |
59 | if(!$site->exists($line->percent)) {
60 | $label_add .= $site->formatCurrency($line->multi);
61 | }
62 |
63 | if($site->exists($line->meta)) {
64 |
65 | $line_pax = 0;
66 |
67 | foreach ($pax_totals as $p_num => $p_rate) {
68 |
69 | if ( (int) $item->{$p_num} > 0 && ((float) $item->date->{$p_rate} > (float) $line->meta)) {
70 | $line_pax += (int) $item->{$p_num};
71 | }
72 |
73 | }
74 |
75 | $label_add .= ' x '.$line_pax;
76 |
77 | } else {
78 |
79 | $label_add .= ' x '.$item->pax;
80 |
81 | }
82 |
83 | }
84 |
85 | $label_add .= ')';
86 | }
87 |
88 | $response .= '
89 |
90 |
91 | ';
92 | if ($line->source == 'bundle') {
93 | $response .= ' '.$line->label.''.$label_add.'';
94 | } else {
95 | $response .= ''.$line->label.''.$label_add.'';
96 | }
97 |
98 | $response .= '
99 | |
100 |
101 | '.$site->formatCurrency($line->amount).'
102 | |
103 |
104 | ';
105 | }
106 |
107 | }
108 |
109 | }
110 |
111 | }
112 |
113 | if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
114 | // ajax response if we requested this page correctly
115 | echo $response;
116 | } else {
117 | // if, for some reason, the ajax form submit failed, then we want to handle the user anyway
118 | die ('Something went wrong getting reviews.');
119 | }
120 |
121 | ?>
--------------------------------------------------------------------------------
/check.php:
--------------------------------------------------------------------------------
1 | 1
--------------------------------------------------------------------------------
/edit_pax.php:
--------------------------------------------------------------------------------
1 |
10 |
11 | getTemplate('edit_pax')?>
--------------------------------------------------------------------------------
/error.php:
--------------------------------------------------------------------------------
1 | setPageTitle('System Error');
11 | ?>
12 |
13 | getTemplate('frame_header')?>
14 |
15 | getTemplate('error')?>
16 |
17 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rezgo/rezgo-parser/288c8129d96234df2a813be3e758d9b4be7eeff6/favicon.ico
--------------------------------------------------------------------------------
/frame.php:
--------------------------------------------------------------------------------
1 | getCompanyDetails();
11 | // remove the 'mode=page_type' from the query string we want to pass on
12 | $_SERVER['QUERY_STRING'] = preg_replace("/([&|?])?mode=([a-zA-Z_]+)/", "", $_SERVER['QUERY_STRING']);
13 |
14 | // set a default page title
15 | $site->setPageTitle((($_REQUEST['title']) ? $_REQUEST['title'] : ucwords(str_replace("page_", "", $_REQUEST['mode']))));
16 |
17 | if ($_REQUEST['mode'] == 'page_details') {
18 | /*
19 | this query searches for an item based on a com id (limit 1 since we only want one response)
20 | then adds a $f (filter) option by uid in case there is an option id, and adds a date in case there is a date set
21 | */
22 |
23 | $item = $site->getTours('t=com&q='.$_REQUEST['com'].'&f[uid]='.$_REQUEST['option'].'&d='.$_REQUEST['date'].'&limit=1', 0);
24 |
25 | // if the item does not exist, we want to generate an error message and change the page accordingly
26 | if (!$item) {
27 | $item = new stdClass();
28 | $item->unavailable = 1;
29 | $item->name = 'Item Not Available';
30 | }
31 |
32 | if ($item->seo->seo_title != '') {
33 | $page_title = $item->seo->seo_title;
34 | } else {
35 | $page_title = $item->item;
36 | }
37 |
38 | if ($item->seo->introduction != '') {
39 | $page_description = $item->seo->introduction;
40 | } else {
41 | $page_description = strip_tags($item->details->overview);
42 | }
43 |
44 | $site->setPageTitle($page_title);
45 |
46 | $site->setMetaTags('
47 |
48 |
49 |
50 |
51 |
52 |
53 | ');
54 | } elseif ($_REQUEST['mode'] == 'page_content') {
55 | $title = $site->getPageName($page);
56 |
57 | $site->setPageTitle($title);
58 |
59 | } elseif ($_REQUEST['mode'] == 'index') {
60 |
61 | // expand to include keywords and dates
62 | $site->setPageTitle((($_REQUEST['tags']) ? ucwords($_REQUEST['tags']) : 'Home'));
63 |
64 | }
65 |
66 | $_SERVER['QUERY_STRING'] .= '&title=' . $site->pageTitle;
67 |
68 | // output site header
69 | echo $site->getTemplate('header');
70 |
71 | if ($site->config('REZGO_COUNTRY_PATH')) {
72 | include(REZGO_COUNTRY_PATH);
73 | } else {
74 | include($site->path.'/include/countries_list.php');
75 | }
76 |
77 | ?>
78 |
93 |
94 | country, $eu_countries)) { ?>
95 |
96 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
141 |
142 |
143 |
144 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 | getTemplate('footer')?>
159 |
--------------------------------------------------------------------------------
/gift_card.php:
--------------------------------------------------------------------------------
1 | getTemplate('frame_header');
9 |
10 | echo $site->getTemplate('gift_card');
11 |
12 | echo $site->getTemplate('frame_footer');
--------------------------------------------------------------------------------
/gift_card_ajax.php:
--------------------------------------------------------------------------------
1 | sendGiftOrder($_POST);
10 |
11 | if ($result->status == 'Card created') {
12 | $_SESSION["GIFT_CARD_KEY"] = $result->card;
13 |
14 | $result->response = 1;
15 | }
16 | else {
17 | // this booking failed, send a status code back to the requesting page
18 | if ($result->message == 'Availability Error' || $result->mesage == 'Fatal Error')
19 | {
20 | $result->response = 2;
21 | }
22 | else if (
23 | $result->message == 'Payment Declined' || $result->message == 'Invalid Card Checksum' || $result->message == 'Invalid Card Expiry')
24 | {
25 | $result->response = 3;
26 | }
27 | else if ($result->message == 'Account Error')
28 | {
29 | // hard system error, no commit requests are allowed if there is no valid payment method
30 | $result->response = 5;
31 | }
32 | else
33 | {
34 | $result->response = 4;
35 | }
36 | }
37 |
38 | $json = json_encode((array)$result);
39 | echo '|||' . $json;
40 | }
41 |
42 | if ($_POST['rezgoAction'] == 'getGiftCard') {
43 | $result = $site->getGiftCard($_POST['gcNum']);
44 |
45 | if (array_key_exists('card', $result)) {
46 | $result->card->status = 1;
47 |
48 | $result->card->number = $site->cardFormat($result->card->number);
49 | }
50 | else {
51 | $result->card->status = 0;
52 | }
53 |
54 | echo '|||' . json_encode($result->card);
55 | }
56 | ?>
--------------------------------------------------------------------------------
/gift_card_details.php:
--------------------------------------------------------------------------------
1 |
8 |
9 | getTemplate('frame_header')?>
10 |
11 | getTemplate('gift_card_details')?>
12 |
13 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/gift_card_not_found.php:
--------------------------------------------------------------------------------
1 |
8 |
9 | getTemplate('frame_header')?>
10 |
11 | getTemplate('gift_card_not_found')?>
12 |
13 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/gift_card_print.php:
--------------------------------------------------------------------------------
1 |
8 |
9 | getTemplate('gift_card_print')?>
--------------------------------------------------------------------------------
/gift_card_receipt.php:
--------------------------------------------------------------------------------
1 | sendTo($site->base."/gift-card");
11 | }
12 | ?>
13 |
14 | getTemplate('frame_header')?>
15 |
16 | getTemplate('gift_card_receipt')?>
17 |
18 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/htaccess-default:
--------------------------------------------------------------------------------
1 | # -------------------------------------------------
2 | # Custom HTTP error pages
3 | # -------------------------------------------------
4 | ErrorDocument 404 /frame.php?mode=page_404&title=Page+not+found
5 |
6 | # -------------------------------------------------
7 | # Add MIME types for video uploads
8 | # -------------------------------------------------
9 |
10 | # AddType video/webm .webm
11 | # AddType video/mp4 .mp4
12 | # AddType video/ogg .ogv
13 |
14 | AddType video/mp4 mp4 m4v
15 | AddType audio/mp4 m4a
16 | AddType video/ogg ogv
17 | AddType audio/ogg ogg oga
18 | AddType video/webm webm
19 |
20 | RewriteEngine on
21 |
22 | # -------------------------------------------------
23 | # Rules for the new parser addresses
24 | # -------------------------------------------------
25 |
26 | # root page
27 | RewriteRule ^/?$ frame.php?mode=index [QSA]
28 |
29 | # bounce for old content pages to new locations
30 | RewriteRule ^content/([^.]+)(.php)?$ $1 [L,R=301]
31 |
32 | # bounce for old tour pages to details pages
33 | RewriteRule ^tour/([0-9]+)/([^\/]+)/?$ details/$1/$2 [L,QSA,R=301]
34 | RewriteRule ^tour/([0-9]+)/([^\/]+)/([0-9]+)/([^\/]+)/?$ details/$1/$2/$3/$4 [L,QSA,R=301]
35 |
36 | # pre made content pages
37 | RewriteRule ^contact/?$ frame.php?mode=page_contact&title=Contact+Us [QSA]
38 | RewriteRule ^terms/?$ frame.php?mode=page_terms&title=Booking+Terms [QSA]
39 | RewriteRule ^privacy/?$ frame.php?mode=page_privacy&title=Privacy+Policy [QSA]
40 | RewriteRule ^about/?$ frame.php?mode=page_about&title=About+Us [QSA]
41 |
42 | # all custom created content pages
43 | RewriteRule ^page/([^\/]*)/?$ frame.php?mode=page_content&page=$1 [QSA]
44 |
45 | # searches for tag and keyword with optional attached query string
46 | RewriteRule ^tag/([^\/]*)/?$ frame.php?mode=index&tags=$1 [QSA]
47 | RewriteRule ^keyword/([^\/]*)/?$ frame.php?mode=index&search_in=smart&search_for=$1 [QSA]
48 |
49 | # searches for items by company ID (vendor only)
50 | RewriteRule ^supplier/([^\/]*)/?$ frame.php?mode=index&cid=$1 [QSA]
51 |
52 | # details pages
53 | RewriteRule ^details/([0-9]+)/([^\/]+)/?$ frame.php?mode=page_details&com=$1 [QSA]
54 | RewriteRule ^details/([0-9]+)/([^\/]+)/([0-9]+)/([^\/]+)/?$ frame.php?mode=page_details&com=$1&option=$3&date=$4 [QSA]
55 |
56 | # order and booking pages
57 | RewriteRule ^order/?$ frame.php?mode=page_order [QSA]
58 | RewriteRule ^book/?$ frame.php?mode=page_book&sec=1&title=Book+Now [QSA]
59 |
60 | # complete print and complete display page
61 | RewriteRule ^complete/([^\/]*)/print/?$ booking_complete_print.php?trans_num=$1&title=Booking+Receipt [QSA]
62 | RewriteRule ^complete/([^\/]*)/pdf/?$ booking_complete_pdf.php?trans_num=$1&title=Booking+Receipt [QSA]
63 | RewriteRule ^complete/([^\/]*)/?$ frame.php?mode=booking_complete&trans_num=$1&title=Booking+Receipt [QSA]
64 |
65 | # gift pages
66 | RewriteRule ^gift-card/?$ frame.php?mode=gift_card&sec=1 [QSA]
67 | RewriteRule ^gift-card/([^\/]*) frame.php?mode=gift_card_details&card=$1 [QSA]
68 | RewriteRule ^gift-receipt/?$ frame.php?mode=gift_card_receipt [QSA]
69 | RewriteRule ^gift-print/([^\/]*) gift_card_print.php?mode=gift_card_print&card=$1 [QSA]
70 | RewriteRule ^gift-not-found/?$ frame.php?mode=gift_card_not_found [QSA]
71 |
72 | # voucher page
73 | RewriteRule ^voucher/([^\/]*)/?$ booking_tickets.php?trans_num=$1&title=Booking+Voucher [QSA]
74 |
75 | # tickets page
76 | RewriteRule ^tickets/([^\/]*)/?$ booking_tickets.php?trans_num=$1&title=Booking+Tickets [QSA]
77 | RewriteRule ^tickets/([^\/]*)/print/?$ booking_tickets.php?trans_num=$1&title=Booking+Tickets&print=1 [QSA]
78 |
79 | # waiver page
80 | RewriteRule ^waiver/?$ frame.php?mode=page_waiver&sec=1&title=Waiver [QSA]
81 | RewriteRule ^waiver/([^\/]*)/?$ frame.php?mode=page_waiver&sec=1&trans_num=$1&title=Waiver [QSA]
82 | # RewriteRule ^waiver/print/?$ waiver_print.php?title=Waiver [QSA]
83 | RewriteRule ^waiver/([^\/]*)/print/?$ waiver_print.php?trans_num=$1&title=Waiver [QSA]
84 |
85 | # review pages
86 | RewriteRule ^reviews/?$ frame.php?mode=page_review&title=Reviews [QSA]
87 | RewriteRule ^reviews/([^\/]*)/?$ frame.php?mode=page_review&trans_num=$1&title=Reviews [QSA]
88 | RewriteRule ^reviews/item/([^\/]*)/?$ frame.php?mode=page_review&com=$1&title=Reviews [QSA]
89 |
90 | # summary page (for back-end use)
91 | RewriteRule ^summary/([^\/]*)/?$ booking_summary.php?trans_num=$1&title=Booking+Summary [QSA]
92 |
93 | # cookie policy for EU suppliers
94 | RewriteRule ^cookie-policy/?$ frame.php?mode=page_cookies&title=Cookie+Policy [QSA]
95 |
96 | # modal
97 | # RewriteRule ^modal/?$ modal.php [QSA]
98 |
99 | # dynamic robots.txt
100 | RewriteRule ^robots\.txt$ /robots.php
101 |
102 | # dynamic sitemap.xml
103 | RewriteRule ^sitemap\.xml$ /sitemap.php
104 |
--------------------------------------------------------------------------------
/index.php:
--------------------------------------------------------------------------------
1 | sendTo($_COOKIE['rezgo_search']);
12 | }
13 |
14 | // some code to handle the pagination
15 | if(!$_REQUEST['pg']) $_REQUEST['pg'] = 1;
16 |
17 | $start = ($_REQUEST['pg'] - 1) * REZGO_RESULTS_PER_PAGE;
18 |
19 | // we only want 11 responses, starting at our page number times item number
20 | $site->setTourLimit(REZGO_RESULTS_PER_PAGE + 1, $start);
21 | ?>
22 |
23 | getTemplate('frame_header')?>
24 |
25 | getTemplate('index')?>
26 |
27 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/index_ajax.php:
--------------------------------------------------------------------------------
1 | saveSearch();
13 | }
14 |
15 | // some code to handle the pagination
16 | if(!$_REQUEST['pg']) $_REQUEST['pg'] = 1;
17 |
18 | $start = ($_REQUEST['pg'] - 1) * REZGO_RESULTS_PER_PAGE;
19 |
20 | // we only want 11 responses, starting at our page number times item number
21 | $site->setTourLimit(REZGO_RESULTS_PER_PAGE + 1, $start);
22 |
23 | echo $site->getTemplate('index_ajax');
24 | ?>
--------------------------------------------------------------------------------
/js/ie8.polyfils.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"ie8.polyfils.min.js","sources":["../src/ie8.polyfils.js"],"names":["Array","prototype","forEach","fun","this","TypeError","t","Object","len","length","thisArg","arguments","i","call","Function","bind","oThis","aArgs","slice","fToBind","fNOP","fBound","apply","concat","win","doc","docHijack","p","old","v","addListen","addEvent","on","fn","self","attachEvent","e","event","preventDefault","returnValue","stopPropagation","cancelBubble","obj","addEventListener","Element","all","window","document"],"mappings":";;AAOMA,MAAMC,UAAUC,UACrBF,MAAMC,UAAUC,QAAU,SAASC,GAClC,YACA,IAAa,SAATC,MAA4B,OAATA,MAAgC,kBAARD,GAAoB,KAAM,IAAIE,UAO7E,KAAK,GAJJC,GAAIC,OAAOH,MACXI,EAAMF,EAAEG,SAAW,EACnBC,EAAUC,UAAUF,QAAU,EAAIE,UAAU,GAAK,OAEzCC,EAAI,EAAOJ,EAAJI,EAASA,IACpBA,IAAKN,IACRH,EAAIU,KAAKH,EAASJ,EAAEM,GAAIA,EAAGN,KAK1BQ,SAASb,UAAUc,OACtBD,SAASb,UAAUc,KAAO,SAASC,GACjC,GAAoB,kBAATZ,MAGT,KAAM,IAAIC,WAAU,uEAGtB,IAAIY,GAAUjB,MAAMC,UAAUiB,MAAML,KAAKF,UAAW,GAChDQ,EAAUf,KACVgB,EAAU,aACVC,EAAU,WACR,MAAOF,GAAQG,MAAMlB,eAAgBgB,GAAOhB,KAAOY,EAC5CC,EAAMM,OAAOvB,MAAMC,UAAUiB,MAAML,KAAKF,aAMrD,OAHAS,GAAKnB,UAAYG,KAAKH,UACtBoB,EAAOpB,UAAY,GAAImB,GAEhBC,IAMX,SAAUG,EAAKC,GAGb,QAASC,GAAUC,GACjB,GAAIC,GAAMH,EAAIE,EACdF,GAAIE,GAAK,SAASE,GAChB,MAAOC,GAAUF,EAAIC,KAIzB,QAASE,GAASC,EAAIC,EAAIC,GACxB,OAAQA,EAAO9B,MAAM+B,YAAY,KAAOH,EAAI,SAASI,GACnDA,EAAIA,GAAKZ,EAAIa,MACbD,EAAEE,eAAkBF,EAAEE,gBAAmB,WAAWF,EAAEG,aAAc,GACpEH,EAAEI,gBAAkBJ,EAAEI,iBAAmB,WAAWJ,EAAEK,cAAe,GACrER,EAAGpB,KAAKqB,EAAME,KAIlB,QAASN,GAAUY,EAAK9B,GAEtB,GADAA,EAAI8B,EAAIjC,OACF,KAAMG,KAAK8B,EAAI9B,GAAG+B,iBAAmBZ,MACtCW,GAAIC,iBAAmBZ,CAC5B,OAAOW,GAtBNlB,EAAImB,mBAyBPb,GAAWL,EAAKD,IACb,WAAaA,GAAIA,EAAIoB,QAAQ3C,UAAU0C,iBAAmBZ,GAE3DN,EAAIU,YAAY,qBAAsB,WAAWL,EAAUL,EAAIoB,OAC/DnB,EAAU,wBACVA,EAAU,kBACVA,EAAU,iBACVI,EAAUL,EAAIoB,QAEfC,OAAQC","sourcesContent":["/*\n * IE8 Polyfils for iframeResizer.js\n *\n * Public domain code - Mozilla Contributors\n * https://developer.mozilla.org/\n */\n\n if (!Array.prototype.forEach){\n\tArray.prototype.forEach = function(fun /*, thisArg */){\n\t\t\"use strict\";\n\t\tif (this === void 0 || this === null || typeof fun !== \"function\") throw new TypeError();\n\n\t\tvar\n\t\t\tt = Object(this),\n\t\t\tlen = t.length >>> 0,\n\t\t\tthisArg = arguments.length >= 2 ? arguments[1] : void 0;\n\n\t\tfor (var i = 0; i < len; i++)\n\t\t\tif (i in t)\n\t\t\t\tfun.call(thisArg, t[i], i, t);\n\t};\n}\n\n\nif (!Function.prototype.bind) {\n Function.prototype.bind = function(oThis) {\n if (typeof this !== 'function') {\n // closest thing possible to the ECMAScript 5\n // internal IsCallable function\n throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n }\n\n var aArgs = Array.prototype.slice.call(arguments, 1),\n fToBind = this,\n fNOP = function() {},\n fBound = function() {\n return fToBind.apply(this instanceof fNOP ? this : oThis,\n aArgs.concat(Array.prototype.slice.call(arguments)));\n };\n\n fNOP.prototype = this.prototype;\n fBound.prototype = new fNOP();\n\n return fBound;\n };\n}\n\n\n//addEventListener polyfill 1.0 / Eirik Backer / MIT Licence\n(function(win, doc){\n if(win.addEventListener) return; //No need to polyfill\n\n function docHijack(p){\n var old = doc[p];\n doc[p] = function(v){\n return addListen(old(v));\n };\n }\n\n function addEvent(on, fn, self){\n return (self = this).attachEvent('on' + on, function(e){\n e = e || win.event;\n e.preventDefault = e.preventDefault || function(){e.returnValue = false;};\n e.stopPropagation = e.stopPropagation || function(){e.cancelBubble = true;};\n fn.call(self, e);\n });\n }\n\n function addListen(obj, i){\n i = obj.length;\n if(i) while(i--) obj[i].addEventListener = addEvent;\n else obj.addEventListener = addEvent;\n return obj;\n }\n\n addListen([doc, win]);\n if('Element' in win)win.Element.prototype.addEventListener = addEvent; //IE8\n else{ //IE < 8\n doc.attachEvent('onreadystatechange', function(){addListen(doc.all);}); //Make sure we also init at domReady\n docHijack('getElementsByTagName');\n docHijack('getElementById');\n docHijack('createElement');\n addListen(doc.all); \n }\n})(window, document);"]}
2 |
--------------------------------------------------------------------------------
/js/ie8.polyfils.min.js:
--------------------------------------------------------------------------------
1 | // IE8 polyfils for iframeResizer.js
2 |
3 | Array.prototype.forEach||(Array.prototype.forEach=function(a){"use strict";if(void 0===this||null===this||"function"!=typeof a)throw new TypeError;for(var b=Object(this),c=b.length>>>0,d=arguments.length>=2?arguments[1]:void 0,e=0;c>e;e++)e in b&&a.call(d,b[e],e,b)}),Function.prototype.bind||(Function.prototype.bind=function(a){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var b=Array.prototype.slice.call(arguments,1),c=this,d=function(){},e=function(){return c.apply(this instanceof d?this:a,b.concat(Array.prototype.slice.call(arguments)))};return d.prototype=this.prototype,e.prototype=new d,e}),function(a,b){function c(a){var c=b[a];b[a]=function(a){return e(c(a))}}function d(b,c,d){return(d=this).attachEvent("on"+b,function(b){b=b||a.event,b.preventDefault=b.preventDefault||function(){b.returnValue=!1},b.stopPropagation=b.stopPropagation||function(){b.cancelBubble=!0},c.call(d,b)})}function e(a,b){if(b=a.length)for(;b--;)a[b].addEventListener=d;else a.addEventListener=d;return a}a.addEventListener||(e([b,a]),"Element"in a?a.Element.prototype.addEventListener=d:(b.attachEvent("onreadystatechange",function(){e(b.all)}),c("getElementsByTagName"),c("getElementById"),c("createElement"),e(b.all)))}(window,document);
4 | //# sourceMappingURL=ie8.polyfils.map
5 |
--------------------------------------------------------------------------------
/license.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2011-2015, Rezgo (A Division of Sentias Software Corp.)
2 | All rights reserved.
3 |
4 | Redistribution and use in source form, with or without modification,
5 | is permitted provided that the following conditions are met:
6 |
7 | * Redistributions of source code must retain the above copyright
8 | notice, this list of conditions and the following disclaimer.
9 | * Neither the name of Rezgo, Sentias Software Corp, nor the names of
10 | its contributors may be used to endorse or promote products derived
11 | from this software without specific prior written permission.
12 | * Source code is provided for the exclusive use of Rezgo members who
13 | wish to connect to their Rezgo XMP API. Modifications to source code
14 | may not be used to connect to competing software without specific
15 | prior written permission.
16 |
17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
/modal.php:
--------------------------------------------------------------------------------
1 | setPageTitle($_REQUEST['title'] ? $_REQUEST['title'] : 'Waiver');
10 | ?>
11 |
12 | getTemplate('frame_header')?>
13 |
14 | getTemplate('modal')?>
15 |
16 | getTemplate('frame_footer')?>
17 |
--------------------------------------------------------------------------------
/page_404.php:
--------------------------------------------------------------------------------
1 |
10 |
11 | getTemplate('frame_header')?>
12 |
13 | getTemplate('404page')?>
14 |
15 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/page_about.php:
--------------------------------------------------------------------------------
1 |
10 |
11 | getTemplate('frame_header')?>
12 |
13 | getTemplate('about')?>
14 |
15 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/page_book.php:
--------------------------------------------------------------------------------
1 |
10 |
11 | getTemplate('frame_header')?>
12 |
13 | getTemplate('book')?>
14 |
15 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/page_contact.php:
--------------------------------------------------------------------------------
1 |
11 |
12 | getTemplate('frame_header')?>
13 |
14 | getTemplate('contact')?>
15 |
16 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/page_content.php:
--------------------------------------------------------------------------------
1 | getPageName($page);
10 |
11 | $site->setPageTitle($title);
12 | ?>
13 |
14 | getTemplate('frame_header')?>
15 |
16 | getTemplate('content_page')?>
17 |
18 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/page_details.php:
--------------------------------------------------------------------------------
1 | getTemplate('frame_header');
11 |
12 | echo $site->getTemplate('tour_details');
13 |
14 | echo $site->getTemplate('frame_footer');
15 | ?>
--------------------------------------------------------------------------------
/page_order.php:
--------------------------------------------------------------------------------
1 |
10 |
11 | getTemplate('frame_header')?>
12 |
13 | getTemplate('order')?>
14 |
15 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/page_privacy.php:
--------------------------------------------------------------------------------
1 | getCompanyDetails();
11 |
12 | ?>
13 |
14 | getTemplate('frame_header')?>
15 |
16 | getTemplate('privacy')?>
17 |
18 | getTemplate('frame_footer')?>
19 |
--------------------------------------------------------------------------------
/page_review.php:
--------------------------------------------------------------------------------
1 |
11 |
12 | getTemplate('frame_header')?>
13 |
14 | getTemplate('review_list')?>
15 |
16 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/page_terms.php:
--------------------------------------------------------------------------------
1 | getCompanyDetails();
11 |
12 | ?>
13 |
14 | getTemplate('frame_header')?>
15 |
16 | getTemplate('terms')?>
17 |
18 | getTemplate('frame_footer')?>
--------------------------------------------------------------------------------
/page_waiver.php:
--------------------------------------------------------------------------------
1 | getDomain();
8 | $site->sendTo($domain.'.rezgo.com/waiver/');
9 |
10 | // Page title
11 | $site->setPageTitle($_REQUEST['title'] ? $_REQUEST['title'] : 'Waiver');
12 | ?>
13 |
14 | getTemplate('frame_header')?>
15 |
16 | getTemplate('waiver')?>
17 |
18 |
31 |
32 |