Skip to content

Commit

Permalink
Merge pull request #530 from WoollyinWalesIT/nightly
Browse files Browse the repository at this point in the history
Nightly
  • Loading branch information
jomres committed May 25, 2023
2 parents 662e854 + 5463eea commit f65c38b
Show file tree
Hide file tree
Showing 1,209 changed files with 33,929 additions and 29,235 deletions.
80 changes: 80 additions & 0 deletions CHANGELOG_JOMRES
@@ -1,3 +1,83 @@
<h3>Jomres 10.7.0 25/05/2023</h3>

<span class="label label-success">Feature</span> Lots of changes related to overrides in this version. A lot of scripts can be overridden by dropping a copy of the script into the template or theme directory, /html/com_jomres/custom_code sub directory.

Function overrides. Create a file called custom_functions.php and copy functions from the varies function files in /jomres/libraries/jomres/functions into this file to have custom Jomres functions.
Class overrides. Copy the class file into the custom_code directory and Jomres will automatically use that.
Map styles overrides. To customise map styles create a file custom_map_style.style into the custom_code dir.
Custom Jquery UI css file. Create a file called custom_jquery_ui.css in the custom_code directory and Jomres will use that. Due to when it's called Jquery UI css declarations here will override the defaults.
Joomla only : Custom copy of components/com_jomres/router/router.php can be put into the custom_code directory and Jomres will use that instead of the default.
Customised versions of /jomres/assets/css and /jomres/assets/javascript files can be put into custom_code directory and Jomres will use those instead of the default.
Property Specific Minicomponents. In the override directory you can create subdirectories numbered according to property type IDs. Now you can put copies of minicomponents in those directories and if the property type being shown is of that type then the customised version of that minicomponent will be used. Previously you could use this feature for template files, and it has now been extended to support minicomponents too.

NB: If you're already an experienced Jomres user, note that the custom_code directory referenced here is different to the one you're used to. Look in the Developer's and Designer's guide in the Documentation section of Jomres.net and find the Read This First section for more information.

<span class="label label-success">Feature</span> Reviewed and reworked the old property specific language strings feature called Language Context. Also added the ability for urls and shortcodes to set the language context.

In the Translate Language file strings page you will see a new dropdown called Language Context. When you change this dropdown the page will reload. Now any changes you make to language strings will be specific to that property type. To find the correct language context for a property type visit the administrator > Jomres > Settings > Property types page. The contexts are shown in the table.

A use case example :

In the Translate lang file strings page change the Language Context dropdown to Camp Site. Now search the page for _JOMRES_SEARCH_BUTTON. Under that line you will see the string "Search". Change that string to "Find a camp site". Now you can create a Search Form Elements custom module with the shortcode {jomres search_form_button &language_context=campsite} and now the text for the button will change to "Find a camp site".

Another use case :

Search the translate lang file strings page for _JOMRES_COM_MR_QUICKRES_STEP2_TITLE. The row below it shows "Our rooms". Again, change the language context at the top of the page to Camp site. Now search for _JOMRES_COM_MR_QUICKRES_STEP2_TITLE again. Change the row below it from "Our Rooms" to "Our pitches". Now when somebody views the property details page of a camp site type property, instead of saying "Our rooms" it will say "Our pitches".

In previous versions of Jomres this feature used alternate language files to achieve the same thing. This new feature is much more flexible and allows you to change the language context via shortcode arguments, allowing you to have different strings in shortcodes without needing to change any files. As always the changes are saved to the database so they are update-safe.

<span class="label label-success">Feature</span> Added a new Property type setting that sets a property type to be an Item Hire property type. This will automatically disable showing selection of guest numbers in the booking form, and a few property config settings. Properties set with this setting are essentially MRPs. To prevent us being burdened with significant more template files, some templates will still refer to guest numbers so they'll need to be copied and placed in property type specific override directories.
<span class="label label-success">Feature</span> Added Animation Library for animating display of properties.
<span class="label label-success">Feature</span> Managers can now switch between Micromanage and Advanced. Advanced wasn't available in 10.6, but brought it back in to 10.7 as it still has it's uses.
<span class="label label-success">Feature</span> Added setting which allows property managers to determine if the number of children can be used when checking the number of guests in a booking v the number of selected rooms.
<span class="label label-success">Feature</span> When an oauth client is now created, if a valid token doesn't exist we'll automatically create one for them, then redirect back to the edit client page. Quality of life improvement.
<span class="label label-success">Feature</span> If per person per night is not true (i.e. the property/rooms is/are booked per night instead) then child rates are not prompted for, and child prices aren't calculated. Likewise, prices aren't shown for children, but children can still be added to the booking if child rates are added to the booking. You can leave the rate set to zero to just record the ages of the children without charging for them.
<span class="label label-success">Feature</span> Added a new local tokens class, allows a plugin or core system to create tokens for the rest api for a specific purpose. This token is then stored in the user's parameters which can then be used elsewhere by the plugin's scripts to use the local rest api without needing the user to generate client id/secret and token themselves.
<span class="label label-success">Feature</span> Changed occupancy levels adults dropdown so that the dropdown maximum adults is set to whatever the highest max adults from all tariffs can be.
<span class="label label-success">Feature</span> Added 4 new scripts + corresponding template files, which are called before and after search results and property details scripts are run. In Core they don't do anything, but they provide a unified mechanism by which plugins can add elements like columns/widgets etc to wrap search results and the property details page. The new "Search Composite Sidebar" plugin uses this to add a search form to the side of the search results page.

<span class="label label-warning">Change</span> Weekly percentages widget updated (BS5 only).
<span class="label label-warning">Change</span> Reworked property details in BS5. Header area, image is now parallax and full width of available space (in Cassiopeia there's still some margin, even with the template style set to fluid, not static.). Other layout related tweaks and improvements.
<span class="label label-warning">Change</span> Removed container class div from top.html & bottom.html. Where the theme/template allows, then content can be full width. Moved the container instead to wrap the menu position div.
<span class="label label-warning">Change</span> Added a new disable_main_menu script that the main menu will obey, if it has been run then the menu will not be shown anywhere in the page. This allows us to use a simple shortcode {jomres_script disable_main_menu} in any Jomres template and we can disable the menu only on those pages that the template has been rendered.
<span class="label label-warning">Change</span> Added new arguments to show_main_menu that can be used to set which div id the menu should be moved into once rendered. In BS5 and greater, the bottom.html template will trigger the menu, instead of it being triggered in jomres.php.
<span class="label label-warning">Change</span> Booking Confirmation page markup improved, some wording changed for clarity.
<span class="label label-warning">Change</span> Add a handful of BRs to the bottom of the page so that sticky Save buttons don't hide bits of the page.
<span class="label label-warning">Change</span> Enabled/disabled a couple of settings based on an upcoming new "secret" setting that allows some sites to revert to the old guest types if required.
<span class="label label-warning">Change</span> Core app key management checks for local tokens array and excludes any api keys from display in the app key management page.
<span class="label label-warning">Change</span> Old management view button that used BS2 for fullscreen viewing is now ditched by default, I don't feel it's necessary any more. Managers can re-enable the button, if they wish, by editing Jomres' configuration.php and adding the line demonstrated in site_config.php however I believe that it interferes with the rest of the Jomres UI in J4/BS5 to no strong benefit.
<span class="label label-warning">Change</span> Added a function to determine the relative path to a file when handed it's full path. Primarily used for overriding css and javascript files.
<span class="label label-warning">Change</span> Per person per night setting moved from Tariffs into Bookings tab of Property Configuration.
<span class="label label-warning">Change</span> Generate date input now can accept an array of options. Currently uses this array to disable the calendar fontawesome icon. You can also use a j00001 script to configure which classes the jquery ui datepicker should use.
<span class="label label-warning">Change</span> Modified Core so that it can use the autocomplete feature.
<span class="label label-warning">Change</span> Unselected heart for shortlists changed to grey so works better in cassiopeia.
<span class="label label-warning">Change</span> Add an automatic test that will check to see if the system is api capable. If it is, we'll install the CMF Features and Framework plugins automatically.
<span class="label label-warning">Change</span> Search by stars modified so that searching is done based on array of stars, not a single variable (like you would get from a dropdown). This allows Core searching to use the Stars rows previously found in Ajax search composite (ASC uses it's own search feature so should be unaffected by this change).
<span class="label label-warning">Change</span> If the image size of slideshow is set to large, we'll allow the "thumbnails" to be large too. With the full adoption of lazy loading, having large thumbs by default assures high quality images to be visible from the outset. BS5 carousel plugin however hides larger images on small viewports so that plugin remains recommended if you're using BS5.
<span class="label label-warning">Change</span> Wordpress : Change how we detect the root directory and trigger the installation location, try our damnedest to install in /jomres not the plugin dir where possible.
<span class="label label-warning">Change</span> Modified new functionality that imports language strings from language definitions. Older functionality was attempting to match vuejs code like {{ message }} which was unwanted behaviour. This change checks to see if the matched string is all in uppercase. If it is, then it can attempt to import the language strings.
<span class="label label-warning">Change</span> On installation, ensure that the default tariff editing mode is 3 (Micromanage) for new properties.
<span class="label label-warning">Change</span> Update existing sites so that default tariff editing mode is 3 (micromanage). Existing properties keep their current tariff editing mode, however once they change to Micromanage/Advanced they can't then change back.
<span class="label label-warning">Change</span> Added property switcher to BS3 top.html
<span class="label label-warning">Change</span> Croatian currency code changed to euro.
<span class="label label-warning">Change</span> Dynamically adjust minimum interval in the booking engine if possible.
<span class="label label-warning">Change</span> Set the departure date to be the arrival date + whatever the calculated min interval was found to be.
<span class="label label-warning">Change</span> Prevent a new google map message about callbacks by adding &callback=Function.prototype to the api url used.
<span class="label label-warning">Change</span> Change the gmaps version to suppress a console warning.
<span class="label label-warning">Change</span> Allow Joomla 4 sites to change the Bootstrap setting because upgraded sites may still have the old setting which needs to be changed.
<span class="label label-warning">Change</span> Minor tweak to make BS3 payment gateway images responsive.
<span class="label label-warning">Change</span> Accepting children is off by default in new properties.
<span class="label label-warning">Change</span> Improved show rooms and show room template markup
<span class="label label-warning">Change</span> Don't show list properties page if site is set to single property only.
<span class="label label-warning">Change</span> Add a new script to show the property schema independently.

<span class="label label-important label-danger">Fix</span> Resolved an issue where database re-import of images would misbehave. One of those "Weird, that's been working fine for years, and now it's not?" bugs.
<span class="label label-important label-danger">Fix</span> Set max height of uploaded image to 150px (mainly so that the no-image svg doesn't appear too large). Media centre.
<span class="label label-important label-danger">Fix</span> Main menu navbar toggler fixed.
<span class="label label-important label-danger">Fix</span> Improved address url for qr codes
<span class="label label-important label-danger">Fix</span> Make sure that the Stripe logo is included correctly by the payment methods class.


<h3>Jomres 10.6.0 08/11/2022</h3>

<span class="label label-success">Feature</span> Property switching dropdown re-added to Jomres, and significantly updated. This allows us to switch properties quickly when administering properties. This is a useful older feature that has been reintroduced and updated to be context sensitive.
Expand Down
2 changes: 2 additions & 0 deletions README.md
@@ -1,3 +1,5 @@
![](https://img.shields.io/badge/Coded%20By%20Human-100%25-brightgreen)

# Jomres Core - Online Booking Engine for WordPress and Joomla

Jomres is the only Joomla & WordPress Online Booking engine with PMS features and built-in REST API.
Expand Down
8 changes: 6 additions & 2 deletions admin.php
Expand Up @@ -4,9 +4,9 @@
*
* @author Vince Wooll <sales@jomres.net>
*
* @version Jomres 10.6.0
* @version Jomres 10.7.0
*
* @copyright 2005-2022 Vince Wooll
* @copyright 2005-2023 Vince Wooll
* Jomres (tm) PHP, CSS & Javascript files are released under both MIT and GPL2 licenses. This means that you can choose the license that best suits your project, and use it accordingly
**/

Expand Down Expand Up @@ -41,6 +41,10 @@
request_log();
}

jr_import('jomres_api_capability_test');
$jomres_api_capability_test = new jomres_api_capability_test();
$jomres_api_capability_test->is_system_capable();

//get all properties in system.
$jomres_properties = jomres_singleton_abstract::getInstance('jomres_properties');
$jomres_properties->get_all_properties();
Expand Down
4 changes: 2 additions & 2 deletions api/classes/all_api_features.class.php
Expand Up @@ -9,9 +9,9 @@
*
* @author Vince Wooll <sales@jomres.net>
*
* @version Jomres 10.6.0
* @version Jomres 10.7.0
*
* @copyright 2005-2022 Vince Wooll
* @copyright 2005-2023 Vince Wooll
* Jomres (tm) PHP, CSS & Javascript files are released under both MIT and GPL2 licenses. This means that you can choose the license that best suits your project, and use it accordingly
*/

Expand Down
4 changes: 2 additions & 2 deletions api/classes/call.class.php
Expand Up @@ -9,9 +9,9 @@
*
* @author Vince Wooll <sales@jomres.net>
*
* @version Jomres 10.6.0
* @version Jomres 10.7.0
*
* @copyright 2005-2022 Vince Wooll
* @copyright 2005-2023 Vince Wooll
* Jomres (tm) PHP, CSS & Javascript files are released under both MIT and GPL2 licenses. This means that you can choose the license that best suits your project, and use it accordingly
**/

Expand Down
6 changes: 3 additions & 3 deletions api/classes/call_self.class.php
Expand Up @@ -7,9 +7,9 @@
*
* @author Vince Wooll <sales@jomres.net>
*
* @version Jomres 10.6.0
* @version Jomres 10.7.0
*
* @copyright 2005-2022 Vince Wooll
* @copyright 2005-2023 Vince Wooll
* Jomres (tm) PHP, CSS & Javascript files are released under both MIT and GPL2 licenses. This means that you can choose the license that best suits your project, and use it accordingly
*/

Expand Down Expand Up @@ -57,7 +57,7 @@ public function call($elements = array())
if (!isset($elements['headers'])) {
$elements['headers'] = array();
}

$response = new stdClass();
try {
$response = $this->jomres_call_api->send_request( $elements['method'] , $elements['request'] , $elements['data'] , $elements['headers']);
}
Expand Down
4 changes: 2 additions & 2 deletions api/classes/logging.class.php
Expand Up @@ -5,9 +5,9 @@
*
* @author Vince Wooll <sales@jomres.net>
*
* @version Jomres 10.6.0
* @version Jomres 10.7.0
*
* @copyright 2005-2022 Vince Wooll
* @copyright 2005-2023 Vince Wooll
* Jomres (tm) PHP, CSS & Javascript files are released under both MIT and GPL2 licenses. This means that you can choose the license that best suits your project, and use it accordingly
**/
use Monolog\Logger;
Expand Down
4 changes: 2 additions & 2 deletions api/classes/validate_property_access.class.php
Expand Up @@ -6,9 +6,9 @@
*
* @author Vince Wooll <sales@jomres.net>
*
* @version Jomres 10.6.0
* @version Jomres 10.7.0
*
* @copyright 2005-2022 Vince Wooll
* @copyright 2005-2023 Vince Wooll
* Jomres (tm) PHP, CSS & Javascript files are released under both MIT and GPL2 licenses. This means that you can choose the license that best suits your project, and use it accordingly
**/

Expand Down
4 changes: 2 additions & 2 deletions api/classes/validate_scope.class.php
Expand Up @@ -5,9 +5,9 @@
*
* @author Vince Wooll <sales@jomres.net>
*
* @version Jomres 10.6.0
* @version Jomres 10.7.0
*
* @copyright 2005-2022 Vince Wooll
* @copyright 2005-2023 Vince Wooll
* Jomres (tm) PHP, CSS & Javascript files are released under both MIT and GPL2 licenses. This means that you can choose the license that best suits your project, and use it accordingly
**/

Expand Down
4 changes: 2 additions & 2 deletions api/custom_methods.php
Expand Up @@ -6,9 +6,9 @@
*
* @author Vince Wooll <sales@jomres.net>
*
* @version Jomres 10.6.0
* @version Jomres 10.7.0
*
* @copyright 2005-2022 Vince Wooll
* @copyright 2005-2023 Vince Wooll
* Jomres (tm) PHP, CSS & Javascript files are released under both MIT and GPL2 licenses. This means that you can choose the license that best suits your project, and use it accordingly.
*/

Expand Down

0 comments on commit f65c38b

Please sign in to comment.