| @@ -1,12 +1,12 @@ | ||
| 1 | -=== Booking Manager === | |
| 1 | +=== Booking Manager - Sync WP Booking Calendar - Import Events, Export Bookings to ICS Calendar === | |
| 2 | 2 | Contributors: wpdevelop, oplugins |
| 3 | 3 | Donate link: https://oplugins.com/plugins/booking-manager |
| 4 | -Tags: events, bookings, list events, sync bookings, booking calendar, synchronize events, import ics, export ics, import events, export events, ical, airbnb | |
| 4 | +Tags: booking calendar, events, ics, google calendar, iCalendar | |
| 5 | 5 | Requires at least: 4.0 |
| 6 | -Requires PHP: 5.2.4 | |
| 7 | -Tested up to: 5.9 | |
| 8 | -Stable tag: 2.0.22 | |
| 6 | +Requires PHP: 5.6 | |
| 7 | +Tested up to: 7.1 | |
| 8 | +Stable tag: 2.1.21 | |
| 9 | 9 | License: GPLv2 or later |
| 10 | 10 | License URI: http://www.gnu.org/licenses/gpl-2.0.html |
| 11 | 11 | |
| 12 | 12 | Showing events listing from .ics feeds or sync bookings from different sources to your website |
| @@ -120,9 +120,9 @@ | ||
| 120 | 120 | |
| 121 | 121 | = Requirements = |
| 122 | 122 | |
| 123 | 123 | - PHP 5.6 or newer, |
| 124 | -- MySQL version 5.0 or newer, | |
| 124 | +- MySQL version 5.5 or newer, | |
| 125 | 125 | - WordPress 4.0 or newer, |
| 126 | 126 | - jQuery 1.7.1 or newer |
| 127 | 127 | |
| 128 | 128 | == Screenshots == |
| @@ -133,8 +133,110 @@ | ||
| 133 | 133 | 4. **Events Listing Template** - customize template how to show events at your website |
| 134 | 134 | 5. **Inserting shortcode** - popup dialog for easy configuring and inserting plugin shortcode into content of post |
| 135 | 135 | |
| 136 | 136 | == Changelog == |
| 137 | += 2.1.21 = | |
| 138 | +* **Security** Hardened iCalendar import UID lookups and restricted interface preference updates to the signed-in user's own settings. Thanks to Mohamed Bassia and Choriyev Qahramon (ciprobe) for responsible disclosure. | |
| 139 | + | |
| 140 | += 2.1.20 = | |
| 141 | +* **New** * Added support for the “Append extra day after imported checkout day” import option. When enabled together with “Append check out day”, imported .ics events will include one additional day after the imported checkout day before applying check-in/check-out times. | |
| 142 | +* **Fix** Parent-resource .ics feeds in Booking Calendar Business Large now export only dates assigned to the parent resource, preventing bookings occupying child resources from being included. | |
| 143 | + | |
| 144 | += 2.1.19 = | |
| 145 | +* **Fix** Hardened Listing Template settings by restricting access to manage_options and sanitizing listing_template on save and render while preserving safe HTML/placeholders | |
| 146 | + | |
| 147 | += 2.1.18 = | |
| 148 | +* **Fix** Fix XSS during listing of .ics feed content, if the .ics file was broken or intentionaly inject by malicious script. (2.1.18.1) | |
| 149 | + | |
| 150 | += 2.1.17 = | |
| 151 | +* **Fix** If enabled "Use selected times for each booking date" option on the WP Booking Calendar > Settings > Calendar > Calendar Settings page, system imports time slots, instead of check in/out times for such bookings. (2.1.17.1) | |
| 152 | + | |
| 153 | += 2.1.16 = | |
| 154 | +* **Fix** Timed events where end <= start (equal or earlier, e.g., due to a bug or reversed inputs) -> you now get a minimal valid span of +1 hour. Previously this produced invalid ICS (“DTEND before DTSTART”). | |
| 155 | +* **Fix** All-day events where end ≤ start -> coerced to +1 day (exclusive end), which matches iCal semantics for single-day all-day events. | |
| 156 | +* **Fix** So: for correctly formed bookings, durations are identical. The only “change” is that bad/zero/negative durations are repaired to a minimal valid length so calendars won’t reject the feed. | |
| 157 | + | |
| 158 | += 2.1.15 = | |
| 159 | +* **Improvement** Block import/delete shortcodes on non-published posts/pages to prevent unintended actions during review. (2.1.15.1) | |
| 160 | + | |
| 161 | += 2.1.14 = | |
| 162 | +* **Improvement** Improved iCal/ICS export for full compatibility. | |
| 163 | +* **Improvement** Reworked recurring and multi-date export logic: now generates one VEVENT per date/range instead of RDATE rules, ensuring full compatibility with Google Calendar, Outlook, Apple Calendar, Booking.com, Airbnb, and other iCal consumers. | |
| 164 | +* **Improvement** Corrected date handling to respect the site’s timezone for both all-day and timed events, preventing off-by-one-day issues. | |
| 165 | +* **Improvement** Added safer UID generation and consistent metadata for better sync reliability. | |
| 166 | + | |
| 167 | += 2.1.13 = | |
| 168 | +* Fix: When accessing the .ics calendar feed for a parent booking resource (with specific capacity) in Booking Calendar Business Large, only bookings from the parent resource are now exported. Previously, bookings from all associated child resources were incorrectly included. (Version 10.12.3.2) | |
| 169 | + | |
| 170 | += 2.1.12 = | |
| 171 | +* New: Added option "Export only full days (not time)" on "oPlugins Panel > Settings General", to export only full days without time to the .ics feed. This is a limitation in Airbnb and some other services. (2.1.12.1) | |
| 172 | +* **Fix** Notice: Function _load_textdomain_just_in_time was called incorrectly. (2025-04-04) | |
| 173 | + | |
| 174 | += 2.1.11 = | |
| 175 | +* **Fix** Notice: Function _load_textdomain_just_in_time was called incorrectly. (2025-03-28) | |
| 176 | + | |
| 177 | += 2.1.10 = | |
| 178 | +* **Fix** Correctly import of full day events, which contains of several not consecutive dates into the Google Calendar (2.1.10.1) | |
| 179 | + | |
| 180 | += 2.1.9 = | |
| 181 | +* **Under hood** Added FBTYPE:BUSY for all exported bookings in .ics feeds. Purpose of this property to specify the free or busy time type. Some external servers does not mark the bookings as unavailable without this property (2.1.9.1) | |
| 182 | +* Fix Added removed empty spaces in .ics feed at the beginning and end of the .ics feed, which can be reason of PHP Fatal error: Uncaught Error: Call to a member function getName() on null in ../booking-manager/assets/libs/icalendar/includes/ical.php:461 ... (2.1.9.2) | |
| 183 | + | |
| 184 | += 2.1.8 = | |
| 185 | +* **Under hood** Prevent of execution shortcodes, while editing the post/page. Instead of that show Sketchup block. It's reduce potential conflict issues and improve speed of such edit page. (9.9.0.39) | |
| 186 | + | |
| 187 | += 2.1.7 = | |
| 188 | +* Fix empty spaces in the UID of exported events in some servers. 2.1.7.1 | |
| 189 | + | |
| 190 | += 2.1.6 = | |
| 191 | +* Fix vulnerable to SQL injection in the [booking-manager-delete ...] shortcode. | |
| 192 | + | |
| 193 | += 2.1.5 = | |
| 194 | +* New shortcode parameter. Ability to use shortcode [booking-manager-delete resource_id=1 action='delete'] to delete all imported bookings from specific booking resource (calendar). ( In paid versions of Booking Calendar you can define ID of booking resource, where you want to delete imported bookings with this parameter: resource_id=1 ). | |
| 195 | + | |
| 196 | += 2.1.4 = | |
| 197 | +* New shortcode parameter in import shortcode: delete='skip'. It will prevent of deletion of all previous imported bookings, even if you activated option "Trash / delete all imported bookings before new import" at the Booking > Settings > Sync > "General" page. Example: [booking-manager-import delete='skip' resource_id=1 import_conditions='if_dates_free' from='today' until='any' url='https://calendar.google.com/calendar/ical/CALENDAR_ID/public/basic.ics'] | |
| 198 | + | |
| 199 | += 2.1.3 = | |
| 200 | +* Fix issue of not importing events with only one date (if was activated "Use check in/out time" at the Booking > Settings > Sync > "General" page). In this case, system append one additional date for such events (even if the option "Append check out day", unchecked). It is required for the bookings with check in/out times (chnge over dates), because such bookings minimum for 2 dates. | |
| 201 | + | |
| 202 | += 2.1.2 = | |
| 203 | +* Added support legacy versions of Booking Calendar. | |
| 204 | + | |
| 205 | += 2.1.1 = | |
| 206 | +* Add message that Booking Manager require Booking Calendar 9.8 or newer | |
| 207 | + | |
| 208 | += 2.1 = | |
| 209 | +* Support Booking Calendar 9.8 | |
| 210 | + | |
| 211 | += 2.0.31 = | |
| 212 | +* **Fix**. PHP Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given ... (2.0.31.1) | |
| 213 | + | |
| 214 | += 2.0.30 = | |
| 215 | +* **New** Added new REFRESH-INTERVAL property to head of exported .ics feeds with PERIOD 10 minutes. This property specifies a suggested minimum interval for polling for changes of the calendar data from the original source of that data. (2.0.30.1) | |
| 216 | +* **New** Added new X-PUBLISHED-TTL:PT10M property to head of exported .ics feeds with PERIOD 10 minutes for MS Outlook. (2.0.30.1) | |
| 217 | + | |
| 218 | += 2.0.29 = | |
| 219 | +* **Fix**. Possible Server Side Request Forgery (SSRF) issue. | |
| 220 | + | |
| 221 | += 2.0.28 = | |
| 222 | +* **Fix**. Issue of import events, where last day of event blocking the whole day on the calendar. (2.0.28.1) | |
| 223 | + | |
| 224 | += 2.0.27 = | |
| 225 | +* **Fix**. If activated option "Append check out day" at Booking > Settings > Sync > "General" page, system will append this additional day does not depend on the change-over days option, as before. (2.0.27.1) | |
| 226 | + | |
| 227 | += 2.0.26 = | |
| 228 | +* **Fix**. Hide 'ATTENDEE' and 'MAILTO' fields in events of exported .ics feed, if activated option 'Remove booking details in exported .ics feed' at the Booking Manager plugin at menu 'oPlugins Panel' > General Settings page. | |
| 229 | + | |
| 230 | += 2.0.25 = | |
| 231 | +* **Fix**. Uncaught TypeError: Cannot access offset of type string on string in ../wp-content/plugins/booking-manager/core/wpbm-functions.php:218 (2.0.25.1) | |
| 232 | + | |
| 233 | += 2.0.24 = | |
| 234 | +* **New**. Ability permanently delete all imported bookings before new import, instead of sending to Trash. Activate this option at the Booking > Settings > Sync > "General" page. (2.0.24.1) | |
| 235 | + | |
| 236 | += 2.0.23 = | |
| 237 | +* **Fix**. issue when .ics event have DTSTART has a DATE data type, and there is no DTEND. The event will ends on the same calendar date and time of day specified by the "DTSTART" property. (2.0.23.1) | |
| 238 | + | |
| 137 | 239 | = 2.0.22 = |
| 138 | 240 | * **New** shortcode for deleting importing bookings in specific booking resource: [booking-manager-delete resource_id=5] |
| 139 | 241 | * **Fix**. issue of incorrectly import events that ended with 00:00:00 time. (2.0.22.2) |
| 140 | 242 | |
| @@ -244,5 +346,5 @@ | ||
| 244 | 346 | * Fully redeveloping version of plugin |
| 245 | 347 | |
| 246 | 348 | == Upgrade Notice == |
| 247 | 349 | = 2.0.16 = |
| 248 | -Support WordPress 5.5 | |
| 350 | +Support WordPress 5.5 | |