Panda Multi Resorts changelog

67 versions, from 4.0.0 (October 2016) to 9.0.0 (September 2026). New versions are downloaded from your Downloads page on the marketplace; back up files and database before any update.

Product page Item on the marketplace

Version 9Version 8Version 7Version 6Version 5Version 4

Version 9

9.0.0 29 September 2026

  • new Complete rewrite as an extension of Pandao CMS 8, for PHP 8.2 to 8.5
  • new Rates calendar, seasons with the copy of a season, guests and children by age, rate plans with their promotion dates
  • new Booking of several rooms and offers at once, all-inclusive prices, services and activities, promo codes
  • new Stripe Checkout and PayPal, deposits, holds and reminders, payments and accounts per hotel, online cancellation with refunds
  • new Planning, booking editor for the bookings made by the hotels, requests when full
  • new Platform calendars (iCal) room by room, with conflicts and alerts
  • new Verified guest reviews, customer accounts, hotel owners and their applications
  • new Currencies at the rates of the European Central Bank, maps without Google, right-to-left languages
  • new New theme, widgets for the home page, complete demo content
  • new Import of a version 4.0 to 8.1 site, passwords of the customers included
  • new Diagnostic screen and automatic tasks run by the visits when there is no cron job

Version 8

8.1.5 26 November 2021

  • fix Fixed issue on children age selection
  • fix Razorpay invalid order id fixed
Files to replace (5)
  • # Fixed issue on children age selection
  • /common/lib.php
  • # Razorpay invalid order id fixed
  • /includes/payments/razorpay/
  • /templates/default/models/payment.php

8.1.4 12 November 2021

  • fix Unable to book activities
  • fix Medias not displayed in the library (MySQL 8)
Files to replace (4)
  • # Unable to book activities
  • /templates/default/models/booking-activities.php
  • # Medias not displayed in the library (MySQL 8)
  • /admin/includes/inc_library.php

8.1.3 19 October 2021

  • fix Missing PMS prefix in maintenance mode
  • fix Book button missing on selecting the num of children
  • fix Ckeditor not loaded in other languages
Files to replace (6)
  • # Missing PMS prefix in maintenance mode
  • /templates/default/maintenance.php
  • # Book button missing on selecting the num of children
  • /templates/default/common/functions.php
  • # Ckeditor not loaded in other languages
  • /admin/includes/js/plugins/ckeditor/build/init.js

8.1.2 7 September 2021

  • fix SQL error in room popup
  • fix Missing widget positions
  • fix Bug in submenu opening
Files to replace (6)
  • # SQL error in room popup
  • /templates/default/common/room-popup.php
  • # Missing widget positions
  • /admin/modules/widget/config.xml
  • # Bug in submenu opening
  • /js/custom.js

8.1.1 22 August 2021

  • fix CKeditor error in strict mode
  • fix Modules fields not filled with URL values
  • fix Admin listing: Error in ORDER clause
Files to replace (7)
  • # CKeditor error in strict mode
  • /admin/js/plugins/ckeditor5/build/init.js
  • # Modules fields not filled with URL values
  • /admin/modules/booking/booking/custom_form.php
  • /admin/includes/inc_header_form.php
  • # Admin listing: Error in ORDER clause
  • /admin/modules/default/list.php

8.1.0 19 August 2021

  • new Update for MySQL 8
Files to replace (41)
  • # Update for MySQL 8
  • /common/db.sql
  • /common/define.php
  • /common/lib.php
  • /templates/default/models/activity.php
  • /templates/default/models/article.php
  • /templates/default/models/article-blog.php
  • /templates/default/models/booking.php
  • /templates/default/models/booking-activties.php
  • /templates/default/models/destination.php
  • /templates/default/models/detais.php
  • /templates/default/models/home.php
  • /templates/default/models/hotel.php
  • /templates/default/models/hotels-map.php
  • /templates/default/models/page2.php
  • /templates/default/models/page.php
  • /templates/default/models/payment.php
  • /templates/default/models/summary.php
  • /templates/default/models/surroundings.php
  • /templates/default/common/get_activties.php
  • /templates/default/common/get_activty_sessions.php
  • /templates/default/common/get_articles.php
  • /templates/default/common/get_articles_blog.php
  • /templates/default/common/get_articles_popup.php
  • /templates/default/common/get_destinations.php
  • /templates/default/common/get_hotels.php
  • /templates/default/common/get_images.php
  • /templates/default/common/footer.php
  • /templates/default/common/room-popup.php
  • /templates/default/common/update_booking.php
  • /templates/default/widgets/blog_side.php
  • /templates/default/widgets/contact_informations.php
  • /admin/includes/fn_actions.php
  • /admin/includes/fn_form.php
  • /admin/includes/fn_list.php
  • /admin/includes/functions.php
  • /admin/includes/order_item.php
  • /admin/includes/order_medis.php
  • /admin/modules/default/form.php
  • /admin/modules/default/list.php
  • /admin/modules/booking/booking/avaiabiities.php

8.0.2 15 August 2021

  • fix Admin folder name not replaced correctly
Files to replace (2)
  • # Admin folder name not replaced correctly
  • /admin/settings.php

8.0.1 7 August 2021

  • new Allow free activity
  • fix Bug on currency conversion
  • fix Activity calendar fixed
  • fix Quote escaped from hotel name (map)
  • fix Bug on booking another hotel after selecting a destination
Files to replace (12)
  • # Allow free activity
  • /templates/default/models/booking-activities.php
  • /templates/default/common/get_activity_sessions.php
  • # Bug on currency conversion
  • /common/lib.php
  • /includes/change_currency.php
  • # Activity calendar fixed
  • /templates/default/common/get_days_activity.php
  • # Quote escaped from hotel name (map)
  • /templates/default/models/hotel.php
  • # Bug on booking another hotel after selecting a destination
  • /templates/default/models/booking.php

8.0.0 3 August 2021

  • note Be careful: this major update contains breaking changes affecting all files. Download the latest version and replace every file except images and custom CSS files. Add the prefix "PMS_" before all constant names in /common/config.php (example: SITE_TITLE becomes PMS_SITE_TITLE).
  • new "use strict" added in JS files
  • new on(); used rather than .click(), .bind(), .hover(), .submit()
  • new External JS libraries updated
  • new Commented/unused code removed
  • new Prefix "pms_" added for variables, constants and functions
  • new Migration from PHP 7 to PHP 8
  • new Upgrade from CKEditor 4 to 5
Files to replace (3)
  • >> Replace every file except images and custom CSS files
  • /common/config.php
  • >> Add the prefix "PMS_" before all constant names (example: SITE_TITLE becomes PMS_SITE_TITLE)

Version 7

7.7.0 11 July 2020

  • new Child age shown in the booking (admin and confirmation emails)
  • new Popup opening
  • new External URL in new window
  • fix Datepicker issue on closing dates
Files to replace (24)
  • # Child age shown in the booking (admin and confirmation emails)
  • /common/db.sql
  • >> New entries in the table pm_text (! as usual, replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (189, 1, 'YO', 'y.o.'), (189, 2, 'YO', 'ans'), (189, 3, 'YO', 'y.o.');
  • /templates/default/models/booking.php
  • /templates/default/models/summary.php
  • /templates/default/models/payment.php
  • /includes/payments/braintree/checkout.php
  • /includes/payments/2checkout_notify.php
  • /includes/payments/paypal_notify.php
  • /includes/payments/razorpay_notify.php
  • # Popup opening
  • /common/db.sql
  • >> New table pm_popup:
  • CREATE TABLE pm_popup( `id` int NOT NULL AUTO_INCREMENT, `lang` int NOT NULL, `title` varchar(250), `content` text, `allpages` text, `pages` text, `background` varchar(20), `checked` int DEFAULT 0, `publish_date` int, `unpublish_date` int, PRIMARY KEY(id, lang) ) ENGINE=INNODB DEFAULT CHARSET=utf8; ALTER TABLE pm_popup ADD CONSTRAINT popup_lang_fkey FOREIGN KEY (lang) REFERENCES pm_lang(id) ON DELETE CASCADE ON UPDATE NO ACTION;
  • /admin/modules/popup/
  • /js/custom.js
  • /templates/default/common/footer.php
  • # External URL in new window
  • /common/define.php
  • /templates/default/common/header.php
  • /templates/default/models/home.php
  • # Datepicker issue on closing dates
  • /admin/includes/inc_header_form.php

7.6.0 10 March 2020

  • new Sub-tables in modules are now fully multilingual
  • new Show/hide in langs improvements
  • new Layout improvements / New widgets
  • new Possibility to download PDF from the listing of a module
  • new Price calculation only when child age is choosen
  • fix Braintree misconfiguration alert
  • fix Error on activity calendars if MySQL only_full_group enabled
  • fix Syntax error since MySQL 8.0.2
  • fix Booking fixes
  • fix getInitials error
  • fix Wrong guid in RSS feed
Files to replace (49)
  • # Sub-tables in modules are now fully multilingual
  • /admin/includes/inc_header_form.php
  • /admin/includes/inc_header_common.php
  • /admin/includes/Field.class.php
  • /admin/includes/fn_form.php
  • /admin/modules/default/form.php
  • # Show/hide in langs improvements
  • /common/define.php
  • /templates/default/common/get_articles.php
  • /templates/default/common/get_articles_blog.php
  • /templates/default/common/get_articles_popup.php
  • /templates/default/models/home.php
  • /templates/default/models/page.php
  • /templates/default/models/page2.php
  • /templates/default/models/blog.php
  • /templates/default/models/article.php
  • /templates/default/models/article-blog.php
  • # Layout improvements / New widgets
  • /js/custom.js
  • /common/js/custom.js
  • /common/lib.php
  • /templates/default/widgets/footer_menu.php
  • /templates/default/widgets/check_list.php
  • /templates/default/widgets/parallax_home.php
  • /templates/default/widgets/blog_side.php
  • /templates/default/common/header.php
  • /templates/default/common/footer.php
  • /templates/default/models/home.php
  • /templates/default/images/bg-parallax.jpg
  • /templates/default/css/*
  • # Possibility to download PDF from the listing of a module
  • /admin/modules/default/list.php
  • # Price calculation only when child age is choosen
  • /templates/default/common/change_num_people.php
  • /templates/default/common/functions.php
  • # Braintree misconfiguration alert
  • /templates/default/models/payment.php
  • /includes/payments/braintree/checkout.php
  • # Error on activity calendars if MySQL only_full_group enabled
  • /templates/default/common/get_days_activity.php
  • /templates/default/common/get_activity_sessions.php
  • # Syntax error since MySQL 8.0.2
  • /common/db.sql
  • # Booking fixes
  • /templates/default/common/functions.php
  • # getInitials error
  • /common/lib.php
  • # Wrong guid in RSS feed
  • /feed/index.php

7.5.1 6 February 2020

  • fix Wrong constant name in iCal Sync settings
Files to replace (2)
  • # Wrong constant name in iCal Sync settings
  • /admin/settings.php

7.5.0 6 February 2020

  • new New iCal synchronization
  • new One-time coupon codes disabled for guest users
  • fix Layout fixes
  • fix Block readonly datepicker fields in admin panel
Files to replace (32)
  • # New iCal synchronization
  • /common/db.sql
  • >> New tables "pm_room_calendar" and "pm_ical_event"
  • CREATE TABLE pm_room_calendar( id int NOT NULL AUTO_INCREMENT, id_room int NOT NULL, title varchar(150), latest_sync int, url text, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_room_calendar ADD CONSTRAINT room_calendar_fkey FOREIGN KEY (id_room) REFERENCES pm_room(id) ON DELETE CASCADE ON UPDATE NO ACTION; CREATE TABLE pm_ical_event( id int NOT NULL AUTO_INCREMENT, id_room int NOT NULL, title varchar(150), sync_date int, from_date int, to_date int, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_ical_event ADD CONSTRAINT ical_event_fkey FOREIGN KEY (id_room) REFERENCES pm_room(id) ON DELETE CASCADE ON UPDATE NO ACTION;
  • /common/config(-tmp).php
  • >> new entries:
  • define('ENABLE_ICAL', '1'); define('ENABLE_AUTO_ICAL_SYNC', '1'); define('ICAL_SYNC_INTERVAL', 'daily'); // daily | hourly define('ICAL_SYNC_CLOCK', '3'); // 0-23h mode, required if ICAL_SYNC_INTERVAL = daily
  • /admin/includes/langs/*.ini
  • >> new entries:
  • EXTERNAL_ICAL_CALENDARS="External iCal calendars" LATEST_SYNC="Latest synchronization" SYNC_ALL_CALENDARS="Synchronize all calendars" NUM_IMPORTED_EVENTS="Num. of imported events:" ICAL_SYNCHRONIZATION="iCal Synchronization" CALENDAR_URL="Calendar URL" COPY="Copy" COPY_TO_CLIPBOARD="Copy to Clipboard" COPIED="copied!" DOWNLOAD_CALENDAR="Download calendar" EXTERNAL_BOOKING="External_booking" ENABLE_ICAL_SYNC="Enable iCal synchronization" ENABLE_AUTO_ICAL_SYNC="Enable automatic iCal sync" ICAL_SYNC_INTERVAL="Synchronization interval" ICAL_SYNC_CLOCK="Synchronization clock"
  • /admin/settings.php
  • /admin/modules/default/list.php
  • /admin/modules/booking/room/config.xml
  • /admin/modules/booking/room/custom_nav.php
  • /admin/modules/booking/room/custom_form.php
  • /admin/modules/booking/booking/availabilities.php
  • /admin/css/pms.css
  • /includes/icalendar/
  • /templates/default/common/get_days.php
  • /templates/default/common/footer.php
  • /templates/default/common/functions.php
  • /js/custom.js
  • /common/js/custom.js
  • /admin/login.php
  • # One-time coupon codes disabled for guest users
  • /templates/default/common/update_booking.php
  • # Layout fixes
  • /templates/default/css/main.css
  • /templates/default/models/booking.php
  • # Block readonly datepicker fields in admin panel
  • /admin/includes/fn_form.php
  • /admin/includes/inc_header_form.php

7.4.0 31 January 2020

  • new Possibility to show/hide calendars on booking page
  • new One time coupon code
  • new New payment option: Razorpay
  • fix Wrong constant name ENABLE_BOOKING_REQUEST
  • fix Date error on saving in the admin panel
  • fix Payment entry on booking (Braintree + 2Checkout) in admin
Files to replace (41)
  • # Possibility to show/hide calendars on booking page
  • /admin/settings.php
  • /admin/includes/langs/*.ini
  • >> New entry "SHOW_CALENDAR"
  • /common/config(-tmp).php
  • >> New entry "SHOW_CALENDAR"
  • /templates/default/models/booking.php
  • # One time coupon code
  • /common/db.sql
  • >> New column in the table pm_coupon:
  • ALTER TABLE pm_coupon ADD once INT NULL AFTER rooms;
  • >> New column in the table pm_booking:
  • ALTER TABLE pm_booking ADD id_coupon INT NULL AFTER discount;
  • >> New entries in the table pm_text (! as usual, replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (187, 1, 'COUPON_CODE_FAILURE', 'Erreur : ce code est invalide ou a déjà été utilisé'), (187, 2, 'COUPON_CODE_FAILURE', 'Error: this code is invalid or already used'), (187, 3, 'COUPON_CODE_FAILURE', 'Error: this code is invalid or already used');
  • /admin/modules/booking/coupon/config.xml
  • /admin/includes/langs/*.ini
  • >> New entry "ONE_TIME"
  • /templates/default/models/payment.php
  • /templates/default/common/update_booking.php
  • # New payment option: Razorpay
  • /common/db.sql
  • >> New entries in the table pm_text (! as usual, replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (188, 1, 'PAYMENT_RAZORPAY_NOTICE', 'Cliquez sur "Payer", puis remplissez le formulaire avec les informations de votre carte de crédit.'), (188, 2, 'PAYMENT_RAZORPAY_NOTICE', 'Click on "Check Out", then fill in the form with your credit card information.'), (188, 3, 'PAYMENT_RAZORPAY_NOTICE', 'Click on "Check Out", then fill in the form with your credit card information.');
  • /common/config(-tmp).php
  • >> New entries "RAZORPAY_KEY_ID" and "RAZORPAY_KEY_SECRET"
  • /admin/settings.php
  • /admin/modules/booking/booking/config.xml
  • /includes/payments/razorpay_notify.php
  • /templates/default/models/payment.php
  • /templates/default/images/razorpay-cards.jpg
  • /templates/default/css/main.css
  • /admin/includes/langs/*.ini
  • >> New entries "KEY_ID" and "KEY_SECRET"
  • # Wrong constant name ENABLE_BOOKING_REQUEST
  • /templates/default/models/booking.php
  • # Date error on saving in the admin panel
  • /admin/modules/default/form.php
  • # Payment entry on booking (Braintree + 2Checkout) in admin
  • /includes/payments/2checkout_notify.php
  • /includes/payments/braintree/checkout.php

7.3.0 22 January 2020

  • new Possibility to show content for specific languages only
  • new New page model "Show hotels on map"
  • new New section "Discover also" under an article
  • new Layout / Graphical improvments
  • new Max date in the calendar = 24 months
  • fix Payment with Braintree notice
  • fix Issue with services on booking multiple rooms
  • fix Max people for activity restriction
  • fix Bug with multiple locations in contact page
Files to replace (52)
  • # Possibility to show content for specific languages only
  • /common/db.sql
  • >> new column "langs" in tables pm_article and pm_page:
  • ALTER TABLE pm_article ADD show_langs TEXT NULL; ALTER TABLE pm_article ADD hide_langs TEXT NULL; ALTER TABLE pm_page ADD show_langs TEXT NULL; ALTER TABLE pm_page ADD hide_langs TEXT NULL;
  • /admin/modules/article/config.xml
  • /admin/modules/page/config.xml
  • /admin/includes/langs/*.ini
  • >> New entries "SHOW_IN_LANG" and "HIDE_IN_LANG"
  • /templates/default/models/page.php
  • /templates/default/models/get_articles.php
  • # New page model "Show hotels on map"
  • /common/db.sql
  • >> New column "icon" in table pm_tag:
  • ALTER TABLE pm_tag ADD icon VARCHAR(50) NULL AFTER value;
  • >> New column "tags" in table pm_hotel:
  • ALTER TABLE pm_hotel ADD tags TEXT NULL AFTER facilities;
  • >> New entries in the table pm_text (! as usual, replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (184, 1, 'LOCATION', 'Emplacement'), (184, 2, 'LOCATION', 'Location'), (184, 3, 'LOCATION', 'Location');
  • /admin/includes/langs/*.ini
  • >> New entries "ICON" and "ICON_NOTICE"
  • /admin/modules/tag/config.xml
  • /admin/modules/booking/hotel/config.xml
  • /templates/default/models/hotels-map.php
  • /js/plugins/query-activmap/
  • /js/custom.js
  • # New section "Discover also" under an article
  • /common/db.sql
  • >> New entries in the table pm_text (! as usual, replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (185, 1, 'DISCOVER_ALSO', 'Découvrez aussi'), (185, 2, 'DISCOVER_ALSO', 'Discover also'), (185, 3, 'DISCOVER_ALSO', 'Discover also');
  • /templates/default/models/article.php
  • # Layout / Graphical improvments
  • /templates/default/css/layout.css
  • /templates/default/css/main.css
  • /templates/default/css/colors.css
  • /templates/default/common/header.php
  • /templates/default/common/get_hotels.php
  • /templates/default/common/get_articles_blog.php
  • # Max date in the calendar = 24 months
  • /js/plugins/jquery.event.calendar/js/jquery.event.calendar.js
  • # Payment with Braintree notice
  • /common/db.sql
  • >> New entries in the table pm_text (! as usual, replace with your translation and lang ids):
  • UPDATE pm_text SET name = 'PAYMENT_2CHECKOUT_NOTICE' WHERE name = 'PAYMENT_CARDS_NOTICE'; INSERT INTO pm_text (id, lang, name, value) VALUES (186, 1, 'PAYMENT_BRAINTREE_NOTICE', 'Remplissez le formulaire ci-dessous avec les informations de votre carte de crédit, puis cliquez sur "Payer".'), (186, 2, 'PAYMENT_BRAINTREE_NOTICE', 'Fill in the form bellow with your credit card information, then click on "Check Out".'), (186, 3, 'PAYMENT_BRAINTREE_NOTICE', 'Fill in the form bellow with your credit card information, then click on "Check Out".');
  • /templates/default/models/payment.php
  • /templates/default/images/braintree-cards.jpg
  • /admin/modules/booking/booking/config.xml
  • # Issue with services on booking multiple rooms
  • /templates/default/models/booking.php
  • # Max people for activity restriction
  • /templates/default/models/booking-activities.php
  • # Bug with multiple locations in contact page
  • /templates/default/models/contact.php

7.2.2 9 January 2020

  • fix Menu dropdown issue on mobile
  • fix Bug on booking request
Files to replace (5)
  • # Menu dropdown issue on mobile
  • /templates/default/css/layout.css
  • # Bug on booking request
  • /templates/default/models/booking.php
  • /templates/default/models/summary.php

7.2.1 21 December 2019

  • fix User account creation failure
Files to replace (2)
  • # User account creation failure
  • /templates/default/common/register/signup.php

7.2.0 22 November 2019

  • new Translation of booking confirmation email
  • new User fields in the admin panel
  • new Booking hotel from hotel page
  • new Hotel registration from account page
  • new Fill num adults automatically
  • fix Datetime issue
Files to replace (20)
  • # Translation of booking confirmation email
  • /common/db.sql
  • >> New entries in the table pm_email_content (! as usual, replace with your translation and lang ids):
  • INSERT INTO pm_email_content (id, lang, name, subject, content) VALUES (4, 1, 'ACCOUNT_CONFIRMATION', 'Confirmation du compte', '<p>Bonjour,<br />\r\nVous avez créé un nouveau compte.<br />\r\nCliquez sur le lien ci-dessous pour valider votre compte:<br />\r\n<a href="{link}">Valider mon compte</a></p>\r\n'), (4, 2, 'ACCOUNT_CONFIRMATION', 'Validate your account', '<p>Hi,<br />\r\nYou created a new account.<br />\r\nClick on the link bellow to validate your account:<br />\r\n<a href="{link}">Validate my new account</a></p>\r\n'), (4, 3, 'ACCOUNT_CONFIRMATION', 'Validate your account', '<p>Hi,<br />\r\nYou created a new account.<br />\r\nClick on the link bellow to validate your account:<br />\r\n<a href="{link}">Validate my new account</a></p>\r\n');
  • /templates/default/common/register/signup.php
  • # User fields in the admin panel
  • /admin/modules/user/config.xml
  • # Booking hotel from hotel page
  • /common/db.sql
  • >> New entries in the table pm_text (! as usual, replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (183, 1, 'BOOK_NOW', 'Réserver maintenant'), (183, 2, 'BOOK_NOW', 'Book now'), (183, 3, 'BOOK_NOW', 'Book now');
  • /templates/default/models/hotel.php
  • # Hotel registration from account page
  • /templates/default/models/account.php
  • # Fill num adults automatically
  • /templates/default/models/booking.php
  • # Datetime issue
  • /admin/modules/default/form.php
  • /admin/includes/fn_form.php
  • /admin/includes/fn_list.php

7.1.2 3 November 2019

  • fix Missing updated file
Files to replace (2)
  • # Missing updated file
  • /admin/modules/booking/booking/availabilities.php

7.1.1 31 October 2019

  • new Discounts shown in availability view (admin panel)
  • new Remove new booking on focus out
  • new Tooltip fitting content
  • new Fullscreen autoplay video on slideshow
Files to replace (9)
  • # Discounts shown in availability view (admin panel) / Remove new booking on focus out / Tooltip fitting content
  • /admin/css/pms.css
  • /admin/modules/booking/booking/availabilities.php
  • # Fullscreen autoplay video on slideshow
  • >> URL format: https://www.youtube-nocookie.com/embed/HFIEwpbOWak (video ID)
  • /js/custom.js
  • /js/plugins/royalslider/jquery.royalslider.min.js
  • /templates/default/css/layout.css (.infoBlock + .videoWrapper)
  • /templates/default/models/home.php

7.1.0 24 October 2019

  • new Activities bookable
  • new Possibility to specify URL variables for hotels and share the link
  • fix Price calculation improvements
  • fix Braintree: Undefined constant
Files to replace (19)
  • # Activities bookable
  • /common/db.sql
  • ALTER TABLE pm_booking CHANGE id_hotel id_hotel INT NULL; ALTER TABLE pm_booking CHANGE nights nights INT NULL DEFAULT 0;
  • /admin/modules/booking/booking/config.xml
  • /templates/default/models/activity.php
  • /templates/default/models/booking-activities.php
  • /templates/default/models/details.php
  • /templates/default/models/summary.php
  • /templates/default/models/account.php
  • /templates/default/common/booking-popup.php
  • /templates/default/common/footer.php
  • # Possibility to specify URL variables for hotels and share the link
  • >> e.g. https://www.your-website.com/booking?hotel=1&adults=2&children=3&from=2019-07-31&to=2019-08-01
  • /templates/default/models/booking.php
  • # Price calculation improvements
  • /templates/default/common/functions.php
  • # Braintree: Undefined constant
  • /common/config(-tmp).php
  • >> Rename "BRAINTREE_MERCAHNT_ID" to "BRAINTREE_MERCHANT_ID"

7.0.8 24 July 2019

  • fix Closing dates feature fixed
Files to replace (3)
  • # Closing dates feature fixed
  • /templates/default/common/get_days.php
  • /templates/default/common/functions.php

7.0.7 6 July 2019

  • fix Issues in availability overview fixed
Files to replace (2)
  • # Issues in availability overview fixed
  • /admin/modules/booking/booking/availabilities.php

7.0.6 5 May 2019

  • fix Missing currency converter key
Files to replace (2)
  • # Missing currency converter key
  • /includes/change_currency.php

7.0.5 30 April 2019

  • fix Missing 2Checkout entry in the settings
  • fix Currency converter API
  • fix Payment dates in summary
  • fix Children price error if no age ranges
Files to replace (16)
  • # Missing 2Checkout entry in the settings
  • /admin/settings.php
  • /templates/default/models/payment.php
  • # Currency converter API
  • /admin/settings.php
  • /common/config.php
  • >> New entry: CURRENCY_CONVERTER_KEY
  • /admin/includes/langs/
  • >> New entries: CURRENCY_CONVERTER_API_KEY and CURRENCY_CONVERTER_API_KEY_NOTICE
  • # Payment dates in summary
  • /common/db.sql
  • ALTER TABLE pm_booking_payment ADD COLUMN date INT;
  • /templates/default/common/booking-popup.php
  • /admin/modules/booking/booking/popup-details.php.php
  • # Children price error if no age ranges
  • /templates/default/common/functions.php

7.0.4 28 March 2019

  • fix Booked dates not blocked (wrong payment method values)
Files to replace (5)
  • # Booked dates not blocked (wrong payment method values)
  • /templates/default/common/functions.php
  • /templates/default/common/get_days.php
  • /templates/default/common/get_days_activity.php
  • /templates/default/common/get_activity_sessions.php

7.0.3 23 March 2019

  • fix Hide rooms of other hotels in booking overview
  • fix Wrong encoding of Sharrre plugin files
Files to replace (4)
  • # Hide rooms of other hotels in booking overview
  • /admin/modules/booking/booking/availabilities.php
  • # Wrong encoding of Sharrre plugin files
  • /js/plugins/sharrre/jquery.sharrre.min.js

7.0.2 25 January 2019

  • fix Children/prices issue
Files to replace (2)
  • # Children/prices issue
  • /templates/default/common/functions.php

7.0.1 21 January 2019

  • new Possibility to add degressive prices
  • new Clickable phone number
  • fix Missing 2Checkout entry in the settings
Files to replace (7)
  • # Possibility to add degressive prices
  • /templates/default/common/functions.php
  • # Clickable phone number
  • /templates/default/models/contact.php
  • /templates/default/widgets/contact_informations.php
  • # Missing 2Checkout entry in the settings
  • /admin/settings.php

7.0.0 8 December 2018

  • new New column type in the admin listing (case)
  • new Possibility to add custom navigation and script in each module
  • new Booking auto completion
  • new New service price types
  • new Booking overview panel
  • new Possibility to block several periods per room
  • new Filling fields with GET values
  • new Numeric value restriction
  • new Braintree payment option
  • new Select children age ranges
  • new Hotel registration
  • fix Bug on extra tables for multilingual modules
  • fix Use of official Bootstrap CDN
  • fix Bug on booking request
  • fix Bug in the alerts on submitting booking details
Files to replace (98)
  • # New column type in the admin listing (case)
  • /admin/includes/config.xsd
  • /admin/includes/Column.class.php
  • /admin/includes/fn_list.php
  • # Possibility to add custom navigation and script in each module
  • /admin/modules/default/list.php
  • /admin/modules/default/form.php
  • # Booking auto completion
  • /common/db.sql
  • >> New columns ex_tax, paid and balance in the table pm_booking:
  • ALTER TABLE pm_booking ADD ex_tax FLOAT NULL AFTER total, ADD paid FLOAT NULL AFTER down_payment, ADD balance FLOAT NULL AFTER paid, ADD tax_amount FLOAT NULL AFTER balance;
  • >> New columns ex_tax and tax_rate in the tables pm_booking_room, pm_booking_service and pm_booking_activity:
  • ALTER TABLE pm_booking_room ADD ex_tax double DEFAULT 0 AFTER amount, ADD tax_rate double DEFAULT 0 AFTER ex_tax; ALTER TABLE pm_booking_activity ADD ex_tax double DEFAULT 0 AFTER amount, ADD tax_rate double DEFAULT 0 AFTER ex_tax; ALTER TABLE pm_booking_service ADD ex_tax double DEFAULT 0 AFTER amount, ADD tax_rate double DEFAULT 0 AFTER ex_tax;
  • >> New table pm_booking_payment:
  • CREATE TABLE pm_booking_payment( id int NOT NULL AUTO_INCREMENT, id_booking int NOT NULL, descr varchar(100), method varchar(100), amount double DEFAULT 0, trans varchar(100), PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_booking_payment ADD CONSTRAINT booking_payment_fkey FOREIGN KEY (id_booking) REFERENCES pm_booking(id) ON UPDATE NO ACTION ON DELETE CASCADE;
  • >> New payment options reference:
  • UPDATE pm_booking SET payment_method = 'arrival' WHERE payment_method = 'On arrival'; UPDATE pm_booking SET payment_method = 'check' WHERE payment_method = 'Check'; UPDATE pm_booking SET payment_method = 'paypal' WHERE payment_method = 'PayPal'; UPDATE pm_booking SET payment_method = 'card' WHERE payment_method = 'Credit card (2Checkout.com)';
  • >> Column payment_method renamed:
  • ALTER TABLE pm_booking CHANGE payment_method payment_option varchar(50);
  • /templates/default/models/booking.php
  • /templates/default/models/booking-activities.php
  • /templates/default/models/details.php
  • /templates/default/models/summary.php
  • /templates/default/models/payment.php
  • /templates/default/common/functions.php
  • /templates/default/common/get_days.php
  • /templates/default/common/get_days_activity.php
  • /templates/default/common/get_activity_sessions.php
  • /templates/default/common/update_booking.php
  • /templates/default/common/booking-popup.php
  • /templates/default/common/cancel_booking.php
  • /includes/payments/2checkout_notify.php
  • /includes/payments/paypal_notify.php
  • /admin/modules/booking/booking/config.xml
  • /admin/includes/langs/*
  • /admin/settings.php
  • # New service price types
  • /templates/default/models/details.php
  • /templates/default/common/update_booking.php
  • /admin/modules/booking/service/config.xml
  • # Booking overview panel
  • /admin/modules/booking/booking/*
  • /admin/modules/default/list.php
  • /admin/modules/default/form.php
  • /admin/includes/langs/*
  • /admin/css/layout.css
  • /admin/css/print.css
  • /admin/css/pms.css
  • /common/js/custom.js
  • /common/lib.php
  • /common/db.sql
  • >> New table pm_room_closing
  • CREATE TABLE pm_room_closing( id int NOT NULL AUTO_INCREMENT, id_room int NOT NULL, from_date int, to_date int, stock int DEFAULT 0, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_room_closing ADD CONSTRAINT room_closing_fkey FOREIGN KEY (id_room) REFERENCES pm_room(id) ON DELETE CASCADE ON UPDATE NO ACTION;
  • # Possibility to block several periods per room
  • /templates/default/models/booking.php
  • /templates/default/common/functions.php
  • /templates/default/common/get_days.php
  • /admin/includes/langs/*
  • >> New entry CLOSING_DATES
  • /admin/modules/booking/room/config.xml
  • # Filling fields with GET values
  • /admin/modules/default/form.php
  • # Numeric value restriction
  • /admin/includes/inc_header_form.php
  • # Braintree payment option
  • /common/config.php
  • >> New entries BRAINTREE_MERCHANT_ID, BRAINTREE_PUBLIC_KEY, BRAINTREE_PRIVATE_KEY
  • /admin/settings.php
  • /includes/payments/braintree/
  • /templates/default/models/payment.php
  • # Select children age ranges
  • /admin/includes/langs/*
  • >> New entries CHILDREN_RATES, MIN_AGE and MAX_AGE
  • /admin/modules/booking/rate/config.xml
  • /common/db.sql
  • >> New table pm_rate_child
  • CREATE TABLE pm_rate_child( id int NOT NULL AUTO_INCREMENT, id_rate int NOT NULL, min_age int, max_age int, price double DEFAULT 0, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_rate_child ADD CONSTRAINT rate_child_fkey FOREIGN KEY (id_rate) REFERENCES pm_rate(id) ON DELETE CASCADE ON UPDATE NO ACTION;
  • >> New entries in the table pm_text
  • INSERT INTO pm_text (id, lang, name, value) VALUES (180, 1, 'CHILDREN_AGE', 'Age des enfants'), (180, 2, 'CHILDREN_AGE', 'Age of children'), (180, 3, 'CHILDREN_AGE', 'Age of children');
  • /templates/default/models/booking.php
  • /templates/default/common/change_num_rooms.php
  • /templates/default/common/change_num_people.php
  • /templates/default/common/functions.php
  • # Hotel registration
  • /templates/default/common/header.php
  • /templates/default/common/register/signup.php
  • /common/db.sql
  • >> New entries in the table pm_text
  • INSERT INTO pm_text (id, lang, name, value) VALUES (181, 1, 'I_AM_HOTEL_OWNER', 'Je suis propriétaire'), (181, 2, 'I_AM_HOTEL_OWNER', 'I am a hotel owner'), (181, 3, 'I_AM_HOTEL_OWNER', 'I am a hotel owner'), (182, 1, 'I_AM_TRAVELER', 'Je suis vacancier'), (182, 2, 'I_AM_TRAVELER', 'I am a traveler'), (182, 3, 'I_AM_TRAVELER', 'I am a traveler');
  • # Bug on extra tables for multilingual modules
  • /admin/includes/fn_form.php
  • # Use of official Bootstrap CDN
  • /templates/default/common/header.php
  • # Bug on booking request
  • /templates/default/models/booking.php
  • # Bug in the alerts on submitting booking details
  • /templates/default/common/footer.php
  • /js/custom.js

Version 6

6.3.1 7 December 2018

  • fix Wrong path of PHPMailer
Files to replace (3)
  • # Wrong path of PHPMailer
  • /common/phpmailer/ (replace all existing content)
  • /common/lib.php

6.3.0 4 October 2018

  • new Mandatory services and extra services per period
  • new View only permission
  • new reCaptcha languages
  • new Room blocked during the booking process + Booking reminder
  • fix Special characters in emails headers
  • fix RTL issue when foreign languages disabled
  • fix Wrong dates manually entered blocked
Files to replace (40)
  • # Mandatory services and extra services per period
  • /common/db.sql
  • >> New columns mandatory, start_date, end_date in the table pm_service
  • ALTER TABLE pm_service ADD mandatory INT DEFAULT 0 AFTER taxes, ADD start_date INT NULL AFTER mandatory, ADD end_date INT NULL AFTER start_date;
  • /admin/includes/langs/*
  • >> New entry MANDATORY
  • /admin/modules/booking/service/config.xml
  • /js/custom.js
  • /templates/default/models/details.php
  • /templates/default/common/update_booking.php
  • # View only permission
  • /admin/includes/config.xsd
  • /admin/modules/default/list.php
  • /admin/modules/default/form.php
  • /admin/modules/booking/booking/config.xml (editor/manager permissions)
  • # reCaptcha languages
  • /templates/default/common/header.php
  • # Room blocked during the booking process + Booking reminder
  • /common/db.sql
  • >> New table pm_room_lock
  • CREATE TABLE pm_room_lock( id int NOT NULL AUTO_INCREMENT, id_room int, from_date int, to_date int, add_date int, sessid varchar(50), PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_room_lock ADD CONSTRAINT room_lock_fkey FOREIGN KEY (id_room) REFERENCES pm_room(id) ON DELETE CASCADE ON UPDATE NO ACTION;
  • >> New entries in the table pm_text (! as usual, replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (179, 1, 'COMPLETE_YOUR_BOOKING', 'Terminez votre réservation !'), (179, 2, 'COMPLETE_YOUR_BOOKING', 'Complete your booking!'), (179, 3, 'COMPLETE_YOUR_BOOKING', 'Complete your booking!');
  • /js/custom.js
  • /templates/default/models/booking.php
  • /templates/default/models/booking-activities.php
  • /templates/default/models/details.php
  • /templates/default/models/summary.php
  • /templates/default/models/payment.php
  • /templates/default/common/cancel_booking.php
  • /templates/default/common/functions.php
  • /templates/default/common/get_days.php
  • /templates/default/common/footer.php
  • /templates/default/css/main.css
  • # Special characters in emails headers
  • /common/lib.php
  • # RTL issue when foreign languages disabled
  • /common/define.php
  • # Wrong dates manually entered blocked
  • /templates/default/models/booking.php

6.2.2 15 July 2018

  • fix New currency converter
Files to replace (2)
  • # New currency converter
  • /includes/change_currency.php

6.2.1 8 June 2018

  • new Possibility to include new format of Analytics code
  • new New version of PHPMailer
  • fix Privacy agreement missing in account section
Files to replace (8)
  • # Possibility to include new format of Analytics code
  • /templates/default/common/header.php
  • /templates/default/common/footer.php
  • # New version of PHPMailer
  • /common/phpmailer/ (replace all existing content)
  • /common/lib.php
  • # Privacy agreement missing in account section
  • /templates/default/models/account.php

6.2.0 21 May 2018

  • new Multi vendors
  • new Font Awesome V5 (icon font)
  • new reCAPTCHA form validation
  • new GDPR compliance
  • new New CKEditor special styles
  • fix Currencies: Google Finance API no longer exists
  • fix Timezone timestamps
  • fix Constant error in Comments and Contact
  • fix Search in the listings of the admin panel (page > 1)
  • fix Missing translation in Pages module
  • fix Modal popup layout
  • fix Missing destination URL
  • fix Wrong number of rooms remaining
  • fix Possibility to edit publish date before current year
  • fix Incorrect shared image path for websites in a subfolder
  • fix Bug on extra tables for multilingual modules
  • fix Bug on extra tables for non multilingual modules
Files to replace (111)
  • # Multi vendors
  • /admin/settings.php
  • /admin/includes/langs/*
  • >> New entries ENABLE_MULTI_VENDORS and ENABLE_MULTI_VENDORS_NOTICE
  • /admin/modules/booking/hotel/config.xml
  • /common/db.sql
  • >> New column paypal_email in the table pm_hotel
  • ALTER TABLE pm_hotel ADD COLUMN paypal_email VARCHAR(250);
  • /common/config(-tmp).php
  • >> New constant ENABLE_MULTI_VENDORS
  • /templates/default/models/payment.php
  • # Font Awesome V5 (icon font)
  • /admin/css/layout.css
  • /admin/index.php
  • /admin/setup.php
  • /admin/login.php
  • /admin/settings.php
  • /admin/includes/inc_header_common.php
  • /admin/includes/inc_top.php
  • /admin/modules/default/list.php
  • /admin/modules/default/form.php
  • /admin/modules/article/config.xml
  • /admin/modules/currency/config.xml
  • /admin/modules/media/config.xml
  • /admin/modules/social/config.xml
  • /admin/modules/booking/booking/config.xml
  • /admin/modules/booking/hotel/config.xml
  • /admin/modules/booking/room/config.xml
  • /admin/modules/booking/activity/config.xml
  • /admin/modules/booking/activity_session/config.xml
  • /templates/default/common/header.php
  • /templates/default/common/footer.php
  • /templates/default/common/comments.php
  • /templates/default/common/get_articles_blog.php
  • /templates/default/common/change_num_people.php
  • /templates/default/common/change_num_rooms.php
  • /templates/default/common/functions.php
  • /templates/default/common/get_activities.php
  • /templates/default/common/get_activity_sessions.php
  • /templates/default/common/search.php
  • /templates/default/widgets/contact_informations.php
  • /templates/default/models/article.php
  • /templates/default/models/article-blog.php
  • /templates/default/models/contact.php
  • /templates/default/models/booking.php
  • /templates/default/models/booking-activities.php
  • /templates/default/models/details.php
  • /templates/default/models/summary.php
  • /templates/default/models/payment.php
  • /templates/default/models/hotel.php
  • /templates/default/models/activity.php
  • /templates/default/css/layout.css
  • /templates/default/css/colors.css (all color schemes)
  • /templates/default/css/main.css
  • /common/css/shortcodes.css
  • # reCAPTCHA form validation
  • /admin/settings.php
  • /admin/includes/langs/*
  • >> New entries CAPTCHA_PKEY, CAPTCHA_PKEY_NOTICE and CAPTCHA_SKEY
  • /includes/recaptchalib.php
  • /common/config(-tmp).php
  • >> New constants CAPTCHA_PKEY and CAPTCHA_SKEY
  • /templates/default/common/header.php
  • /templates/default/common/send_comment.php
  • /templates/default/common/comments.php
  • /templates/default/models/contact.php
  • # GDPR compliance
  • /common/db.sql
  • >> New entries in table pm_text (! as usual, replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (178, 1, 'PRIVACY_POLICY_AGREEMENT', 'J''accèpte que les informations recueillies par ce formulaire soient stockées dans un fichier informatisé afin de traiter ma demande. Conformément au "Réglement Général sur la Protection des Données", vous pouvez exercer votre droit d''accès aux données vous concernant et les faire rectifier via le formulaire de contact.'), (178, 2, 'PRIVACY_POLICY_AGREEMENT', 'I agree that the information collected by this form will be stored in a database in order to process my request. In accordance with the "General Data Protection Regulation", you can exercise your right to access to your data and make them rectified via the contact form.'), (178, 3, 'PRIVACY_POLICY_AGREEMENT', 'I agree that the information collected by this form will be stored in a database in order to process my request. In accordance with the "General Data Protection Regulation", you can exercise your right to access to your data and make them rectified via the contact form.');
  • /templates/default/models/contact.php
  • /templates/default/models/details.php
  • /templates/default/common/register/signup.php
  • # New CKEditor special styles
  • /admin/js/plugins/ckeditor/styles.js
  • # Currencies: Google Finance API no longer exists
  • /includes/change_currency.php
  • # Timezone timestamps
  • /templates/default/models/details.php
  • /templates/default/models/summary.php
  • /templates/default/models/payment.php
  • /templates/default/models/account.php
  • /templates/default/common/booking-popup.php
  • # Constant error in Comments and Contact
  • /templates/default/common/send_comment.php
  • /templates/default/common/comments.php
  • /templates/default/models/contact.php
  • # Search in the listings of the admin panel (page > 1)
  • /admin/modules/default/list.php
  • # Missing translation in Pages module
  • /admin/modules/page/config.xml
  • # Modal popup layout
  • /templates/default/css/layout.css (.white-popup-block)
  • # Missing destination URL
  • /common/db.sql
  • >> article_model value for the page Bookings
  • UPDATE pm_page SET article_model = 'booking' WHERE page_model = 'booking';
  • # Wrong number of rooms remaining
  • /templates/default/common/functions.php
  • # Possibility to edit publish date before current year
  • /admin/modules/default/form.php
  • # Incorrect shared image path for websites in a subfolder
  • /templates/default/models/article.php
  • /templates/default/models/article-blog.php
  • /templates/default/models/hotel.php
  • /templates/default/models/activity.php
  • # Bug on extra tables for multilingual modules
  • /admin/includes/config.xsd
  • # Bug on extra tables for non multilingual modules
  • /admin/includes/fn_form.php
  • /admin/modules/default/form.php

6.1.3 11 February 2018

  • fix Modal popup layout
  • fix Missing destination URL (404)
  • fix Wrong number of rooms remaining
  • fix Incorrect shared image path for websites in a subfolder
Files to replace (8)
  • # Modal popup layout
  • /templates/default/css/layout.css (.white-popup-block)
  • # Missing destination URL (404)
  • /common/db.sql
  • # Wrong number of rooms remaining
  • /templates/default/common/functions.php
  • # Incorrect shared image path for websites in a subfolder
  • /templates/default/models/article.php

6.1.2 28 December 2017

  • new Possibility to book as guest
  • fix Calendar issue for multi rooms bookings
Files to replace (7)
  • # Possibility to book as guest
  • /common/db.sql
  • >> New entries in the table pm_text (! as usual, replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (177, 1, 'CONTINUE_AS_GUEST', 'Continuer sans m''enregistrer'), (177, 2, 'CONTINUE_AS_GUEST', 'Continue as guest'), (177, 3, 'CONTINUE_AS_GUEST', 'Continue as guest');
  • /templates/default/models/details.php
  • # Calendar issue for multi rooms bookings
  • /templates/default/common/get_days.php

6.1.1 15 December 2017

  • new Page speed improvement
Files to replace (16)
  • # Page speed improvement
  • /common/lib.php
  • /templates/default/common/room-popup.php
  • /templates/default/common/comments.php
  • /templates/default/common/header.php
  • /templates/default/widgets/latest_articles.php
  • /templates/default/models/booking.php
  • /templates/default/models/home.php
  • /templates/default/models/page.php
  • /templates/default/models/article.php
  • /templates/default/models/article-blog.php
  • /templates/default/models/hotel.php
  • /templates/default/models/activity.php
  • /templates/default/css/layout.css
  • /templates/default/css/main.css
  • /js/custom.js

6.1.0 7 December 2017

  • new Booking results: graphical improvements
  • new Extended module Destinations
  • fix Availability issue for booked rooms with several instances
  • fix Missing article title
  • fix Error in services on booking request
Files to replace (35)
  • # Booking results: graphical improvements
  • /templates/default/common/change_num_rooms.php
  • /templates/default/common/change_num_people.php
  • # Extended module Destinations
  • /common/db.sql
  • >> Modifications of the table pm_destination (replace the lang id on line 4 with your default lang id):
  • ALTER TABLE pm_destination CHANGE id id int UNSIGNED NOT NULL; ALTER TABLE pm_destination DROP PRIMARY KEY; ALTER TABLE pm_destination ADD COLUMN lang int AFTER id; UPDATE pm_destination SET lang = 2; ALTER TABLE pm_destination ADD PRIMARY KEY(id,lang); ALTER TABLE pm_destination CHANGE id id int AUTO_INCREMENT NOT NULL; ALTER TABLE pm_destination ADD CONSTRAINT destination_lang_fkey FOREIGN KEY (lang) REFERENCES pm_lang(id) ON DELETE CASCADE ON UPDATE NO ACTION; ALTER TABLE pm_destination ADD COLUMN title varchar(250) AFTER name; ALTER TABLE pm_destination ADD COLUMN subtitle varchar(250) AFTER title; ALTER TABLE pm_destination ADD COLUMN title_tag varchar(250) AFTER subtitle; ALTER TABLE pm_destination ADD COLUMN alias varchar(100) AFTER title_tag; ALTER TABLE pm_destination ADD COLUMN descr text AFTER alias; ALTER TABLE pm_destination ADD COLUMN text longtext AFTER descr; ALTER TABLE pm_destination ADD COLUMN video text AFTER text; ALTER TABLE pm_destination ADD COLUMN lat double AFTER video; ALTER TABLE pm_destination ADD COLUMN lng double AFTER lat; ALTER TABLE pm_destination ADD COLUMN home int DEFAULT 0 AFTER lng; ALTER TABLE pm_destination ADD COLUMN rank int DEFAULT 0 AFTER checked;
  • >> Booking page modification:
  • UPDATE pm_page SET article_model = 'booking' WHERE page_model = 'booking';
  • >> New table pm_destination_file:
  • CREATE TABLE pm_destination_file( id int NOT NULL AUTO_INCREMENT, lang int NOT NULL, id_item int NOT NULL, home int DEFAULT 0, checked int DEFAULT 1, rank int DEFAULT 0, file varchar(250), label varchar(250), type varchar(20), PRIMARY KEY(id, lang) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_destination_file ADD CONSTRAINT destination_file_fkey FOREIGN KEY (id_item, lang) REFERENCES pm_destination(id, lang) ON DELETE CASCADE ON UPDATE NO ACTION; ALTER TABLE pm_destination_file ADD CONSTRAINT destination_file_lang_fkey FOREIGN KEY (lang) REFERENCES pm_lang(id) ON DELETE CASCADE ON UPDATE NO ACTION;
  • >> New entries in the table pm_text (! as usual, replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (174, 1, 'NUM_ROOMS', 'Nb chambres'), (174, 2, 'NUM_ROOMS', 'Num rooms'), (174, 3, 'NUM_ROOMS', 'Num rooms'), (175, 1, 'TOP_DESTINATIONS', 'Top Destinations'), (175, 2, 'TOP_DESTINATIONS', 'Top Destinations'), (175, 3, 'TOP_DESTINATIONS', 'Top Destinations'), (176, 1, 'BEST_RATES_SUBTITLE', 'Meilleurs tarifs à partir de seulement {min_price}'), (176, 2, 'BEST_RATES_SUBTITLE', 'Best rates starting at just {min_price}'), (176, 3, 'BEST_RATES_SUBTITLE', 'Best rates starting at just {min_price}');
  • >> New page Destinations (! replace with your translation and lang ids):
  • INSERT INTO pm_page (id, lang, name, title, subtitle, title_tag, alias, descr, robots, keywords, intro, text, id_parent, page_model, article_model, home, checked, rank, add_date, edit_date, comment, rating, system) VALUES (20, 1, 'Destinations', 'Destinations', '', 'Destinations', 'destinations', '', 'index,follow', '', '', '', NULL, 'destinations', '', 0, 1, 7, 1510305821, 1512560230, 0, 0, 1), (20, 2, 'Destinations', 'Destinations', '', 'Destinations', 'destinations', '', 'index,follow', '', '', '', NULL, 'destinations', '', 0, 1, 7, 1510305821, 1512560230, 0, 0, 1), (20, 3, 'Destinations', 'Destinations', '', 'Destinations', 'destinations', '', 'index,follow', '', '', '', NULL, 'destinations', '', 0, 1, 7, 1510305821, 1512560230, 0, 0, 1); INSERT INTO pm_menu (id, lang, name, title, id_parent, item_type, id_item, url, main, footer, checked, rank) VALUES (20, 1, 'Destinations', '', NULL, 'page', 20, '', 1, 0, 1, 4), (20, 2, 'Destinations', '', NULL, 'page', 20, '', 1, 0, 1, 4), (20, 3, 'Destinations', '', NULL, 'page', 20, '', 1, 0, 1, 4);
  • /admin/modules/booking/destination/config.xml
  • /js/custom.js
  • /js/plugins/jquery.event.calendar/css/jquery.event.calendar.css
  • /templates/default/common/get_hotels.php
  • /templates/default/common/get_destinations.php
  • /templates/default/common/search.php
  • /templates/default/common/search_destination.php
  • /templates/default/models/destinations.php
  • /templates/default/models/home.php
  • /templates/default/models/booking.php
  • /templates/default/css/main.css
  • /templates/default/css/layout.css
  • /templates/default/css/colors.css
  • # Availability issue for booked rooms with several instances
  • /templates/default/models/booking.php
  • /templates/default/common/functions.php
  • # Missing article title
  • /templates/default/common/page_header.php
  • # Error in services on booking request
  • /templates/default/models/details.php

6.0.0 9 November 2017

  • note Be careful: Major update with some files which have moved. Main feature: Possibility to book multiple rooms per booking.
  • new Possibility to book multiple rooms per booking
  • new New booking summary layout
  • fix Wrong number format on booking activities
  • fix Character encoding
  • fix Hotel website URL missing
  • fix Activity sessions hour format
  • fix Empty multiselect field issue
Files to replace (49)
  • # Possibility to book multiple rooms per booking / New booking summary layout
  • /common/db.sql
  • >> New table pm_booking_room
  • CREATE TABLE pm_booking_room( id int NOT NULL AUTO_INCREMENT, id_booking int NOT NULL, id_room int, id_hotel int, title varchar(250), num varchar(10), children int DEFAULT 0, adults int DEFAULT 0, amount double DEFAULT 0, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_booking_room ADD CONSTRAINT booking_room_fkey FOREIGN KEY (id_booking) REFERENCES pm_booking(id) ON DELETE CASCADE ON UPDATE NO ACTION;
  • >> New entries in the table pm_text (! as usual, replace with your translation and lang ids)
  • INSERT INTO pm_text (id, lang, name, value) VALUES (166, 1, 'ROOMS', 'chambres'), (166, 2, 'ROOMS', 'rooms'), (166, 3, 'ROOMS', 'rooms'), (167, 1, 'ADULT', 'adulte'), (167, 2, 'ADULT', 'adult'), (167, 3, 'ADULT', 'adult'), (168, 1, 'CHILD', 'enfant'), (168, 2, 'CHILD', 'child'), (168, 3, 'CHILD', 'child'), (169, 1, 'ACTIVITY', 'Activité'), (169, 2, 'ACTIVITY', 'Activity'), (169, 3, 'ACTIVITY', 'Activity'), (170, 1, 'DATE', 'Date'), (170, 2, 'DATE', 'Date'), (170, 3, 'DATE', 'Date'), (171, 1, 'QUANTITY', 'Quantité'), (171, 2, 'QUANTITY', 'Quantity'), (171, 3, 'QUANTITY', 'Quantity'), (172, 1, 'SERVICE', 'Service'), (172, 2, 'SERVICE', 'Service'), (172, 3, 'SERVICE', 'Service');
  • >> Emails content modified (BOOKING_CONFIRMATION, BOOKING_REQUEST)
  • UPDATE pm_email_content SET content = '<p><b>Adresse de facturation</b><br>{firstname} {lastname}<br>{address}<br>{postcode} {city}<br>Société : {company}<br>Téléphone : {phone}<br>Mobile : {mobile}<br>Email : {email}</p><p><strong>Détails de la réservation</strong><br>Arrivée : <b>{Check_in}</b><br>Départ : <b>{Check_out}</b><br><b>{num_nights}</b> nuit(s)<br><b>{num_guests}</b> personne(s) - Adulte(s) : <b>{num_adults}</b> / Enfant(s) : <b>{num_children}</b></p><p><b>Chambres</b></p><p>{rooms}</p><p><b>Services supplémentaires</b></p><p>{extra_services}</p><p><b>Activités</b></p><p>{activities}</p><p><b>Commentaires</b><br>{comments}</p>' WHERE name = 'BOOKING_REQUEST' AND lang = 1; UPDATE pm_email_content SET content = '<p><b>Billing address</b><br>{firstname} {lastname}<br>{address}<br>{postcode} {city}<br>Company: {company}<br>Phone: {phone}<br>Mobile: {mobile}<br>Email: {email}</p><p><strong>Booking details</strong><br>Check in <b>{Check_in}</b><br>Check out <b>{Check_out}</b><br><b>{num_nights}</b> nights<br><b>{num_guests}</b> persons - Adults: <b>{num_adults}</b> / Children: <b>{num_children}</b></p><p><strong>Rooms</strong></p><p>{rooms}</p><p><b>Extra services</b></p><p>{extra_services}</p><p><b>Activities</b></p><p>{activities}</p><p><b>Comments</b><br>{comments}</p>' WHERE name = 'BOOKING_REQUEST' AND lang = 2; UPDATE pm_email_content SET content = '<p><b>Billing address</b><br>{firstname} {lastname}<br>{address}<br>{postcode} {city}<br>Company: {company}<br>Phone: {phone}<br>Mobile: {mobile}<br>Email: {email}</p><p><strong>Booking details</strong><br>Check in <b>{Check_in}</b><br>Check out <b>{Check_out}</b><br><b>{num_nights}</b> nights<br><b>{num_guests}</b> persons - Adults: <b>{num_adults}</b> / Children: <b>{num_children}</b></p><p><strong>Rooms</strong></p><p>{rooms}</p><p><b>Extra services</b></p><p>{extra_services}</p><p><b>Activities</b></p><p>{activities}</p><p><b>Comments</b><br>{comments}</p>' WHERE name = 'BOOKING_REQUEST' AND lang = 3; UPDATE pm_email_content SET content = '<p><b>Adresse de facturation</b><br>{firstname} {lastname}<br>{address}<br>{postcode} {city}<br>Société : {company}<br>Téléphone : {phone}<br>Mobile : {mobile}<br>Email : {email}</p><p><strong>Détails de la réservation</strong><br>Arrivée : <b>{Check_in}</b><br>Départ : <b>{Check_out}</b><br><b>{num_nights}</b> nuit(s)<br><b>{num_guests}</b> personne(s) - Adulte(s) : <b>{num_adults}</b> / Enfant(s) : <b>{num_children}</b></p><p><b>Chambres</b></p><p>{rooms}</p><p><b>Services supplémentaires</b></p><p>{extra_services}</p><p><b>Activités</b></p><p>{activities}</p><p>Taxe de séjour : {tourist_tax}<br>Réduction: {discount}<br>{taxes}<br>Total : <strong>{total} TTC</strong></p><p>Acompte : <strong>{down_payment} TTC</strong></p><p><b>Commentaires</b><br>{comments}</p><p>{payment_notice}</p>' WHERE name = 'BOOKING_CONFIRMATION' AND lang = 1; UPDATE pm_email_content SET content = '<p><b>Billing address</b><br>{firstname} {lastname}<br>{address}<br>{postcode} {city}<br>Company: {company}<br>Phone: {phone}<br>Mobile: {mobile}<br>Email: {email}</p><p><strong>Booking details</strong><br>Check in <b>{Check_in}</b><br>Check out <b>{Check_out}</b><br><b>{num_nights}</b> nights<br><b>{num_guests}</b> persons - Adults: <b>{num_adults}</b> / Children: <b>{num_children}</b></p><p><strong>Rooms</strong></p><p>{rooms}</p><p><b>Extra services</b></p><p>{extra_services}</p><p><b>Activities</b></p><p>{activities}</p><p>Tourist tax: {tourist_tax}<br>Discount: {discount}<br>{taxes}<br>Total: <strong>{total} incl. VAT</strong></p><p>Down payment: <strong>{down_payment} incl. VAT</strong></p><p><b>Comments</b><br>{comments}</p><p>{payment_notice}</p>' WHERE name = 'BOOKING_CONFIRMATION' AND lang = 2; UPDATE pm_email_content SET content = '<p><b>Billing address</b><br>{firstname} {lastname}<br>{address}<br>{postcode} {city}<br>Company: {company}<br>Phone: {phone}<br>Mobile: {mobile}<br>Email: {email}</p><p><strong>Booking details</strong><br>Check in <b>{Check_in}</b><br>Check out <b>{Check_out}</b><br><b>{num_nights}</b> nights<br><b>{num_guests}</b> persons - Adults: <b>{num_adults}</b> / Children: <b>{num_children}</b></p><p><strong>Rooms</strong></p><p>{rooms}</p><p><b>Extra services</b></p><p>{extra_services}</p><p><b>Activities</b></p><p>{activities}</p><p>Tourist tax: {tourist_tax}<br>Discount: {discount}<br>{taxes}<br>Total: <strong>{total} incl. VAT</strong></p><p>Down payment: <strong>{down_payment} incl. VAT</strong></p><p><b>Comments</b><br>{comments}</p><p>{payment_notice}</p>' WHERE name = 'BOOKING_CONFIRMATION' AND lang = 3;
  • >> Copy the following PHP script (add the opening php tag at the beginning) in a new file (e.g. update.php) in the root of your website (beside index.php) and execute the script, then remove the file:
  • require('common/lib.php'); require('common/define.php'); $i = 0; $result_booking = $db->query('SELECT * FROM pm_booking'); foreach($result_booking as $row){ $id_booking = $row['id']; $id_room = $row['id_room']; $id_hotel = $row['id_hotel']; $room_title = $row['room']; $amount = $row['amount']; $num_adults = $row['adults']; $num_children = $row['children']; $data = array(); $data['id'] = null; $data['id_booking'] = $id_booking; $data['id_room'] = $id_room; $data['id_hotel'] = $id_hotel; $data['title'] = $room_title; $data['amount'] = $amount; $data['adults'] = $num_adults; $data['children'] = $num_children; $result = db_prepareInsert($db, 'pm_booking_room', $data); if($result->execute() !== false) $i++; else die('error'); } echo $i.' bookings successfully modified!';
  • >> Remove the columns id_room and room from the table pm_booking (after the script has been executed):
  • ALTER TABLE pm_booking DROP COLUMN id_room; ALTER TABLE pm_booking DROP COLUMN room;
  • /common/lib.php
  • /js/custom.js
  • /js/plugins/jquery.event.calendar/
  • /admin/modules/booking/booking/config.xml
  • /admin/includes/langs/en.ini (+ other languages)
  • >> New entry: NUM
  • /templates/default/common/get_days.php
  • /templates/default/common/change_num_rooms.php
  • /templates/default/common/change_num_people.php
  • /templates/default/common/functions.php
  • /templates/default/common/search.php
  • /templates/default/common/booking-popup.php
  • /templates/default/common/update_booking.php
  • /templates/default/common/header.php
  • /includes/payments/paypal_notify.php
  • /includes/payments/2checkout_notify.php
  • /includes/change_currency.php
  • /templates/default/models/booking.php
  • /templates/default/models/details.php
  • /templates/default/models/summary.php
  • /templates/default/models/payment.php
  • /templates/default/models/account.php
  • /templates/default/css/main.css (#booking-summary)
  • /templates/default/css/colors.css (#booking-summary)
  • /common/js/plugins/magnific-popup/magnific-popup.css
  • # Wrong number format on booking activities
  • /templates/default/models/booking-activities.php
  • /templates/default/common/get_activity_sessions.php
  • # Character encoding
  • /common/lib.php
  • /admin/settings.php
  • # Hotel website URL missing
  • /templates/default/models/hotel.php
  • # Activity sessions hour format
  • /templates/default/common/get_activity_sessions.php
  • # Empty multiselect field issue
  • /admin/modules/default/form.php

Version 5

5.2.3 6 November 2017

  • fix Bug on changing currency (API no longer exists)
  • fix User restriction on filters (listing)
Files to replace (4)
  • # Bug on changing currency (API no longer exists)
  • /templates/default/common/change_currency.php
  • # User restriction on filters (listing)
  • /admin/includes/fn_list.php

5.2.2 30 September 2017

  • new New admin panel languages (Spanish, Dutch, Portuguese)
  • new Possibility to bind a booking to a user (customer)
  • fix Lazyloader image loading
  • fix Booking activities: white space on mobile
  • fix DST/non GMT issue
Files to replace (20)
  • # New admin panel languages (Spanish, Dutch, Portuguese)
  • /admin/includes/langs/es.ini
  • /admin/includes/langs/nl.ini
  • /admin/includes/langs/pt.ini
  • # Possibility to bind a booking to a user (customer)
  • /admin/modules/booking/booking/config.xml
  • # Lazyloader image loading
  • /js/plugins/lazyloader/lazyloader.js
  • # Booking activities: white space on mobile
  • /templates/default/css/main.css (.activity-data)
  • /templates/default/models/booking-activities.php
  • # DST/non GMT issue
  • /common/lib.php
  • /admin/includes/fn_list.php
  • /admin/includes/fn_form.php
  • /admin/modules/default/form.php
  • /templates/default/common/get_days.php
  • /templates/default/common/get_days_activity.php
  • /templates/default/models/booking.php
  • /templates/default/models/booking-activities.php

5.2.1 5 September 2017

  • fix PayPal / 2Checkout callback issue
Files to replace (3)
  • # PayPal / 2Checkout callback issue
  • /templates/default/common/paypal_notify.php
  • /templates/default/models/payment.php

5.2.0 29 August 2017

  • new Confirmation email sent to the hotel owner
  • new Rooms blocked by awaiting bookings (on arrival or check)
  • new Possibility to set a min amount for down payment
  • fix Characters encoding issue
  • fix Parent menu item issue
  • fix Wrong comment form URL
Files to replace (25)
  • # Confirmation email sent to the hotel owner
  • /templates/default/models/details.php
  • /templates/default/models/payment.php
  • /templates/default/common/paypal_notify.php
  • /templates/default/common/2checkout_notify.php
  • # Rooms blocked by awaiting bookings (on arrival or check)
  • /templates/default/models/booking.php
  • /templates/default/common/get_days.php
  • /templates/default/common/get_activity_sessions.php
  • /templates/default/common/get_days_activity.php
  • # Possibility to set a min amount for down payment
  • /admin/settings.php
  • /admin/includes/langs/en.ini (+ fr.ini and all language files)
  • >> New entries: DOWN_PAYMENT_AMOUNT and DOWN_PAYMENT_NOTICE
  • /common/config(-tmp).php
  • >> New entry: DOWN_PAYMENT_AMOUNT
  • /templates/default/models/booking.php
  • /templates/default/models/booking-activities.php
  • /templates/default/common/update_booking.php
  • # Characters encoding issue
  • /common/lib.php
  • # Parent menu item issue
  • /templates/default/common/header.php
  • # Wrong comment form URL
  • /templates/default/common/get_activities.php

5.1.0 3 August 2017

  • new Week days in grey if not included in a package
  • new Booking system checks awaiting (< 15 min) bookings
  • new Room price displayed on homepage
  • new Pages and articles global variables
  • fix SMTP issue with secured connection on email sending
  • fix Field Number of rooms now required in module Rooms
  • fix Booking calendar: display of full days fixed
  • fix Bug fixed in nights number with DST
  • fix Error in default price
  • fix Destination reset if empty field
  • fix Bug fixed in booking search total amount
  • fix Bug in error management since PHP7
  • fix Bug on booking details printing
  • fix Wrong max price in the filters
  • fix Hidden fields reseted on login/sign up
Files to replace (37)
  • # Week days in grey if not included in a package / Booking system checks awaiting (< 15 min) bookings
  • /templates/default/models/booking.php
  • /templates/default/common/get_days.php
  • # Room price displayed on homepage
  • /templates/default/css/main.css
  • /templates/default/models/home.php
  • # Pages and articles global variables
  • /index.php
  • /common/define.php
  • # SMTP issue with secured connection on email sending
  • /common/lib.php
  • # Field Number of rooms now required in module Rooms
  • /admin/modules/booking/room/config.xml
  • # Booking calendar: display of full days fixed
  • /templates/default/common/get_days.php
  • /js/plugins/jquery.event.calendar/js/jquery.event.calendar.js
  • # Bug fixed in nights number with DST
  • /templates/default/models/booking.php
  • # Error in default price
  • /templates/default/models/hotel.php
  • /templates/default/common/get_hotels.php
  • /templates/default/common/get_activities.php
  • # Destination reset if empty field
  • /js/custom.js
  • # Bug fixed in booking search total amount
  • /templates/default/models/booking.php
  • # Bug in error management since PHP7
  • /templates/default/common/footer.php
  • /admin/modules/default/common.php
  • /common/setenv.php
  • # Bug on booking details printing
  • /templates/default/common/booking-popup.php
  • # Wrong max price in the filters
  • /templates/default/common/search.php
  • # Hidden fields reseted on login/sign up
  • /js/custom.js
  • /templates/default/common/header.php

5.0.0 10 July 2017

  • new Multilingual support for admin panel
  • new Graphical adjustments
  • new Possibility to share hotel
  • new New module Coupons
  • new New module Email templates
  • fix Search error with non-alphabetic characters (Cyrillic, Greek...)
  • fix Bug in error management in admin panel since PHP7
  • fix Bug on booking details printing
  • fix Hidden fields reset on login/sign up
  • fix Additional room images not displayed
  • fix Wrong number format in price range slider
Files to replace (69)
  • # Multilingual support for admin panel
  • /common/define.php
  • /common/config(-tmp).php
  • >> New entry: ADMIN_LANG_FILE
  • /admin/settings.php
  • /admin/includes/langs/
  • /admin/includes/fn_list.php
  • /admin/includes/fn_form.php
  • /admin/includes/fn_module.php
  • /admin/modules/(all_modules)/config.xml
  • # Graphical adjustments
  • /admin/index.php
  • /admin/css/layout.css
  • /admin/modules/default/list.php
  • /admin/modules/default/form.php
  • /common/css/shortcodes.css
  • /templates/default/css/layout.css
  • /templates/default/css/main.css
  • /templates/default/css/colors.css
  • /templates/default/models/hotel.php
  • /templates/default/models/booking.php
  • /templates/default/models/activity.php
  • /templates/default/models/home.php
  • /templates/default/common/header.php
  • /templates/default/common/page-header.php
  • # Possibility to share hotel
  • /templates/default/models/hotel.php
  • # New module Coupons
  • /common/db.sql
  • >> New table pm_coupon:
  • CREATE TABLE pm_coupon( id int NOT NULL AUTO_INCREMENT, title varchar(250), code varchar(50), discount double DEFAULT 0, discount_type varchar(10), rooms text, checked int DEFAULT 0, publish_date int, unpublish_date int, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • >> New column "discount" in the table pm_booking:
  • ALTER TABLE pm_booking ADD discount FLOAT NULL DEFAULT 0 AFTER tourist_tax;
  • >> New entries in the table pm_text (! replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (165, 3, 'COUPON_CODE_SUCCESS', 'Congratulations! The coupon code has been successfully added.'), (165, 2, 'COUPON_CODE_SUCCESS', 'Congratulations! The coupon code has been successfully added.'), (165, 1, 'COUPON_CODE_SUCCESS', 'Félicitations ! Le code promo a été ajouté avec succès.'), (164, 3, 'DISCOUNT', 'Discount'), (164, 2, 'DISCOUNT', 'Discount'), (164, 1, 'DISCOUNT', 'Réduction'), (163, 3, 'DO_YOU_HAVE_A_COUPON', 'Do you have a coupon?'), (163, 2, 'DO_YOU_HAVE_A_COUPON', 'Do you have a coupon?'), (163, 1, 'DO_YOU_HAVE_A_COUPON', 'Avez-vous un code promo ?');
  • /templates/default/models/booking.php
  • /templates/default/models/details.php
  • /templates/default/models/summary.php
  • /templates/default/models/payment.php
  • /templates/default/common/paypal_notify.php
  • /templates/default/common/2checkout_notify.php
  • /templates/default/common/update_booking.php
  • /admin/modules/booking/coupon/
  • # New module Email templates
  • /common/db.sql
  • >> New table pm_email_content:
  • CREATE TABLE IF NOT EXISTS pm_email_content( id int NOT NULL AUTO_INCREMENT, lang int NOT NULL, name varchar(50), subject varchar(250), content text, PRIMARY KEY(id, lang) ) ENGINE=INNODB DEFAULT CHARSET=utf8; ALTER TABLE pm_email_content ADD CONSTRAINT email_content_lang_fkey FOREIGN KEY (lang) REFERENCES pm_lang(id) ON DELETE CASCADE ON UPDATE NO ACTION;
  • >> New entries in the table pm_email_content (! replace with your translation and lang ids):
  • INSERT INTO pm_email_content (id, lang, name, subject, content) VALUES (1, 1, 'CONTACT', 'Contact', '<b>Nom:</b> {name}<b>Adresse:</b> {address}<b>Téléphone:</b> {phone}<b>E-mail:</b> {email}<b>Message:</b>{msg}'), (1, 2, 'CONTACT', 'Contact', '<b>Name:</b> {name}<br><b>Address:</b> {address}<br><b>Phone:</b> {phone}<br><b>E-mail:</b> {email}<br><b>Message:</b><br>{msg}'), (1, 3, 'CONTACT', 'Contact', '<b>Name:</b> {name}<b>Address:</b> {address}<b>Phone:</b> {phone}<b>E-mail:</b> {email}<b>Message:</b>{msg}'), (2, 1, 'BOOKING_REQUEST', 'Demande de réservation', '<p><b>Adresse de facturation</b><br>{firstname} {lastname}<br>{address}<br>{postcode} {city}<br>Société : {company}<br>Téléphone : {phone}<br>Mobile : {mobile}<br>Email : {email}</p><p><strong>Détails de la réservation</strong><br>Chambre : <b>{room}</b><br>Arrivée : <b>{Check_in}</b><br>Départ : <b>{Check_out}</b><br><b>{num_nights}</b> nuit(s)<br><b>{num_guests}</b> personne(s) - Adulte(s) : <b>{num_adults}</b> / Enfant(s) : <b>{num_children}</b></p><p><b>Services supplémentaires</b></p><p>{extra_services}</p><p><b>Activités</b></p><p>{activities}</p><p><b>Commentaires</b><br>{comments}</p>'), (2, 2, 'BOOKING_REQUEST', 'Booking request', '<p><b>Billing address</b><br>{firstname} {lastname}<br>{address}<br>{postcode} {city}<br>Company: {company}<br>Phone: {phone}<br>Mobile: {mobile}<br>Email: {email}</p><p><strong>Booking details</strong><br>Room : <b>{room}</b><br>Check in <b>{Check_in}</b><br>Check out <b>{Check_out}</b><br><b>{num_nights}</b> nights<br><b>{num_guests}</b> persons - Adults: <b>{num_adults}</b> / Children: <b>{num_children}</b></p><p><b>Extra services</b></p><p>{extra_services}</p><p><b>Activities</b></p><p>{activities}</p><p><b>Comments</b><br>{comments}</p>'), (2, 3, 'BOOKING_REQUEST', 'Booking request', '<p><b>Billing address</b><br>{firstname} {lastname}<br>{address}<br>{postcode} {city}<br>Company: {company}<br>Phone: {phone}<br>Mobile: {mobile}<br>Email: {email}</p><p><strong>Booking details</strong><br>Room : <b>{room}</b><br>Check in <b>{Check_in}</b><br>Check out <b>{Check_out}</b><br><b>{num_nights}</b> nights<br><b>{num_guests}</b> persons - Adults: <b>{num_adults}</b> / Children: <b>{num_children}</b></p><p><b>Extra services</b></p><p>{extra_services}</p><p><b>Activities</b></p><p>{activities}</p><p><b>Comments</b><br>{comments}</p>'), (3, 1, 'BOOKING_CONFIRMATION', 'Confirmation de réservation', '<p><b>Adresse de facturation</b><br>{firstname} {lastname}<br>{address}<br>{postcode} {city}<br>Société : {company}<br>Téléphone : {phone}<br>Mobile : {mobile}<br>Email : {email}</p><p><strong>Détails de la réservation</strong><br>Chambre : <b>{room}</b><br>Arrivée : <b>{Check_in}</b><br>Départ : <b>{Check_out}</b><br><b>{num_nights}</b> nuit(s)<br><b>{num_guests}</b> personne(s) - Adulte(s) : <b>{num_adults}</b> / Enfant(s) : <b>{num_children}</b><br>Montant : <b>{amount_rooms} TTC</b></p><p><b>Services supplémentaires</b></p><p>{extra_services}</p><p><b>Activités</b></p><p>{activities}</p><p>Taxe de séjour : {tourist_tax}<br>Réduction: {discount}<br>{taxes}<br>Total : <strong>{total} TTC</strong></p><p>Acompte : <strong>{down_payment} TTC</strong></p><p><b>Commentaires</b><br>{comments}</p><p>{payment_notice}</p>'), (3, 2, 'BOOKING_CONFIRMATION', 'Booking confirmation', '<p><b>Billing address</b><br>{firstname} {lastname}<br>{address}<br>{postcode} {city}<br>Company: {company}<br>Phone: {phone}<br>Mobile: {mobile}<br>Email: {email}</p><p><strong>Booking details</strong><br>Room : <b>{room}</b><br>Check in <b>{Check_in}</b><br>Check out <b>{Check_out}</b><br><b>{num_nights}</b> nights<br><b>{num_guests}</b> persons - Adults: <b>{num_adults}</b> / Children: <b>{num_children}</b><br>Amount: <b>{amount_rooms} incl. VAT</b></p><p><b>Extra services</b></p><p>{extra_services}</p><p><b>Activities</b></p><p>{activities}</p><p>Tourist tax: {tourist_tax}<br>Discount: {discount}<br>{taxes}<br>Total: <strong>{total} incl. VAT</strong></p><p>Down payment: <strong>{down_payment} incl. VAT</strong></p><p><b>Comments</b><br>{comments}</p><p>{payment_notice}</p>'), (3, 3, 'BOOKING_CONFIRMATION', 'Booking confirmation', '<p><b>Billing address</b><br>{firstname} {lastname}<br>{address}<br>{postcode} {city}<br>Company: {company}<br>Phone: {phone}<br>Mobile: {mobile}<br>Email: {email}</p><p><strong>Booking details</strong><br>Room : <b>{room}</b><br>Check in <b>{Check_in}</b><br>Check out <b>{Check_out}</b><br><b>{num_nights}</b> nights<br><b>{num_guests}</b> persons - Adults: <b>{num_adults}</b> / Children: <b>{num_children}</b><br>Amount: <b>{amount_rooms} incl. VAT</b></p><p><b>Extra services</b></p><p>{extra_services}</p><p><b>Activities</b></p><p>{activities}</p><p>Tourist tax: {tourist_tax}<br>Discount: {discount}<br>{taxes}<br>Total: <strong>{total} incl. VAT</strong></p><p>Down payment: <strong>{down_payment} incl. VAT</strong></p><p><b>Comments</b><br>{comments}</p><p>{payment_notice}</p>');
  • /common/lib.php
  • /admin/modules/email_content/
  • /templates/default/models/contact.php
  • /templates/default/models/details.php
  • /templates/default/models/payment.php
  • /templates/default/common/paypal_notify.php
  • /templates/default/common/2checkout_notify.php
  • # Search error with non-alphabetic characters (Cyrillic, Greek...)
  • /common/lib.php
  • # Bug in error management in admin panel since PHP7
  • /common/setenv.php
  • # Bug on booking details printing
  • /templates/default/common/booking-popup.php
  • # Hidden fields reset on login/sign up
  • /js/custom.js
  • /templates/default/common/header.php
  • # Additional room images not displayed
  • /templates/default/models/booking.php
  • # Wrong number format in price range slider
  • /templates/default/common/search.php

Version 4

4.6.6 8 June 2017

  • fix Empty combobox for users other than administrator, manager and editor
  • fix New bookings not shown for hotel owners
  • fix Final amount displayed in default currency
Files to replace (4)
  • # Empty combobox for users other than administrator, manager and editor
  • /admin/includes/fn_form.php
  • # New bookings not shown for hotel owners / Final amount displayed in default currency
  • /templates/default/models/payment.php

4.6.5 19 May 2017

  • fix Bug (preloader) on Safari with javascript strict mode
  • fix Bug on password reset
Files to replace (5)
  • # Bug (preloader) on Safari with javascript strict mode
  • /js/custom.js
  • /templates/default/common/header.php
  • # Bug on password reset
  • /templates/default/common/register/reset.php

4.6.4 14 May 2017

  • fix Error if misformatted dates
Files to replace (3)
  • # Error if misformatted dates
  • /templates/default/models/booking.php
  • /templates/default/common/get_days.php

4.6.3 13 May 2017

  • new New admin logo: easier to replace
  • fix Calendar colors
  • fix Room available if number of rooms = 0
  • fix Wrong facilities order and wrong room id in comments
  • fix Bug on edition of the files label
  • fix Wrong environment variable for specific subdomains
  • fix RTL issues
Files to replace (19)
  • # New admin logo: easier to replace
  • /admin/images/logo-admin.png
  • /admin/login.php
  • /admin/css/layout.css
  • # Calendar colors
  • /js/plugins/jquery.event.calendar/js/jquery.event.calendar.js
  • /js/plugins/jquery.event.calendar/css/jquery.event.calendar.css
  • # Room available if number of rooms = 0
  • /templates/default/models/booking.php
  • /templates/default/common/get_days.php
  • # Wrong facilities order and wrong room id in comments
  • /templates/default/models/hotel.php
  • # Bug on edition of the files label
  • /admin/includes/fn_actions.php
  • # Wrong environment variable for specific subdomains
  • /common/setenv.php
  • # RTL issues
  • /templates/default/css/main.css
  • /templates/default/common/header.php

4.6.2 5 May 2017

  • new Pagination on booking search results
  • fix Wrong construct method for captcha plugin on PHP 7
  • fix Words corrections in admin panel (english language only)
Files to replace (8)
  • # Pagination on booking search results
  • /templates/default/models/booking.php
  • /templates/default/common/search.php
  • # Wrong construct method for captcha plugin on PHP 7
  • /includes/securimage/securimage.php
  • # Words corrections in admin panel (english language only)
  • /admin/includes/lang.ini
  • /admin/modules/booking/booking/config.xml

4.6.1 17 April 2017

  • fix Files names truncated in admin panel
  • fix Undefined function money_format on Windows
Files to replace (6)
  • # Files names truncated in admin panel
  • /admin/modules/default/form.php
  • /admin/includes/inc_library.php
  • /admin/css/layout.css (#library [class^="col-"])
  • # Undefined function money_format on Windows
  • /common/lib.php

4.6.0 14 April 2017

  • new New service management in the booking module
  • new Remove / end URL (optional)
  • new Possibility to set Num. people = 0 in the module Rates
  • fix Wrong setting value for currency position
  • fix Error on global search since PHP 5.5
Files to replace (29)
  • # New service management in the booking module
  • /common/db.sql
  • >> New table pm_booking_service
  • -- ========== CREATION OF THE TABLE pm_booking_service ========== CREATE TABLE pm_booking_service( id int NOT NULL AUTO_INCREMENT, id_booking int NOT NULL, id_service int, title varchar(250), qty int DEFAULT 0, amount double DEFAULT 0, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_booking_service ADD CONSTRAINT booking_service_fkey FOREIGN KEY (id_booking) REFERENCES pm_booking(id) ON DELETE CASCADE ON UPDATE NO ACTION;
  • >> Copy the following PHP script (add the opening php tag at the beginning) in a new file (e.g. update.php) in the root of your website (beside index.php) and execute the script (e.g. in your browser: http//www.mywebsite.tld/update.php), then remove the file:
  • require("common/lib.php"); require("common/define.php"); $i = 0; $result = $db->query("SELECT * FROM pm_booking WHERE extra_services IS NOT NULL OR extra_services != ''"); if($result !== false){ $count = $db->last_row_count(); foreach($result as $row){ if(!empty($row['extra_services'])){ $extra_services = explode("|", $row['extra_services']); if(is_array($extra_services) && !empty($extra_services)){ foreach($extra_services as $extra){ $extra = explode(";", $extra); $data = array(); $data['id'] = null; $data['id_booking'] = $row['id']; $data['id_service'] = null; $data['title'] = $extra[0]; $data['qty'] = $extra[1]; $data['amount'] = $extra[2]; $result_insert = db_prepareInsert($db, "pm_booking_service", $data); if($result_insert->execute() !== false) $i++; } } } } } echo "$i extra services successfully added in the bookings!";
  • /admin/modules/booking/booking/config.xml
  • /admin/css/layout.css
  • /admin/includes/inc_header_form.php
  • /admin/includes/fn_form.php
  • /templates/default/models/details.php
  • /templates/default/models/summary.php
  • /templates/default/models/payment.php
  • /templates/default/common/update_booking.php
  • /templates/default/common/2checkout_notify.php
  • /templates/default/common/paypal_notify.php
  • # Remove / end URL (optional)
  • /.htaccess
  • >> Add this code after "RewriteEngine On"
  • RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301]
  • /templates/default/common/header.php
  • /templates/default/common/page_header.php
  • /templates/default/models/sitemap.php
  • # Possibility to set Num. people = 0 in the module Rates
  • /templates/default/models/booking.php
  • # Wrong setting value for currency position
  • /admin/settings.php
  • # Error on global search since PHP 5.5
  • /templates/default/models/search.php

4.5.0 30 March 2017

  • new User geolocation option for currencies (https required)
  • new Blog navigation buttons
  • new Redirection after account confirmation
  • new Preloader screen
  • new Possibility to change the currency position
  • fix Bug on the currencies if the template is not the default template
  • fix File label truncated
  • fix Redirection after login for admin users (renamed admin folder)
Files to replace (38)
  • # User geolocation option for currencies (https required)
  • /js/custom.js
  • /admin/settings.php
  • /admin/includes/lang.ini
  • >> New entries : AUTOGEOLOCATION and AUTOGEOLOCATION_NOTICE
  • /common/config(-tmp).php
  • >> New entry: AUTOGEOLOCATE
  • /templates/default/common/header.php
  • /templates/default/models/contact.php
  • # Blog navigation buttons
  • /templates/default/models/article-blog.php
  • /templates/default/common/get_articles_blog.php
  • # Redirection after account confirmation
  • /common/db.sql
  • >> Edit entry in the table pm_text (!replace with your translation and lang ids):
  • UPDATE pm_text SET value = 'Your account has been created. You will receive a confirmation email. Click on the link in this email to confirm your account before continuing.' WHERE name = 'ACCOUNT_CREATED' AND lang = 1;
  • /templates/default/common/register/signup.php
  • /templates/default/models/details.php
  • # Preloader screen
  • /js/custom.js
  • /templates/default/css/layout.css (loader block)
  • /templates/default/css/colors.css (loader block)
  • /templates/default/common/footer.php
  • # Possibility to change the currency position
  • /common/lib.php
  • /admin/settings.php
  • /admin/includes/lang.ini
  • >> New entry : CURRENCY_POS
  • /common/config(-tmp).php
  • >> New entry: CURRENCY_POS
  • /admin/includes/fn_list.php
  • # Bug on the currencies if the template is not the default template
  • /templates/default/common/header.php
  • /templates/default/widget/footer_form.php
  • # File label truncated
  • /admin/includes/fn_actions.php
  • # Redirection after login for admin users (renamed admin folder)
  • /templates/default/common/register/login.php

4.4.0 3 February 2017

  • new New module Packages (possibility to edit the package settings)
  • new Advanced filters
  • new Translation of the button "Load more"
  • fix Undefined link on loading more activities
  • fix Undefined amount on booking requests
  • fix Bug on "Read more" button of the featured articles (homepage)
Files to replace (49)
  • # New module Packages (possibility to edit the package settings)
  • /common/db.sql
  • >> New table pm_package:
  • CREATE TABLE pm_package( id int NOT NULL AUTO_INCREMENT, users text, name varchar(50), days text, min_nights int, max_nights int, day_start int, day_end int, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO pm_package (id, users, name, days, min_nights, max_nights, day_start, day_end) VALUES (1, '1', 'Week-end', '5,6,7', 0, 0, NULL, NULL), (2, '1', 'Night', '1,2,3,4,5,6,7', 0, 0, NULL, NULL), (3, '1', 'Mid-week', '1,2,3,4,5', 3, 4, NULL, NULL), (4, '1', '2 nights', '1,2,3,4', 2, 2, NULL, NULL), (5, '1', 'Week', '1,2,3,4,5,6,7', 7, 0, NULL, NULL);
  • >> New column "id_package" in the table pm_rate:
  • ALTER TABLE pm_rate ADD COLUMN id_package int;
  • >> Setting values of the new column "id_package":
  • UPDATE pm_rate SET id_package = 1 WHERE type = 'week-end'; UPDATE pm_rate SET id_package = 2 WHERE type = 'night'; UPDATE pm_rate SET id_package = 3 WHERE type = 'mid-week'; UPDATE pm_rate SET id_package = 4 WHERE type = '2-nights'; UPDATE pm_rate SET id_package = 5 WHERE type = 'week';
  • >> Copy the following PHP script (add the opening php tag at the beginning) in a new file (e.g. update.php) in the root of your website (beside index.php) and execute the script (e.g. in your browser: http//www.mywebsite.tld/update.php), then remove the file:
  • require("common/lib.php"); require("common/define.php"); $i = 0; $result = $db->query("SELECT * FROM pm_rate GROUP BY type"); if($result !== false){ $count = $db->last_row_count(); foreach($result as $row){ $id_package = 0; switch($row['type']){ case "week-end": $id_package = 1; break; case "night": $id_package = 2; break; case "mid-week": $id_package = 3; break; case "2-nights": $id_package = 4; break; case "week": $id_package = 5; break; } if(!empty($row['day_start']) && !empty($row['day_end'])){ $db->query("UPDATE pm_package SET day_start = ".$row['day_start'].", day_end = ".$row['day_end']." WHERE id = ".$id_package); $i++; } } } echo "$i types of price (module Rates) successfully updated!";
  • >> Remove the columns "min_stay", "day_start", "day_end" and "type" from the table pm_rate:
  • ALTER TABLE pm_rate DROP min_stay; ALTER TABLE pm_rate DROP day_start; ALTER TABLE pm_rate DROP day_end; ALTER TABLE pm_rate DROP type;
  • /admin/modules/booking/package/
  • /admin/modules/booking/rate/config.xml
  • /templates/default/common/get_hotels.php
  • /templates/default/models/hotel.php
  • /templates/default/models/booking.php
  • # Advanced filters
  • /common/db.sql
  • >> New entries in the table pm_text (! replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (159, 3, 'STARS', 'Stars'), (159, 2, 'STARS', 'Stars'), (159, 1, 'STARS', 'Étoiles'), (160, 3, 'HOTEL_CLASS', 'Hotel Class'), (160, 2, 'HOTEL_CLASS', 'Hotel Class'), (160, 1, 'HOTEL_CLASS', 'Catégorie d''Hôtel'), (161, 3, 'YOUR_BUDGET', 'Your Budget'), (161, 2, 'YOUR_BUDGET', 'Your Budget'), (161, 1, 'YOUR_BUDGET', 'Votre Budget');
  • >> New column "class" in the table pm_hotel:
  • ALTER TABLE pm_hotel ADD COLUMN class int DEFAULT 0 AFTER alias;
  • /js/custom.js
  • /js/plugins/no-ui-slider/
  • /admin/modules/booking/hotel/config.xml
  • /templates/default/css/main.css
  • >> ADVANCED FILTERS section
  • /templates/default/models/booking.php
  • /templates/default/models/hotel.php
  • /templates/default/common/search.php
  • # Translation of the button "Load more"
  • /common/db.sql
  • >> New entries in the table pm_text (! replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (162, 1, 'LOAD_MORE', 'Voir plus'), (162, 2, 'LOAD_MORE', 'Load more'), (162, 3, 'LOAD_MORE', 'Load more');
  • /js/custom.js
  • /templates/default/models/activities.php
  • /templates/default/models/blog.php
  • /templates/default/models/hotels.php
  • /templates/default/models/page.php
  • /templates/default/models/gallery.php
  • # Undefined link on loading more activities
  • /common/define.php
  • /templates/default/common/get_activites.php
  • # Undefined amount on booking requests
  • /templates/default/models/booking-activities.php
  • /templates/default/models/details.php
  • # Bug on "Read more" button of the featured articles (homepage)
  • /templates/default/models/home.php

4.3.3 22 January 2017

  • fix Smart hotel/room selection issue on admin panel
  • fix Bug on "Read more" button of the featured articles (homepage)
Files to replace (5)
  • # Smart hotel/room selection issue on admin panel
  • /common/db.sql
  • ALTER TABLE pm_rate ADD id_hotel INT NULL AFTER id_room;
  • # Bug on "Read more" button of the featured articles (homepage)
  • /templates/default/models/home.php

4.3.2 20 January 2017

  • fix Remote code execution vulnerability in PHPMailer
  • fix Search results ignored for disabled languages
Files to replace (5)
  • # Remote code execution vulnerability in PHPMailer
  • /common/phpmailer/
  • # Search results ignored for disabled languages
  • /templates/default/models/booking.php
  • /templates/default/common/get_activity_sessions.php

4.3.1 18 January 2017

  • new Smart hotel/room selection on adding prices
  • fix Summer time and time zone management (availability)
  • fix Selected ("posted") dates kept in the search bar
Files to replace (6)
  • # Smart hotel/room selection on adding prices
  • /admin/modules/booking/rate/config.xml
  • # Summer time and time zone management (availability)
  • /templates/default/models/booking.php
  • # Selected ("posted") dates kept in the search bar
  • /templates/default/common/search.php

4.3.0 15 January 2017

  • new New module Taxes
  • new New article status "archived"
  • new New model Blog
  • new Modules ranking
  • fix Underline missing in CKEditor
  • fix Special caracters escaped
  • fix Latest articles layout in the footer
  • fix Bug on Analytics code and Address fields in the Settings section
  • fix Bug on empty multiselect
  • fix Wrong column name
Files to replace (63)
  • # New module Taxes
  • /admin/modules/booking/tax/
  • /admin/modules/booking/booking/config.xml
  • /admin/modules/booking/rate/config.xml
  • /admin/modules/booking/service/config.xml
  • /admin/modules/booking/activity_session/config.xml
  • /common/db.sql
  • >> New tables pm_tax and pm_booking_tax:
  • CREATE TABLE pm_tax( id int NOT NULL AUTO_INCREMENT, lang int NOT NULL, name varchar(50), value double DEFAULT 0, checked int DEFAULT 0, rank int DEFAULT 0, PRIMARY KEY(id, lang) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_tax ADD CONSTRAINT tax_lang_fkey FOREIGN KEY (lang) REFERENCES pm_lang(id) ON DELETE CASCADE ON UPDATE NO ACTION; CREATE TABLE pm_booking_tax( id int NOT NULL AUTO_INCREMENT, id_booking int NOT NULL, id_tax int, name varchar(50), amount double DEFAULT 0, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_booking_tax ADD CONSTRAINT booking_tax_fkey FOREIGN KEY (id_booking) REFERENCES pm_booking(id) ON DELETE CASCADE ON UPDATE NO ACTION;
  • >> New columns "id_tax" and "taxes" in tables pm_rate, pm_service and pm_activity_session:
  • ALTER TABLE pm_rate ADD id_tax INT NULL AFTER discount, ADD taxes TEXT NULL AFTER id_tax; ALTER TABLE pm_service ADD id_tax INT NULL AFTER price, ADD taxes TEXT NULL AFTER id_tax; ALTER TABLE pm_activity_session ADD id_tax INT NULL AFTER discount, ADD taxes TEXT NULL AFTER id_tax;
  • >> New entries in table pm_text:
  • INSERT INTO pm_text (id, lang, name, value) VALUES (156, 1, 'INCL_TAX', 'TTC'), (156, 2, 'INCL_TAX', 'incl. tax'), (156, 3, 'INCL_TAX', 'incl. tax');
  • >> Copy the following PHP script (add the opening php tag at the beginning) in a new file (e.g. update.php) in the root of your website (beside index.php) and execute the script (e.g. in your browser: http//www.mywebsite.tld/update.php), then remove the file:
  • require("common/lib.php"); require("common/define.php"); $result_lang = $db->query("SELECT id, title FROM pm_lang"); if($result_lang !== false){ $total_lang = $db->last_row_count(); $langs = $result_lang->fetchAll(PDO::FETCH_ASSOC); } $i = 0; $result = $db->query("SELECT distinct vat_rate FROM pm_rate WHERE vat_rate > 0"); if($result !== false){ $count = $db->last_row_count(); foreach($result as $row){ $id = null; $i++; foreach($langs as $lang){ $data = array(); $data['id'] = $id; $data['lang'] = $lang['id']; $data['name'] = "VAT"; $data['value'] = $row['vat_rate']; $data['checked'] = 1; $data['rank'] = $i; $result_insert = db_prepareInsert($db, "pm_tax", $data); if($result_insert !== false){ if($result_insert->execute() !== false){ if(is_null($id)){ $id = $db->lastInsertId(); $db->query("UPDATE pm_rate SET id_tax = ".$id." WHERE vat_rate = ".$row['vat_rate']); $db->query("UPDATE pm_service SET id_tax = ".$id." WHERE vat_rate = ".$row['vat_rate']); $db->query("UPDATE pm_activity_session SET id_tax = ".$id." WHERE vat_rate = ".$row['vat_rate']); } } } } } } echo "$i taxes successfully inserted!";
  • /templates/default/common/2checkout_notify.php
  • /templates/default/common/paypal_notify.php
  • /templates/default/common/booking-popup.php
  • /templates/default/common/update_booking.php
  • /templates/default/common/get_activity_sessions.php
  • /templates/default/models/booking.php
  • /templates/default/models/booking-activities.php
  • /templates/default/models/details.php
  • /templates/default/models/summary.php
  • /templates/default/models/payment.php
  • # New article status "archived"
  • /admin/includes/lang.ini
  • /admin/includes/fn_actions.php
  • /admin/modules/default/list.php
  • /admin/modules/default/form.php
  • /index.php
  • # New model Blog
  • /common/db.sql
  • >> New entries in table pm_text:
  • INSERT INTO pm_text (id, lang, name, value) VALUES (157, 1, 'TAGS', 'Tags'), (157, 2, 'TAGS', 'Tags'), (157, 3, 'TAGS', 'Tags'), (158, 1, 'ARCHIVES', 'Archives'), (158, 2, 'ARCHIVES', 'Archives'), (158, 3, 'ARCHIVES', 'Archives');
  • >> Copy the following PHP script (add the opening php tag at the beginning) in a new file (e.g. update.php) in the root of your website (beside index.php) and execute the script, then remove the file:
  • require("common/lib.php"); require("common/define.php"); $result_lang = $db->query("SELECT id, title FROM pm_lang"); if($result_lang !== false){ $total_lang = $db->last_row_count(); $langs = $result_lang->fetchAll(PDO::FETCH_ASSOC); } $i = 0; $id = null; $i++; foreach($langs as $lang){ $data = array(); $data['id'] = $id; $data['lang'] = $lang['id']; $data['name'] = "Blog"; $data['title'] = "Blog"; $data['title_tag'] = "Blog"; $data['alias'] = "blog"; $data['robots'] = "index,follow"; $data['page_model'] = "blog"; $data['article_model'] = "article-blog"; $data['home'] = 0; $data['checked'] = 1; $data['rank'] = 2; $data['add_date'] = 1482486274; $result_insert = db_prepareInsert($db, "pm_page", $data); if($result_insert !== false){ if($result_insert->execute() !== false) $id = $db->lastInsertId(); } } echo "$i pages successfully inserted!"; if(!is_null($id)){ $page_id = $id; $i = 0; $id = null; $i++; foreach($langs as $lang){ $data = array(); $data['id'] = $id; $data['lang'] = $lang['id']; $data['title'] = "Blog side"; $data['showtitle'] = 0; $data['pos'] = "right"; $data['allpages'] = 0; $data['pages'] = $page_id; $data['type'] = "blog_side"; $data['home'] = 0; $data['checked'] = 1; $data['rank'] = 5; $result_insert = db_prepareInsert($db, "pm_widget", $data); if($result_insert !== false){ if($result_insert->execute() !== false) $id = $db->lastInsertId(); } } echo "$i widgets successfully inserted!"; }
  • /common/lib.php
  • /templates/default/models/blog.php
  • /templates/default/models/article-blog.php
  • /templates/default/common/get_articles_blog.php
  • /templates/default/widgets/blog_side.php
  • # Modules ranking
  • /admin/modules/social/config.xml
  • /admin/includes/config.xsd
  • /admin/includes/inc_top.php
  • /admin/includes/inc_header_common.php
  • /admin/includes/fn_form.php
  • # Underline missing in CKEditor
  • /admin/js/plugins/ckeditor/config.js
  • # Special caracters escaped
  • /admin/setup.php
  • /admin/settings.php
  • # Latest articles layout in the footer
  • /templates/default/widgets/latest_articles.php
  • # Bug on Analytics code and Address fields in the Settings section
  • /admin/settings.php
  • >> Fill again the field "Google analytics" in admin panel settings and save.
  • # Bug on empty multiselect
  • /admin/modules/default/form.php
  • # Wrong column name
  • /admin/modules/booking/service/config.xml
  • /admin/modules/booking/activity_session/config.xml

4.2.0 18 December 2016

  • new New navigation management (new module Menu)
  • new Possibility to add multiple widgets / column in the footer
  • new New module Social (social network links)
  • new User account management / Booking history
  • fix String truncation issue with HTML tags in the listings of the admin panel
  • fix Error parsing translation file of the admin panel
  • fix Log out from admin panel if user type is "registered"
Files to replace (57)
  • # New navigation management (new module Menu)
  • /admin/modules/menu/
  • /admin/modules/page/config.xml
  • /index.php
  • /common/db.sql
  • >> New table pm_menu:
  • CREATE TABLE IF NOT EXISTS pm_menu( id int NOT NULL AUTO_INCREMENT, lang int NOT NULL, name varchar(50), title varchar(250), id_parent int, item_type varchar(30), id_item int, url text, main int DEFAULT 1, footer int DEFAULT 0, checked int DEFAULT 0, rank int DEFAULT 0, PRIMARY KEY(id, lang) ) ENGINE=INNODB DEFAULT CHARSET=utf8; ALTER TABLE pm_menu ADD CONSTRAINT menu_lang_fkey FOREIGN KEY (lang) REFERENCES pm_lang(id) ON DELETE CASCADE ON UPDATE NO ACTION;
  • >> Copy the following PHP script (add the opening php tag at the beginning) in a new file (e.g. update.php) in the root of your website (beside index.php) and execute the script (e.g. in your browser: http//www.mywebsite.tld/update.php), then remove the file:
  • require("common/lib.php"); require("common/define.php"); $i = 0; $result = $db->query("SELECT * FROM pm_page WHERE footer = 1 OR main = 1 OR id_parent IN(SELECT id FROM pm_page WHERE main = 1) ORDER BY id, lang"); if($result !== false){ foreach($result as $row){ $data = array(); $data['id'] = $row['id']; $data['lang'] = $row['lang']; $data['name'] = $row['name']; $data['title'] = $row['title']; $data['id_parent'] = ($row['id_parent'] == 0) ? null : $row['id_parent']; $data['item_type'] = "page"; $data['id_item'] = $row['id']; $data['main'] = (empty($row['footer']) && empty($row['main'])) ? 1 : $row['main']; $data['footer'] = $row['footer']; $data['checked'] = $row['checked']; $data['rank'] = $row['rank']; $result_insert = db_prepareInsert($db, "pm_menu", $data); if($result_insert !== false){ if($result_insert->execute() !== false) $i++; } } } echo "$i menu items successfully inserted!"; $i = 0; $n = 0; $id = 0; $result = $db->query("SELECT * FROM pm_widget WHERE pos = 'footer' ORDER BY rank, id"); if($result !== false){ foreach($result as $row){ if($id != $row['id']){ $id = $row['id']; $n++; } if($n > 3) $n = 3; $data = array(); $data['id'] = $row['id']; $data['pos'] = "footer_col_".$n; $result_update = db_prepareUpdate($db, "pm_widget", $data); if($result_update !== false){ if($result_update->execute() !== false) $i++; } } } echo "$i widgets successfully updated!";
  • /common/lib.php
  • /templates/default/common/header.php
  • /templates/default/models/article.php
  • /templates/default/models/gallery.php
  • /templates/default/models/sitemap.php (articles no longer displayed here)
  • # Possibility to add multiple widgets / column in the footer
  • /admin/modules/widgets/config.xml
  • /templates/default/css/layout.css >> WIDGETS block
  • /templates/default/common/footer.php
  • /templates/default/models/page.php
  • # New module Social (social network links)
  • /admin/modules/social/
  • /common/db.sql
  • >> New table pm_social:
  • CREATE TABLE IF NOT EXISTS pm_social( id int NOT NULL AUTO_INCREMENT, type varchar(50), url text, checked int DEFAULT 1, rank int DEFAULT 0, PRIMARY KEY(id) ) ENGINE=INNODB DEFAULT CHARSET=utf8;
  • /templates/default/widget/contact_informations.php
  • # User account management / Booking history
  • /common/db.sql
  • >> New entries in the table pm_text (replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (143, 1, 'BOOKING_HISTORY', 'Historique des réservations'), (143, 2, 'BOOKING_HISTORY', 'Booking history'), (143, 3, 'BOOKING_HISTORY', 'Booking history'), (144, 1, 'BOOKING_SUMMARY', 'Résumé de la réservation'), (144, 2, 'BOOKING_SUMMARY', 'Booking summary'), (144, 3, 'BOOKING_SUMMARY', 'Booking summary'), (145, 1, 'BOOKING_DATE', 'Date de la réservations'), (145, 2, 'BOOKING_DATE', 'Booking date'), (145, 3, 'BOOKING_DATE', 'Booking date'), (146, 1, 'NO_BOOKING_YET', 'Pas encore de réservation...'), (146, 2, 'NO_BOOKING_YET', 'No booking yet...'), (146, 3, 'NO_BOOKING_YET', 'No booking yet...'), (147, 1, 'PAYMENT', 'Paiement'), (147, 2, 'PAYMENT', 'Payment'), (147, 3, 'PAYMENT', 'Payment'), (148, 1, 'PAYMENT_DATE', 'Date du paiement'), (148, 2, 'PAYMENT_DATE', 'Payment date'), (148, 3, 'PAYMENT_DATE', 'Payment date'), (149, 1, 'PAYMENT_METHOD', 'Méthode de paiement'), (149, 2, 'PAYMENT_METHOD', 'Payment method'), (149, 3, 'PAYMENT_METHOD', 'Payment method'), (150, 1, 'NUM_TRANSACTION', 'N°transaction'), (150, 2, 'NUM_TRANSACTION', 'Num. transaction'), (150, 3, 'NUM_TRANSACTION', 'Num. transaction'), (151, 1, 'STATUS', 'Statut'), (151, 2, 'STATUS', 'Status'), (151, 3, 'STATUS', 'Status'), (152, 1, 'AWAITING', 'En attente'), (152, 2, 'AWAITING', 'Awaiting'), (152, 3, 'AWAITING', 'Awaiting'), (153, 1, 'CANCELLED', 'Annulé'), (153, 2, 'CANCELLED', 'Cancelled'), (153, 3, 'CANCELLED', 'Cancelled'), (154, 1, 'REJECTED_PAYMENT', 'Paiement rejeté'), (154, 2, 'REJECTED_PAYMENT', 'Rejected payment'), (154, 3, 'REJECTED_PAYMENT', 'Rejected payment'), (155, 1, 'PAYED', 'Payé'), (155, 2, 'PAYED', 'Payed'), (155, 3, 'PAYED', 'Payed');
  • >> New column "id_user" in the table pm_booking:
  • ALTER TABLE pm_booking ADD id_user INT AFTER extra_services;
  • >> Column "name" renamed to "firstname" in the table pm_user. New column "lastname":
  • ALTER TABLE pm_user CHANGE name firstname VARCHAR(100), ADD lastname VARCHAR(100) AFTER firstname;
  • /admin/modules/user/config.xml
  • /js/custom.js
  • /common/define.php
  • /templates/default/common/register/signup.php
  • /templates/default/common/header.php
  • /templates/default/common/booking-popup.php
  • /templates/default/models/account.php
  • /templates/default/models/details.php
  • /templates/default/models/payment.php
  • /templates/default/css/print.css
  • /templates/default/css/layout.css
  • >> New CSS rule:
  • label.control-label { text-align: right; }
  • # String truncation issue with HTML tags in the listings of the admin panel
  • /common/lib.php
  • # Error parsing translation file of the admin panel
  • /common/define.php
  • # Log out from admin panel if user type is "registered"
  • /common/define.php
  • /admin/index.php
  • /admin/setup.php
  • /admin/login.php
  • /admin/settings.php
  • /admin/modules/default/common.php

4.1.2 23 November 2016

  • fix Wrong restriction on a non-required field (contact > email)
  • fix Wrong homepage alias on redirection after sign up
  • fix Checkbox of activities disabled on mobile devices
  • fix Submenu issue on mobile devices
Files to replace (13)
  • # Wrong restriction on a non-required field (contact > email)
  • /admin/settings.php
  • # Wrong homepage alias on redirection after sign up
  • /templates/default/common/register/signup.php
  • /templates/default/common/register/reset.php
  • # Checkbox of activities disabled on mobile devices
  • /templates/default/css/main.css
  • >> Replace the rules ".checkbox-container", ".checkbox-icon" and ".activity-result .checkbox-icon:before"
  • >> Replace the rule ".activity-result .sep" with lines 527 to 535
  • /templates/default/models/booking-activities.php
  • # Submenu issue on mobile devices
  • /templates/default/css/layout.css
  • >> add lines 207 to 234

4.1.1 17 November 2016

  • new Possibility for hotel owners to add their hotels
  • fix Multi user selection > connected user as "selected"
Files to replace (4)
  • # Possibility for hotel owners to add their hotels
  • /admin/modules/booking/hotel/config.xml
  • # Multi user selection > connected user as "selected"
  • /admin/modules/default/form.php

4.1.0 14 November 2016

  • new Fixed amount for discount (rooms and activities)
  • new Linked combobox fields to generate relative content
  • new Rooms filtered after hotel selected in admin panel
  • new Multi user selection in the admin panel
  • new Display of bookings if logged as hotel
  • new New duration for activity (week) + translation
  • new Search engine crawler
  • fix Wrong restriction on a non-required field (contact > email)
  • fix Combobox layout
  • fix Booking results order
Files to replace (64)
  • # Fixed amount for discount (rooms and activities)
  • /common/db.sql
  • >> new column "discount_type" in the tables pm_rate and pm_activity_session:
  • ALTER TABLE pm_rate ADD discount_type varchar(10); UPDATE pm_rate SET discount_type = 'rate' WHERE discount != '' AND discount > 0; ALTER TABLE pm_activity_session ADD discount_type varchar(10); UPDATE pm_activity_session SET discount_type = 'rate' WHERE discount != '' AND discount > 0;
  • /admin/includes/fn_form.php
  • /admin/modules/booking/rate/config.xml
  • /templates/default/models/booking.php
  • /templates/default/common/get_activity_sessions.php
  • # Linked combobox fields to generate relative content
  • /common/lib.php
  • /admin/includes/fn_list.php
  • /admin/includes/fn_form.php
  • /admin/includes/Filter.class.php
  • /admin/includes/Field.class.php
  • /admin/includes/config.xsd
  • /admin/includes/inc_header_common.php
  • /admin/includes/inc_header_form.php
  • # Rooms filtered after hotel selected in admin panel
  • /common/db.sql
  • >> new column "id_hotel" in tables pm_booking and pm_rate (execute the 2 last queries (UPDATE) for each of your hotels, replace 1 with each ID):
  • ALTER TABLE pm_booking ADD id_hotel INT; ALTER TABLE pm_rate ADD id_hotel INT; UPDATE pm_booking SET id_hotel = 1 WHERE id_room IN(SELECT id FROM pm_room WHERE id_hotel = 1); UPDATE pm_rate SET id_hotel = 1 WHERE id_room IN(SELECT id FROM pm_room WHERE id_hotel = 1);
  • /admin/modules/booking/booking/config.xml
  • /admin/modules/booking/rate/config.xml
  • /templates/default/models/booking.php
  • /templates/default/models/payment.php
  • /templates/default/models/hotel.php
  • /templates/default/common/get_hotels.php
  • # Multi user selection in the admin panel
  • /common/db.sql
  • >> column "id_user" (int) becomes "users" (text) in tables pm_article, pm_hotel, pm_room, pm_rate, pm_service, pm_activity, pm_activity_session:
  • ALTER TABLE pm_article CHANGE id_user users TEXT; ALTER TABLE pm_hotel CHANGE id_user users TEXT; ALTER TABLE pm_room CHANGE id_user users TEXT; ALTER TABLE pm_rate CHANGE id_user users TEXT; ALTER TABLE pm_service CHANGE id_user users TEXT; ALTER TABLE pm_activity CHANGE id_user users TEXT; ALTER TABLE pm_activity_session CHANGE id_user users TEXT;
  • /admin/index.php
  • /admin/includes/lang.ini (USER)
  • /admin/includes/fn_form.php
  • /admin/modules/article/config.xml
  • /admin/modules/default/list.php
  • /admin/modules/default/form.php
  • /templates/default/models/article.php
  • # Display of bookings if logged as hotel
  • /common/db.sql
  • >> new column "users" in the tables pm_booking:
  • ALTER TABLE pm_booking ADD users text;
  • /admin/index.php
  • /admin/modules/booking/booking/config.xml
  • # New duration for activity (week) + translation
  • /common/db.sql
  • >> new entries in table pm_text (!replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (138, 1, 'MINUTES', 'minute(s)'), (138, 2, 'MINUTES', 'minute(s)'), (138, 3, 'MINUTES', 'minute(s)'), (139, 1, 'HOURS', 'heure(s)'), (139, 2, 'HOURS', 'hour(s)'), (139, 3, 'HOURS', 'hour(s)'), (140, 1, 'DAYS', 'jour(s)'), (140, 2, 'DAYS', 'day(s)'), (140, 3, 'DAYS', 'day(s)'), (141, 1, 'WEEKS', 'semaine(s)'), (141, 2, 'WEEKS', 'week(s)'), (141, 3, 'WEEKS', 'week(s)'); UPDATE pm_activity SET duration_unit = 'hours' WHERE duration_unit = 'hour(s)'; UPDATE pm_activity SET duration_unit = 'minutes' WHERE duration_unit = 'minute(s)'; UPDATE pm_activity SET duration_unit = 'days' WHERE duration_unit = 'day(s)';
  • /admin/modules/booking/activity/config.xml
  • /templates/default/models/activity.php
  • /templates/default/models/booking-activities.php
  • # Search engine crawler
  • /common/db.sql
  • >> new entries in table pm_text (!replace with your translation and lang ids):
  • INSERT INTO pm_text (id, lang, name, value) VALUES (142, 1, 'RESULTS', 'Résultats'), (142, 2, 'RESULTS', 'Results'), (142, 3, 'RESULTS', 'Results');
  • /common/lib.php
  • /includes/pdftotext/
  • /templates/default/models/search.php
  • # Wrong restriction on a non-required field (contact > email)
  • /admin/settings.php
  • # Combobox layout
  • /templates/default/css/main.css (select.form-control)
  • # Booking results order
  • /templates/default/models/booking.php

4.0.2 6 November 2016

  • fix Maintenance message not saved
Files to replace (2)
  • # Maintenance message not saved
  • /admin/settings.php

4.0.1 2 November 2016

  • fix PHP error: wrong variable type for array of notices
Files to replace (2)
  • # PHP error: wrong variable type for array of notices
  • /admin/includes/inc_header_common.php

4.0.0 24 October 2016

  • note Be careful: Big changes in this update (design, code and structure). Given the number of files modified in this update, the files affected by each new feature or fix is not specified. It's recommended to make a backup before doing this update in your live website.
  • new Destination filter in the research of an hotel + new module
  • new New module Activities
  • new Default template used as source if a file is not found in the current template
  • new New template management
  • new Possibility to add attachements when sendMail() is called
  • new Social media tags
  • new HTML entities allowed in config.php
  • new Disable direct access (security)
  • new Possibility to rename the admin folder
  • new Google Analytics code in the settings section
  • fix Submenu display issue
  • fix Invalid amount format for PayPal
  • fix Page alias issue when sending a comment
Files to replace (55)
  • /admin/css/layout.css
  • /admin/includes/Column.class.php
  • /admin/includes/config.xsd
  • /admin/includes/Field.class.php
  • /admin/includes/fn_actions.php
  • /admin/includes/fn_form.php
  • /admin/includes/fn_list.php
  • /admin/includes/fn_module.php
  • /admin/includes/inc_header_common.php
  • /admin/includes/inc_header_form.php
  • /admin/includes/inc_header_list.php
  • /admin/includes/inc_library.php
  • /admin/includes/inc_top.php
  • /admin/includes/lang.ini
  • >> new entries: ADMIN_FOLDER, ADMIN_FOLDER_NOTICE, ALPHANUM_ONLY, FOLDER_EXISTS, ANALYTICS_CODE, ANALYTICS_CODE_NOTICE
  • /admin/index.php
  • /admin/login.php
  • /admin/modules/booking/activity/
  • /admin/modules/booking/activity_session/
  • /admin/modules/booking/destination/
  • /admin/modules/comment/config.xml
  • /admin/modules/default/common.php
  • /admin/modules/default/form.php
  • /admin/modules/default/list.php
  • /admin/settings.php
  • /admin/setup.php
  • /common/config(-tmp).php
  • >> edit entries: MAINTENANCE_MSG (decode HTML entities), TEMPLATE => "booking" becomes "default", ADMIN_FOLDER, ANALYTICS_CODE
  • /common/db.sql
  • >> new column in table pm_hotel: id_destination
  • ALTER TABLE pm_hotel ADD id_destination int
  • >> new tables: pm_activity, pm_activity_file, pm_activity_session, pm_activity_session_hour, pm_booking_activity, pm_destination
  • -- =============== CREATION OF THE TABLE pm_activity ============= CREATE TABLE pm_activity( id int NOT NULL AUTO_INCREMENT, lang int NOT NULL, hotels varchar(250), users text, max_children int DEFAULT 1, max_adults int DEFAULT 1, max_people int, title varchar(250), subtitle varchar(250), alias varchar(100), descr longtext, duration float DEFAULT 0, duration_unit varchar(50), price double DEFAULT 0, lat double, lng double, home int DEFAULT 0, checked int DEFAULT 0, rank int DEFAULT 0, PRIMARY KEY(id, lang) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_activity ADD CONSTRAINT activity_lang_fkey FOREIGN KEY (lang) REFERENCES pm_lang(id) ON DELETE CASCADE ON UPDATE NO ACTION; -- ============ CREATION OF THE TABLE pm_activity_file =========== CREATE TABLE pm_activity_file( id int NOT NULL AUTO_INCREMENT, lang int NOT NULL, id_item int NOT NULL, home int DEFAULT 0, checked int DEFAULT 1, rank int DEFAULT 0, file varchar(250), label varchar(250), type varchar(20), PRIMARY KEY(id, lang) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_activity_file ADD CONSTRAINT activity_file_fkey FOREIGN KEY (id_item, lang) REFERENCES pm_activity(id, lang) ON DELETE CASCADE ON UPDATE NO ACTION; ALTER TABLE pm_activity_file ADD CONSTRAINT activity_file_lang_fkey FOREIGN KEY (lang) REFERENCES pm_lang(id) ON DELETE CASCADE ON UPDATE NO ACTION; -- ========== CREATION OF THE TABLE pm_activity_session ========== CREATE TABLE pm_activity_session( id int NOT NULL AUTO_INCREMENT, id_activity int NOT NULL, days varchar(20), start_date int, end_date int, users text, price double DEFAULT 0, price_child double DEFAULT 0, discount double DEFAULT 0, discount_type varchar(10) DEFAULT 'rate', vat_rate double, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_activity_session ADD CONSTRAINT activity_session_fkey FOREIGN KEY (id_activity) REFERENCES pm_activity(id) ON DELETE CASCADE ON UPDATE NO ACTION; -- ======= CREATION OF THE TABLE pm_activity_session_hour ======== CREATE TABLE pm_activity_session_hour( id int NOT NULL AUTO_INCREMENT, id_activity_session int NOT NULL, start_h int, start_m int, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_activity_session_hour ADD CONSTRAINT activity_session_hour_fkey FOREIGN KEY (id_activity_session) REFERENCES pm_activity_session(id) ON DELETE CASCADE ON UPDATE NO ACTION; -- ========== CREATION OF THE TABLE pm_booking_activity ========== CREATE TABLE pm_booking_activity( id int NOT NULL AUTO_INCREMENT, id_booking int NOT NULL, id_activity int NOT NULL, title varchar(250), children int DEFAULT 0, adults int DEFAULT 0, duration varchar(50), amount double DEFAULT 0, date int, PRIMARY KEY(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE pm_booking_activity ADD CONSTRAINT booking_activity_fkey FOREIGN KEY (id_booking) REFERENCES pm_booking(id) ON DELETE CASCADE ON UPDATE NO ACTION; -- ============= CREATION OF THE TABLE pm_destination ============ CREATE TABLE pm_destination( id int NOT NULL AUTO_INCREMENT, name varchar(100), checked int DEFAULT 0, PRIMARY KEY(id) ) ENGINE=INNODB DEFAULT CHARSET=utf8;
  • >> new entries in table pm_text: DURATION, PERSON, CHOOSE_A_DATE, TIMESLOT, ACTIVITIES, DESTINATION, NO_HOTEL_FOUND, FOR, FIND_ACTIVITIES_AND_TOURS
  • INSERT INTO pm_text (id, lang, name, value) VALUES (129, 1, 'DURATION', 'Durée'), (129, 2, 'DURATION', 'Duration'), (129, 3, 'DURATION', 'Duration'), (130, 1, 'PERSON', 'Personne'), (130, 2, 'PERSON', 'Person'), (130, 3, 'PERSON', 'Person'), (131, 1, 'CHOOSE_A_DATE', 'Choisissez une date'), (131, 2, 'CHOOSE_A_DATE', 'Choose a date'), (131, 3, 'CHOOSE_A_DATE', 'Choose a date'), (132, 1, 'TIMESLOT', 'Horaire'), (132, 2, 'TIMESLOT', 'Time slot'), (132, 3, 'TIMESLOT', 'Time slot'), (133, 1, 'ACTIVITIES', 'Activités'), (133, 2, 'ACTIVITIES', 'Activities'), (133, 3, 'ACTIVITIES', 'Activities'), (134, 1, 'DESTINATION', 'Destination'), (134, 2, 'DESTINATION', 'Destination'), (134, 3, 'DESTINATION', 'Destination'), (135, 1, 'NO_HOTEL_FOUND', 'Aucun hotel trouvé'), (135, 2, 'NO_HOTEL_FOUND', 'No hotel found'), (135, 3, 'NO_HOTEL_FOUND', 'No hotel found'), (136, 1, 'FOR', 'pour'), (136, 2, 'FOR', 'for'), (136, 3, 'FOR', 'for'), (137, 1, 'FIND_ACTIVITIES_AND_TOURS', 'Découvrez nos activités et excursions'), (137, 2, 'FIND_ACTIVITIES_AND_TOURS', 'Find out our activities and tours'), (137, 3, 'FIND_ACTIVITIES_AND_TOURS', 'Find out our activities and tours');
  • >> new entries in table pm_page: id 15 & 16 (replace with your own auto incremented ids and lang ids)
  • INSERT INTO pm_page (id, lang, name, title, subtitle, title_tag, alias, descr, robots, keywords, intro, text, text2, id_parent, page_model, article_model, main, footer, home, checked, rank, add_date, edit_date, comment, rating, system) VALUES (15, 1, 'Activités', 'Activités', '', 'Activités', 'reservation-activitees', '', 'noindex,nofollow', '', '', '', '', 10, 'booking-activities', '', 1, 0, 0, 1, 7, 1477299206, 1477299206, 0, 0, 1), (15, 2, 'Activities', 'Activities', '', 'Activities', 'booking-activities', '', 'noindex,nofollow', '', '', '', '', 10, 'booking-activities', '', 1, 0, 0, 1, 7, 1477299206, 1477299206, 0, 0, 1), (15, 3, 'Activities', 'Activities', '', 'Activities', 'booking-activities', '', 'noindex,nofollow', '', '', '', '', 10, 'booking-activities', '', 1, 0, 0, 1, 7, 1477299206, 1477299206, 0, 0, 1), (16, 1, 'Activités', 'Activités', '', 'Activités', 'activitees', '', 'index,nofollow', '', '', '', '', null, 'activities', 'activity', 1, 0, 0, 1, 4, 1477299206, 1477299206, 0, 0, 1), (16, 2, 'Activities', 'Activities', '', 'Activities', 'activities', '', 'index,follow', '', '', '', '', null, 'activities', 'activity', 1, 0, 0, 1, 4, 1477299206, 1477299206, 0, 0, 1), (16, 3, 'Activities', 'Activities', '', 'Activities', 'activities', '', 'index,follow', '', '', '', '', null, 'activities', 'activity', 1, 0, 0, 1, 4, 1477299206, 1477299206, 0, 0, 1);
  • >> edit entry "hotels" (id 9) in table pm_page: replace the value of the column "system" with "1".
  • UPDATE pm_page SET system = 1 WHERE id = 9;
  • /common/define.php
  • /common/lib.php
  • /common/phpmailer/class.phpmailer.php
  • /index.php
  • /js/custom.js
  • /js/plugins/jquery.event.calendar/css/jquery.event.calendar.css
  • /js/plugins/sharrre/jquery.sharrre.min.js
  • /templates/booking/ renamed with /templates/default/
  • /templates/default/common/(all files)
  • /templates/default/css/colors.css
  • /templates/default/css/custom.css (!empty file, keep your own changes in this file)
  • /templates/default/css/layout.css
  • /templates/default/css/main.css (old content of custom.css)
  • /templates/default/maintenance.php
  • /templates/default/models/(all files)
  • /templates/default/widgets/(all files)