diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index c16b819d5d3..2685c2f8fca 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -32,7 +32,7 @@ People on every project come and go, and Joomla is no different. When you leave Check your e-mails regularly and answer them promptly—even if it's "I'll get back to you." ## Be Honest -Sometimes the hardest thing to say is "no" or admit you've forgotten do something. Be honest with each other and yourself with regards to what you say and what you can realistically commit to. +Sometimes the hardest thing to say is "no" or admit you've forgotten to do something. Be honest with each other and yourself with regards to what you say and what you can realistically commit to. ## Follow the Rules Volunteers are expected to uphold Joomla's licensing and trademark requirements including, but not limited to, compliance on their own or affiliate websites and extensions. Make sure you have sought the appropriate approvals for domain name, name and logo usage prior to volunteering and that any extensions you distribute comply with the Joomla license. diff --git a/administrator/components/com_actionlogs/forms/filter_actionlogs.xml b/administrator/components/com_actionlogs/forms/filter_actionlogs.xml index 1c4dcf657f3..c64c591b927 100644 --- a/administrator/components/com_actionlogs/forms/filter_actionlogs.xml +++ b/administrator/components/com_actionlogs/forms/filter_actionlogs.xml @@ -41,6 +41,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.id DESC" + validate="options" > diff --git a/administrator/components/com_associations/forms/filter_associations.xml b/administrator/components/com_associations/forms/filter_associations.xml index 0cd9022e205..99bd9491820 100644 --- a/administrator/components/com_associations/forms/filter_associations.xml +++ b/administrator/components/com_associations/forms/filter_associations.xml @@ -89,6 +89,7 @@ label="JGLOBAL_SORT_BY" default="id ASC" onchange="this.form.submit();" + validate="options" > diff --git a/administrator/components/com_banners/forms/filter_banners.xml b/administrator/components/com_banners/forms/filter_banners.xml index 24a29c34d5e..338ae85cc35 100644 --- a/administrator/components/com_banners/forms/filter_banners.xml +++ b/administrator/components/com_banners/forms/filter_banners.xml @@ -71,6 +71,7 @@ statuses="*,0,1,2,-2" onchange="this.form.submit();" default="a.name ASC" + validate="options" > diff --git a/administrator/components/com_banners/forms/filter_clients.xml b/administrator/components/com_banners/forms/filter_clients.xml index 64a03afe3c5..d0c501ed8ec 100644 --- a/administrator/components/com_banners/forms/filter_clients.xml +++ b/administrator/components/com_banners/forms/filter_clients.xml @@ -42,6 +42,7 @@ statuses="*,0,1,2,-2" onchange="this.form.submit();" default="a.name ASC" + validate="options" > diff --git a/administrator/components/com_banners/forms/filter_tracks.xml b/administrator/components/com_banners/forms/filter_tracks.xml index 90f0cc1208f..0d023204ae2 100644 --- a/administrator/components/com_banners/forms/filter_tracks.xml +++ b/administrator/components/com_banners/forms/filter_tracks.xml @@ -63,7 +63,6 @@ format="%Y-%m-%d" size="10" filter="user_utc" - onchange="this.form.submit();" /> @@ -84,6 +82,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="b.name ASC" + validate="options" > diff --git a/administrator/components/com_banners/src/Model/TracksModel.php b/administrator/components/com_banners/src/Model/TracksModel.php index 3152cdc3cca..643ff4992e8 100644 --- a/administrator/components/com_banners/src/Model/TracksModel.php +++ b/administrator/components/com_banners/src/Model/TracksModel.php @@ -407,9 +407,9 @@ class TracksModel extends ListModel } /** - * Get the category name + * Get the client name * - * @return string The category name. + * @return string The client name. * * @since 1.6 */ diff --git a/administrator/components/com_cache/forms/filter_cache.xml b/administrator/components/com_cache/forms/filter_cache.xml index 82fc562de6e..af576cb1ece 100644 --- a/administrator/components/com_cache/forms/filter_cache.xml +++ b/administrator/components/com_cache/forms/filter_cache.xml @@ -18,6 +18,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="group ASC" + validate="options" > diff --git a/administrator/components/com_categories/forms/filter_categories.xml b/administrator/components/com_categories/forms/filter_categories.xml index 7aee9d21d19..0f45caadedf 100644 --- a/administrator/components/com_categories/forms/filter_categories.xml +++ b/administrator/components/com_categories/forms/filter_categories.xml @@ -74,6 +74,7 @@ default="a.lft ASC" statuses="*,0,1,2,-2" onchange="this.form.submit();" + validate="options" > diff --git a/administrator/components/com_checkin/forms/filter_checkin.xml b/administrator/components/com_checkin/forms/filter_checkin.xml index e61f8bb8bdb..1bc653835d9 100644 --- a/administrator/components/com_checkin/forms/filter_checkin.xml +++ b/administrator/components/com_checkin/forms/filter_checkin.xml @@ -18,6 +18,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="table ASC" + validate="options" > diff --git a/administrator/components/com_contact/forms/filter_contacts.xml b/administrator/components/com_contact/forms/filter_contacts.xml index ace7a5993cb..26eb1cd0176 100644 --- a/administrator/components/com_contact/forms/filter_contacts.xml +++ b/administrator/components/com_contact/forms/filter_contacts.xml @@ -96,6 +96,7 @@ label="JGLOBAL_SORT_BY" default="a.name ASC" onchange="this.form.submit();" + validate="options" > diff --git a/administrator/components/com_content/forms/filter_articles.xml b/administrator/components/com_content/forms/filter_articles.xml index 0f28c1f0a30..8516a88df20 100644 --- a/administrator/components/com_content/forms/filter_articles.xml +++ b/administrator/components/com_content/forms/filter_articles.xml @@ -119,6 +119,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.id DESC" + validate="options" > diff --git a/administrator/components/com_content/forms/filter_featured.xml b/administrator/components/com_content/forms/filter_featured.xml index e9f405ab28d..92335598ee2 100644 --- a/administrator/components/com_content/forms/filter_featured.xml +++ b/administrator/components/com_content/forms/filter_featured.xml @@ -106,6 +106,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.title ASC" + validate="options" > diff --git a/administrator/components/com_fields/forms/filter_fields.xml b/administrator/components/com_fields/forms/filter_fields.xml index e1dcbb9d62e..e82c536760b 100644 --- a/administrator/components/com_fields/forms/filter_fields.xml +++ b/administrator/components/com_fields/forms/filter_fields.xml @@ -14,6 +14,7 @@ type="text" inputmode="search" label="" + description="COM_FIELDS_FIELDS_FILTER_SEARCH_DESC" hint="JSEARCH_FILTER" class="js-stools-search-string" /> @@ -74,6 +75,7 @@ statuses="*,0,1,2,-2" onchange="this.form.submit();" default="a.ordering ASC" + validate="options" > diff --git a/administrator/components/com_fields/forms/filter_groups.xml b/administrator/components/com_fields/forms/filter_groups.xml index 899c2ccbd37..5251d595419 100644 --- a/administrator/components/com_fields/forms/filter_groups.xml +++ b/administrator/components/com_fields/forms/filter_groups.xml @@ -13,6 +13,7 @@ name="search" type="text" inputmode="search" + description="COM_FIELDS_GROUPS_FILTER_SEARCH_DESC" hint="JSEARCH_FILTER" class="js-stools-search-string" /> @@ -52,6 +53,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.ordering ASC" + validate="options" > diff --git a/administrator/components/com_finder/forms/filter_filters.xml b/administrator/components/com_finder/forms/filter_filters.xml index 78ed6a0af00..7696f7440b7 100644 --- a/administrator/components/com_finder/forms/filter_filters.xml +++ b/administrator/components/com_finder/forms/filter_filters.xml @@ -28,6 +28,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.title ASC" + validate="options" > diff --git a/administrator/components/com_finder/forms/filter_index.xml b/administrator/components/com_finder/forms/filter_index.xml index cd82b6af3ff..b5ec859ed66 100644 --- a/administrator/components/com_finder/forms/filter_index.xml +++ b/administrator/components/com_finder/forms/filter_index.xml @@ -56,6 +56,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="l.title ASC" + validate="options" > diff --git a/administrator/components/com_finder/forms/filter_maps.xml b/administrator/components/com_finder/forms/filter_maps.xml index 9b23556ce63..faf797dfc02 100644 --- a/administrator/components/com_finder/forms/filter_maps.xml +++ b/administrator/components/com_finder/forms/filter_maps.xml @@ -49,6 +49,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="branch_title ASC" + validate="options" > diff --git a/administrator/components/com_finder/forms/filter_searches.xml b/administrator/components/com_finder/forms/filter_searches.xml index 65c51fd3693..ff2ce25b84f 100644 --- a/administrator/components/com_finder/forms/filter_searches.xml +++ b/administrator/components/com_finder/forms/filter_searches.xml @@ -17,6 +17,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.hits ASC" + validate="options" > diff --git a/administrator/components/com_installer/forms/filter_discover.xml b/administrator/components/com_installer/forms/filter_discover.xml index d83df8664cf..96645b8f6d7 100644 --- a/administrator/components/com_installer/forms/filter_discover.xml +++ b/administrator/components/com_installer/forms/filter_discover.xml @@ -45,6 +45,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="name ASC" + validate="options" > diff --git a/administrator/components/com_installer/forms/filter_languages.xml b/administrator/components/com_installer/forms/filter_languages.xml index 1de7dd451b5..902d058fb50 100644 --- a/administrator/components/com_installer/forms/filter_languages.xml +++ b/administrator/components/com_installer/forms/filter_languages.xml @@ -17,6 +17,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="name ASC" + validate="options" > diff --git a/administrator/components/com_installer/forms/filter_manage.xml b/administrator/components/com_installer/forms/filter_manage.xml index b3ee6916187..220744b1b3b 100644 --- a/administrator/components/com_installer/forms/filter_manage.xml +++ b/administrator/components/com_installer/forms/filter_manage.xml @@ -65,6 +65,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="name ASC" + validate="options" > diff --git a/administrator/components/com_installer/forms/filter_update.xml b/administrator/components/com_installer/forms/filter_update.xml index 798f79ae80f..8ac32ca3da5 100644 --- a/administrator/components/com_installer/forms/filter_update.xml +++ b/administrator/components/com_installer/forms/filter_update.xml @@ -41,6 +41,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="u.name ASC" + validate="options" > diff --git a/administrator/components/com_installer/forms/filter_updatesites.xml b/administrator/components/com_installer/forms/filter_updatesites.xml index 762587e1381..a7b9943336b 100644 --- a/administrator/components/com_installer/forms/filter_updatesites.xml +++ b/administrator/components/com_installer/forms/filter_updatesites.xml @@ -62,6 +62,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="name ASC" + validate="options" > diff --git a/administrator/components/com_installer/src/Model/LanguagesModel.php b/administrator/components/com_installer/src/Model/LanguagesModel.php index 58bf32dfca6..d48609b9a44 100644 --- a/administrator/components/com_installer/src/Model/LanguagesModel.php +++ b/administrator/components/com_installer/src/Model/LanguagesModel.php @@ -127,6 +127,14 @@ class LanguagesModel extends ListModel { $updateSite = $this->getUpdateSite(); + // Check whether the updateserver is found + if (empty($updateSite)) + { + Factory::getApplication()->enqueueMessage(Text::_('COM_INSTALLER_MSG_WARNING_NO_LANGUAGES_UPDATESERVER'), 'warning'); + + return; + } + try { $response = HttpFactory::getHttp()->get($updateSite); @@ -138,7 +146,7 @@ class LanguagesModel extends ListModel if ($response === null || $response->code !== 200) { - Factory::getApplication()->enqueueMessage(Text::_('COM_INSTALLER_MSG_WARNING_NO_LANGUAGES_UPDATESERVER'), 'warning'); + Factory::getApplication()->enqueueMessage(Text::sprintf('COM_INSTALLER_MSG_ERROR_CANT_CONNECT_TO_UPDATESERVER', $updateSite), 'error'); return; } diff --git a/administrator/components/com_joomlaupdate/src/View/Joomlaupdate/HtmlView.php b/administrator/components/com_joomlaupdate/src/View/Joomlaupdate/HtmlView.php index 5e9a5a12ff8..364bf63bab7 100644 --- a/administrator/components/com_joomlaupdate/src/View/Joomlaupdate/HtmlView.php +++ b/administrator/components/com_joomlaupdate/src/View/Joomlaupdate/HtmlView.php @@ -109,8 +109,8 @@ class HtmlView extends BaseHtmlView $this->loadHelper('select'); // Assign view variables. - $ftp = $model->getFTPOptions(); - $defaultMethod = $ftp['enabled'] ? 'hybrid' : 'direct'; + $this->ftp = $model->getFTPOptions(); + $defaultMethod = $this->ftp['enabled'] ? 'hybrid' : 'direct'; $this->updateInfo = $model->getUpdateInformation(); $this->methodSelect = JoomlaupdateHelperSelect::getMethods($defaultMethod); diff --git a/administrator/components/com_languages/forms/filter_installed.xml b/administrator/components/com_languages/forms/filter_installed.xml index f621707c78b..d41c2261694 100644 --- a/administrator/components/com_languages/forms/filter_installed.xml +++ b/administrator/components/com_languages/forms/filter_installed.xml @@ -28,6 +28,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="name ASC" + validate="options" > diff --git a/administrator/components/com_languages/forms/filter_languages.xml b/administrator/components/com_languages/forms/filter_languages.xml index d355728b615..1646e6345a4 100644 --- a/administrator/components/com_languages/forms/filter_languages.xml +++ b/administrator/components/com_languages/forms/filter_languages.xml @@ -34,6 +34,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.ordering ASC" + validate="options" > diff --git a/administrator/components/com_languages/src/Controller/DisplayController.php b/administrator/components/com_languages/src/Controller/DisplayController.php index 7858dfe81d6..9b8d5fa47e5 100644 --- a/administrator/components/com_languages/src/Controller/DisplayController.php +++ b/administrator/components/com_languages/src/Controller/DisplayController.php @@ -23,7 +23,7 @@ use Joomla\CMS\Router\Route; class DisplayController extends BaseController { /** - * @var string The default view. + * @var string The default view. * @since 1.6 */ protected $default_view = 'installed'; diff --git a/administrator/components/com_languages/src/Controller/OverridesController.php b/administrator/components/com_languages/src/Controller/OverridesController.php index 4bbc904e336..5d56b21dc4e 100644 --- a/administrator/components/com_languages/src/Controller/OverridesController.php +++ b/administrator/components/com_languages/src/Controller/OverridesController.php @@ -35,14 +35,14 @@ class OverridesController extends AdminController * * @return void * - * @since 2.5 + * @since 2.5 */ public function delete() { // Check for request forgeries. $this->checkToken(); - // Get items to dlete from the request. + // Get items to delete from the request. $cid = $this->input->get('cid', array(), 'array'); if (!is_array($cid) || count($cid) < 1) diff --git a/administrator/components/com_languages/src/Controller/StringsController.php b/administrator/components/com_languages/src/Controller/StringsController.php index 28c0c9b7ed8..8950585aabc 100644 --- a/administrator/components/com_languages/src/Controller/StringsController.php +++ b/administrator/components/com_languages/src/Controller/StringsController.php @@ -26,7 +26,7 @@ class StringsController extends AdminController * * @return void * - * @since 2.5 + * @since 2.5 */ public function refresh() { @@ -38,7 +38,7 @@ class StringsController extends AdminController * * @return void * - * @since 2.5 + * @since 2.5 */ public function search() { diff --git a/administrator/components/com_menus/forms/filter_items.xml b/administrator/components/com_menus/forms/filter_items.xml index 518adc194d6..749defe0b20 100644 --- a/administrator/components/com_menus/forms/filter_items.xml +++ b/administrator/components/com_menus/forms/filter_items.xml @@ -85,6 +85,7 @@ statuses="*,0,1,2,-2" onchange="this.form.submit();" default="a.lft ASC" + validate="options" > diff --git a/administrator/components/com_menus/forms/filter_itemsadmin.xml b/administrator/components/com_menus/forms/filter_itemsadmin.xml index d760659eb96..a947786c169 100644 --- a/administrator/components/com_menus/forms/filter_itemsadmin.xml +++ b/administrator/components/com_menus/forms/filter_itemsadmin.xml @@ -63,6 +63,7 @@ statuses="*,0,1,2,-2" onchange="this.form.submit();" default="a.lft ASC" + validate="options" > diff --git a/administrator/components/com_menus/forms/filter_menus.xml b/administrator/components/com_menus/forms/filter_menus.xml index 1fda075d2c6..48961d381d9 100644 --- a/administrator/components/com_menus/forms/filter_menus.xml +++ b/administrator/components/com_menus/forms/filter_menus.xml @@ -27,6 +27,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.title ASC" + validate="options" > diff --git a/administrator/components/com_messages/forms/filter_messages.xml b/administrator/components/com_messages/forms/filter_messages.xml index a3fb96bddf8..733c150a552 100644 --- a/administrator/components/com_messages/forms/filter_messages.xml +++ b/administrator/components/com_messages/forms/filter_messages.xml @@ -26,6 +26,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.date_time DESC" + validate="options" > diff --git a/administrator/components/com_modules/forms/filter_modules.xml b/administrator/components/com_modules/forms/filter_modules.xml index 79e959833ac..c99d75eab52 100644 --- a/administrator/components/com_modules/forms/filter_modules.xml +++ b/administrator/components/com_modules/forms/filter_modules.xml @@ -81,6 +81,7 @@ statuses="*,0,1,-2" onchange="this.form.submit();" default="a.position ASC" + validate="options" > diff --git a/administrator/components/com_modules/forms/filter_modulesadmin.xml b/administrator/components/com_modules/forms/filter_modulesadmin.xml index 2e83f499e64..91bb3adacb9 100644 --- a/administrator/components/com_modules/forms/filter_modulesadmin.xml +++ b/administrator/components/com_modules/forms/filter_modulesadmin.xml @@ -74,6 +74,7 @@ statuses="*,0,1,-2" onchange="this.form.submit();" default="a.position ASC" + validate="options" > diff --git a/administrator/components/com_newsfeeds/forms/filter_newsfeeds.xml b/administrator/components/com_newsfeeds/forms/filter_newsfeeds.xml index f4bb6569b60..13f4a20de41 100644 --- a/administrator/components/com_newsfeeds/forms/filter_newsfeeds.xml +++ b/administrator/components/com_newsfeeds/forms/filter_newsfeeds.xml @@ -84,6 +84,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.name ASC" + validate="options" > diff --git a/administrator/components/com_plugins/forms/filter_plugins.xml b/administrator/components/com_plugins/forms/filter_plugins.xml index ec56db844db..e3dc1ec74f6 100644 --- a/administrator/components/com_plugins/forms/filter_plugins.xml +++ b/administrator/components/com_plugins/forms/filter_plugins.xml @@ -54,6 +54,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="folder ASC" + validate="options" > diff --git a/administrator/components/com_privacy/forms/filter_consents.xml b/administrator/components/com_privacy/forms/filter_consents.xml index 2569659ece4..3ce02dd15fb 100644 --- a/administrator/components/com_privacy/forms/filter_consents.xml +++ b/administrator/components/com_privacy/forms/filter_consents.xml @@ -47,6 +47,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.id DESC" + validate="options" > diff --git a/administrator/components/com_privacy/forms/filter_requests.xml b/administrator/components/com_privacy/forms/filter_requests.xml index bc055d602f2..0f1b4e8e7d1 100644 --- a/administrator/components/com_privacy/forms/filter_requests.xml +++ b/administrator/components/com_privacy/forms/filter_requests.xml @@ -36,6 +36,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.id DESC" + validate="options" > diff --git a/administrator/components/com_redirect/forms/filter_links.xml b/administrator/components/com_redirect/forms/filter_links.xml index 48fd8b2d9fd..89bf25c37e3 100644 --- a/administrator/components/com_redirect/forms/filter_links.xml +++ b/administrator/components/com_redirect/forms/filter_links.xml @@ -33,6 +33,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.old_url ASC" + validate="options" > diff --git a/administrator/components/com_tags/config.xml b/administrator/components/com_tags/config.xml index d2e94789a68..8629a0c5759 100644 --- a/administrator/components/com_tags/config.xml +++ b/administrator/components/com_tags/config.xml @@ -79,6 +79,7 @@ type="list" label="JGLOBAL_FIELD_FIELD_ORDERING_LABEL" default="title" + validate="options" > @@ -114,6 +115,7 @@ type="list" label="COM_TAGS_TAG_LIST_SHOW_DATE_LABEL" default="0" + validate="options" > @@ -229,6 +231,7 @@ type="list" label="JGLOBAL_FIELD_FIELD_ORDERING_LABEL" default="title" + validate="options" > diff --git a/administrator/components/com_tags/forms/filter_tags.xml b/administrator/components/com_tags/forms/filter_tags.xml index af4fcd8224e..5a24fa05e44 100644 --- a/administrator/components/com_tags/forms/filter_tags.xml +++ b/administrator/components/com_tags/forms/filter_tags.xml @@ -61,6 +61,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.lft ASC" + validate="options" > diff --git a/administrator/components/com_templates/forms/filter_styles.xml b/administrator/components/com_templates/forms/filter_styles.xml index 557aaafa777..2835193ae50 100644 --- a/administrator/components/com_templates/forms/filter_styles.xml +++ b/administrator/components/com_templates/forms/filter_styles.xml @@ -47,6 +47,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.template ASC" + validate="options" > diff --git a/administrator/components/com_templates/forms/filter_templates.xml b/administrator/components/com_templates/forms/filter_templates.xml index a4aac7cd87b..119d733bb97 100644 --- a/administrator/components/com_templates/forms/filter_templates.xml +++ b/administrator/components/com_templates/forms/filter_templates.xml @@ -28,6 +28,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.element ASC" + validate="options" > diff --git a/administrator/components/com_users/forms/filter_debuggroup.xml b/administrator/components/com_users/forms/filter_debuggroup.xml index d3aaf411ad1..c4ec4e0ab17 100644 --- a/administrator/components/com_users/forms/filter_debuggroup.xml +++ b/administrator/components/com_users/forms/filter_debuggroup.xml @@ -45,6 +45,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.lft ASC" + validate="options" > diff --git a/administrator/components/com_users/forms/filter_debuguser.xml b/administrator/components/com_users/forms/filter_debuguser.xml index 377860bfb75..fd68281efab 100644 --- a/administrator/components/com_users/forms/filter_debuguser.xml +++ b/administrator/components/com_users/forms/filter_debuguser.xml @@ -41,6 +41,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.lft ASC" + validate="options" > diff --git a/administrator/components/com_users/forms/filter_groups.xml b/administrator/components/com_users/forms/filter_groups.xml index b48afcd50e3..963e94782ab 100644 --- a/administrator/components/com_users/forms/filter_groups.xml +++ b/administrator/components/com_users/forms/filter_groups.xml @@ -17,6 +17,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.lft ASC" + validate="options" > diff --git a/administrator/components/com_users/forms/filter_levels.xml b/administrator/components/com_users/forms/filter_levels.xml index 61d21e2911a..2669be231cc 100644 --- a/administrator/components/com_users/forms/filter_levels.xml +++ b/administrator/components/com_users/forms/filter_levels.xml @@ -17,6 +17,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.ordering ASC" + validate="options" > diff --git a/administrator/components/com_users/forms/filter_notes.xml b/administrator/components/com_users/forms/filter_notes.xml index 9a81c206797..0a83c547e61 100644 --- a/administrator/components/com_users/forms/filter_notes.xml +++ b/administrator/components/com_users/forms/filter_notes.xml @@ -46,6 +46,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.review_time DESC" + validate="options" > diff --git a/administrator/components/com_users/forms/filter_users.xml b/administrator/components/com_users/forms/filter_users.xml index 709dc1cf80b..87a7049d0b3 100644 --- a/administrator/components/com_users/forms/filter_users.xml +++ b/administrator/components/com_users/forms/filter_users.xml @@ -57,6 +57,7 @@ label="JGLOBAL_SORT_BY" onchange="this.form.submit();" default="a.name ASC" + validate="options" > diff --git a/administrator/language/en-GB/com_actionlogs.ini b/administrator/language/en-GB/com_actionlogs.ini index 921316b1e19..035a76540d2 100644 --- a/administrator/language/en-GB/com_actionlogs.ini +++ b/administrator/language/en-GB/com_actionlogs.ini @@ -22,6 +22,7 @@ COM_ACTIONLOGS_EXTENSION="Extension" COM_ACTIONLOGS_EXTENSION_ASC="Extension ascending" COM_ACTIONLOGS_EXTENSION_DESC="Extension descending" COM_ACTIONLOGS_ERROR_COULD_NOT_EXPORT_DATA="Could not export data." +COM_ACTIONLOGS_FILTER_SEARCH_DESC="Search in username. Prefix with ID: to search for an actionlog ID. Prefix with ITEM_ID: to search for an actionlog item ID." COM_ACTIONLOGS_IP_ADDRESS="IP Address" COM_ACTIONLOGS_IP_ADDRESS_ASC="IP Address ascending" COM_ACTIONLOGS_IP_ADDRESS_DESC="IP Address descending" diff --git a/administrator/language/en-GB/com_fields.ini b/administrator/language/en-GB/com_fields.ini index 1ffe263bd5e..093438bc7b6 100644 --- a/administrator/language/en-GB/com_fields.ini +++ b/administrator/language/en-GB/com_fields.ini @@ -44,6 +44,7 @@ COM_FIELDS_FIELD_REQUIRED_LABEL="Required" COM_FIELDS_FIELD_SUFFIX_LABEL="Suffix" COM_FIELDS_FIELD_TYPE_LABEL="Type" COM_FIELDS_FIELD_USE_GLOBAL="Use settings from Plugin" +COM_FIELDS_FIELDS_FILTER_SEARCH_DESC="Search in field name, title or note. Prefix with ID: to search for a field ID. Prefix with AUTHOR: to search for a field author." COM_FIELDS_MUSTCONTAIN_A_TITLE_FIELD="Field must have a title." COM_FIELDS_MUSTCONTAIN_A_TITLE_GROUP="Field Group must have a title." COM_FIELDS_FIELD_SAVE_SUCCESS="Field saved" @@ -73,6 +74,7 @@ COM_FIELDS_GROUP_N_ITEMS_TRASHED="%d field groups trashed" COM_FIELDS_GROUP_N_ITEMS_TRASHED_1="Field group trashed" COM_FIELDS_GROUP_N_ITEMS_UNPUBLISHED="%d field groups unpublished" COM_FIELDS_GROUP_N_ITEMS_UNPUBLISHED_1="Field group unpublished" +COM_FIELDS_GROUPS_FILTER_SEARCH_DESC="Search in field group title. Prefix with ID: to search for a field group ID." COM_FIELDS_GROUPS_TABLE_CAPTION="Table of Field Groups" COM_FIELDS_SYSTEM_PLUGIN_NOT_ENABLED="The System - Fields plugin is disabled. Custom fields will not display until you enable this plugin." COM_FIELDS_VIEW_FIELDS_BATCH_OPTIONS="Batch process the selected fields." diff --git a/administrator/language/en-GB/com_installer.ini b/administrator/language/en-GB/com_installer.ini index 8c72744db6d..e19744ab1d3 100644 --- a/administrator/language/en-GB/com_installer.ini +++ b/administrator/language/en-GB/com_installer.ini @@ -135,6 +135,7 @@ COM_INSTALLER_MSG_DISCOVER_INSTALLSUCCESSFUL="Discover install successful." COM_INSTALLER_MSG_DISCOVER_NOEXTENSION="No extensions have been discovered. Select Discover to find new extensions that might be available for install." COM_INSTALLER_MSG_DISCOVER_NOEXTENSIONSELECTED="No extension selected." COM_INSTALLER_MSG_DISCOVER_PURGEDDISCOVEREDEXTENSIONS="Cleared discovered extensions." +COM_INSTALLER_MSG_ERROR_CANT_CONNECT_TO_UPDATESERVER="Can't connect to %s" COM_INSTALLER_MSG_INSTALL_ENTER_A_URL="Please enter a URL" COM_INSTALLER_MSG_INSTALL_INVALID_URL="Invalid URL" COM_INSTALLER_MSG_INSTALL_NO_FILE_SELECTED="No file selected." diff --git a/administrator/language/en-GB/plg_quickicon_phpversioncheck.ini b/administrator/language/en-GB/plg_quickicon_phpversioncheck.ini index c7b1575250f..2bfdc319b4f 100644 --- a/administrator/language/en-GB/plg_quickicon_phpversioncheck.ini +++ b/administrator/language/en-GB/plg_quickicon_phpversioncheck.ini @@ -8,4 +8,6 @@ PLG_QUICKICON_PHPVERSIONCHECK="Quick Icon - PHP Version Check" PLG_QUICKICON_PHPVERSIONCHECK_SECURITY_ONLY="Your PHP version, %1$s, is only receiving security fixes from the PHP project at this time. This means your PHP version will soon no longer be supported. We recommend planning to upgrade to a newer PHP version before it reaches end of support on %2$s. Joomla will be faster and more secure if you upgrade to a newer PHP version. Please contact your host for upgrade instructions." ; Key 1 is the server's current PHP version, key 2 is the recommended PHP version, and key 3 is the date at which support will end for the recommended PHP version PLG_QUICKICON_PHPVERSIONCHECK_UNSUPPORTED="We have detected that your server is using PHP %1$s which is obsolete and no longer receives official security updates by its developers. The Joomla! Project recommends upgrading your site to PHP %2$s or later which will receive security updates at least until %3$s. Please ask your host to make PHP %2$s or a later version the default version for your site. If your host is already PHP %2$s ready please enable PHP %2$s on your site's root and 'administrator' directories – typically you can do this yourself through a tool in your hosting control panel, but it's best to ask your host if you are unsure." +; Key 1 is the server's current PHP version +PLG_QUICKICON_PHPVERSIONCHECK_UNSUPPORTED_JOOMLA_OUTDATED="We have detected that your server is using PHP %1$s which is obsolete and no longer receives official security updates by its developers. Furthermore, we cannot recommend a newer PHP version because you are using an outdated Joomla! version. We recommend updating Joomla! and then following further PHP upgrade instructions." PLG_QUICKICON_PHPVERSIONCHECK_XML_DESCRIPTION="Checks the support status of your installation's PHP version and raises a warning if not fully supported." diff --git a/build/media_source/system/js/fields/calendar.es5.js b/build/media_source/system/js/fields/calendar.es5.js index c7635605efd..5348c6721c1 100644 --- a/build/media_source/system/js/fields/calendar.es5.js +++ b/build/media_source/system/js/fields/calendar.es5.js @@ -781,6 +781,9 @@ self.inputField.setAttribute('data-alt-value', "0000-00-00 00:00:00"); self.inputField.setAttribute('value', ''); self.inputField.value = ''; + if (self.inputField.onchange) { + self.inputField.onchange(); + } }); if (this.params.showsTodayBtn) { diff --git a/build/media_source/system/js/fields/joomla-field-subform.w-c.es6.js b/build/media_source/system/js/fields/joomla-field-subform.w-c.es6.js index d412914a941..039c1a9269d 100644 --- a/build/media_source/system/js/fields/joomla-field-subform.w-c.es6.js +++ b/build/media_source/system/js/fields/joomla-field-subform.w-c.es6.js @@ -305,10 +305,9 @@ .replace(/(\[\]$)/g, '') .replace(/(\]\[)/g, '__') .replace(/\[/g, '_') - .replace(/\]/g, '') - .replace(/\W/g, '_'); // id from name + .replace(/\]/g, ''); // id from name const nameNew = name.replace(`[${group}][`, `[${groupnew}][`); // New name - let idNew = id.replace(group, groupnew); // Count new id + let idNew = id.replace(group, groupnew).replace(/\W/g, '_'); // Count new id let countMulti = 0; // count for multiple radio/checkboxes let forOldAttr = id; // Fix "for" in the labels diff --git a/components/com_ajax/ajax.php b/components/com_ajax/ajax.php index 56eb1d8bc25..c934fbbc49d 100644 --- a/components/com_ajax/ajax.php +++ b/components/com_ajax/ajax.php @@ -25,8 +25,9 @@ use Joomla\CMS\Table\Table; * - https://groups.google.com/d/msg/joomla-dev-cms/WsC0nA9Fixo/Ur-gPqpqh-EJ */ -// Reference global application object +/** @var \Joomla\CMS\Application\CMSApplication $app */ $app = Factory::getApplication(); +$app->allowCache(false); // JInput object $input = $app->input; diff --git a/components/com_banners/src/Model/BannersModel.php b/components/com_banners/src/Model/BannersModel.php index 0ff6e2eccae..ba212beb1d6 100644 --- a/components/com_banners/src/Model/BannersModel.php +++ b/components/com_banners/src/Model/BannersModel.php @@ -205,8 +205,6 @@ class BannersModel extends ListModel foreach ($keywords as $key => $keyword) { - $keyword = trim($keyword); - $condition1 = $db->quoteName('a.own_prefix') . ' = 1' . ' AND ' . $db->quoteName('a.metakey_prefix') . ' = SUBSTRING(:aprefix' . $key . ',1,LENGTH(' . $db->quoteName('a.metakey_prefix') . '))' @@ -263,6 +261,23 @@ class BannersModel extends ListModel */ public function getItems() { + if ($this->getState('filter.tag_search')) + { + // Filter out empty keywords. + $keywords = array_values(array_filter(array_map('trim', $this->getState('filter.keywords')), 'strlen')); + + // Re-set state before running the query. + $this->setState('filter.keywords', $keywords); + + // If no keywords are provided, avoid running the query. + if (!$keywords) + { + $this->cache['items'] = array(); + + return $this->cache['items']; + } + } + if (!isset($this->cache['items'])) { $this->cache['items'] = parent::getItems(); diff --git a/components/com_config/src/Controller/ModulesController.php b/components/com_config/src/Controller/ModulesController.php index 7c7ac12fd95..e9f91fec20a 100644 --- a/components/com_config/src/Controller/ModulesController.php +++ b/components/com_config/src/Controller/ModulesController.php @@ -87,7 +87,7 @@ class ModulesController extends BaseController // Set FTP credentials, if given. ClientHelper::setCredentialsFromRequest('ftp'); - // Get sumitted module id + // Get submitted module id $moduleId = '&id=' . $this->input->getInt('id'); // Get returnUri diff --git a/components/com_contact/forms/filter_contacts.xml b/components/com_contact/forms/filter_contacts.xml index 405a78e01da..6b5b902cf5e 100644 --- a/components/com_contact/forms/filter_contacts.xml +++ b/components/com_contact/forms/filter_contacts.xml @@ -90,6 +90,7 @@ description="COM_CONTACT_LIST_FULL_ORDERING_DESC" default="a.name ASC" onchange="this.form.submit();" + validate="options" > diff --git a/components/com_content/forms/filter_articles.xml b/components/com_content/forms/filter_articles.xml index 3929109a685..f321a1d0c8e 100644 --- a/components/com_content/forms/filter_articles.xml +++ b/components/com_content/forms/filter_articles.xml @@ -98,6 +98,7 @@ description="COM_CONTENT_LIST_FULL_ORDERING_DESC" onchange="this.form.submit();" default="a.title ASC" + validate="options" > diff --git a/components/com_fields/forms/filter_fields.xml b/components/com_fields/forms/filter_fields.xml index e0376815659..42ce3ec8ed2 100644 --- a/components/com_fields/forms/filter_fields.xml +++ b/components/com_fields/forms/filter_fields.xml @@ -69,6 +69,7 @@ statuses="*,0,1,2,-2" onchange="this.form.submit();" default="a.ordering ASC" + validate="options" > diff --git a/components/com_finder/src/Controller/SuggestionsController.php b/components/com_finder/src/Controller/SuggestionsController.php index af3cce3a88b..35773f1f756 100644 --- a/components/com_finder/src/Controller/SuggestionsController.php +++ b/components/com_finder/src/Controller/SuggestionsController.php @@ -33,6 +33,9 @@ class SuggestionsController extends BaseController $app = $this->app; $app->mimeType = 'application/json'; + // Ensure caching is disabled as it depends on the query param in the model + $app->allowCache(false); + $suggestions = $this->getSuggestions(); // Send the response. @@ -57,6 +60,9 @@ class SuggestionsController extends BaseController $result[] = $this->getSuggestions(); + // Ensure caching is disabled as it depends on the query param in the model + $app->allowCache(false); + // Send the response. $app->setHeader('Content-Type', $app->mimeType . '; charset=' . $app->charSet); $app->sendHeaders(); diff --git a/components/com_menus/forms/filter_items.xml b/components/com_menus/forms/filter_items.xml index 6fd393b99f7..d025787657d 100644 --- a/components/com_menus/forms/filter_items.xml +++ b/components/com_menus/forms/filter_items.xml @@ -62,6 +62,7 @@ statuses="*,0,1,2,-2" onchange="this.form.submit();" default="a.lft ASC" + validate="options" > diff --git a/components/com_modules/forms/filter_modules.xml b/components/com_modules/forms/filter_modules.xml index 8c4b0b81955..37df5bbb892 100644 --- a/components/com_modules/forms/filter_modules.xml +++ b/components/com_modules/forms/filter_modules.xml @@ -47,6 +47,7 @@ statuses="*,0,1,-2" onchange="this.form.submit();" default="a.position ASC" + validate="options" > diff --git a/language/en-GB/mod_banners.ini b/language/en-GB/mod_banners.ini index e548a25e825..a511fd17eb1 100644 --- a/language/en-GB/mod_banners.ini +++ b/language/en-GB/mod_banners.ini @@ -13,7 +13,7 @@ MOD_BANNERS_FIELD_COUNT_LABEL="Count" MOD_BANNERS_FIELD_FOOTER_LABEL="Footer Text" MOD_BANNERS_FIELD_HEADER_LABEL="Header Text" MOD_BANNERS_FIELD_RANDOMISE_LABEL="Randomise" -MOD_BANNERS_FIELD_TAG_DESC="Banner is selected by matching the banner tags to the current document Keywords." +MOD_BANNERS_FIELD_TAG_DESC="Banner is selected by matching the banner meta keywords to the current document Keywords." MOD_BANNERS_FIELD_TAG_LABEL="Select by Keyword" MOD_BANNERS_FIELD_TARGET_LABEL="Target" MOD_BANNERS_VALUE_STICKYORDERING="Pinned, Ordering" diff --git a/libraries/cms/html/sidebar.php b/libraries/cms/html/sidebar.php index 0bece0ded41..26be9f89765 100644 --- a/libraries/cms/html/sidebar.php +++ b/libraries/cms/html/sidebar.php @@ -101,7 +101,7 @@ abstract class JHtmlSidebar * @param string $label Label for the menu item. * @param string $name Name for the filter. Also used as id. * @param string $options Options for the select field. - * @param bool $noDefault Don't the label as the empty option + * @param bool $noDefault Don't show the label as the empty option * * @return void * diff --git a/libraries/src/Access/Access.php b/libraries/src/Access/Access.php index 616b6d75cd8..3a79a7990bf 100644 --- a/libraries/src/Access/Access.php +++ b/libraries/src/Access/Access.php @@ -539,7 +539,7 @@ class Access // If not full recursive mode, but recursive parent mode, do not add other recursion rules. if (!$recursive && $recursiveParentAsset && self::$assetPermissionsParentIdMapping[$extensionName][$id]->name !== $extensionName - && self::$assetPermissionsParentIdMapping[$extensionName][$id]->id !== $assetId) + && (int) self::$assetPermissionsParentIdMapping[$extensionName][$id]->id !== $assetId) { continue; } diff --git a/libraries/src/Document/FeedDocument.php b/libraries/src/Document/FeedDocument.php index c5925653045..4355beae650 100644 --- a/libraries/src/Document/FeedDocument.php +++ b/libraries/src/Document/FeedDocument.php @@ -226,7 +226,7 @@ class FeedDocument extends Document // Render the feed $data .= $renderer->render(); - parent::render(); + parent::render($cache, $params); return $data; } diff --git a/libraries/src/Document/HtmlDocument.php b/libraries/src/Document/HtmlDocument.php index 3e8831b98b1..99d4e1ac8bb 100644 --- a/libraries/src/Document/HtmlDocument.php +++ b/libraries/src/Document/HtmlDocument.php @@ -144,17 +144,21 @@ class HtmlDocument extends Document public function getHeadData() { $data = array(); - $data['title'] = $this->title; - $data['description'] = $this->description; - $data['link'] = $this->link; - $data['metaTags'] = $this->_metaTags; - $data['links'] = $this->_links; - $data['styleSheets'] = $this->_styleSheets; - $data['style'] = $this->_style; - $data['scripts'] = $this->_scripts; - $data['script'] = $this->_script; - $data['custom'] = $this->_custom; - $data['scriptText'] = Text::getScriptStrings(); + $data['title'] = $this->title; + $data['description'] = $this->description; + $data['link'] = $this->link; + $data['metaTags'] = $this->_metaTags; + $data['links'] = $this->_links; + $data['styleSheets'] = $this->_styleSheets; + $data['style'] = $this->_style; + $data['scripts'] = $this->_scripts; + $data['script'] = $this->_script; + $data['custom'] = $this->_custom; + + // @deprecated 5.0 This property is for backwards compatibility. Pass text through script options in the future + $data['scriptText'] = Text::getScriptStrings(); + + $data['scriptOptions'] = $this->scriptOptions; return $data; } @@ -172,16 +176,17 @@ class HtmlDocument extends Document { if (\is_null($types)) { - $this->title = ''; - $this->description = ''; - $this->link = ''; - $this->_metaTags = array(); - $this->_links = array(); - $this->_styleSheets = array(); - $this->_style = array(); - $this->_scripts = array(); - $this->_script = array(); - $this->_custom = array(); + $this->title = ''; + $this->description = ''; + $this->link = ''; + $this->_metaTags = array(); + $this->_links = array(); + $this->_styleSheets = array(); + $this->_style = array(); + $this->_scripts = array(); + $this->_script = array(); + $this->_custom = array(); + $this->scriptOptions = array(); } if (\is_array($types)) @@ -229,6 +234,10 @@ class HtmlDocument extends Document $realType = '_' . $type; $this->{$realType} = array(); break; + + case 'scriptOptions': + $this->{$type} = array(); + break; } } @@ -245,27 +254,20 @@ class HtmlDocument extends Document { if (empty($data) || !\is_array($data)) { - return; + return null; } - $this->title = $data['title'] ?? $this->title; - $this->description = $data['description'] ?? $this->description; - $this->link = $data['link'] ?? $this->link; - $this->_metaTags = $data['metaTags'] ?? $this->_metaTags; - $this->_links = $data['links'] ?? $this->_links; - $this->_styleSheets = $data['styleSheets'] ?? $this->_styleSheets; - $this->_style = $data['style'] ?? $this->_style; - $this->_scripts = $data['scripts'] ?? $this->_scripts; - $this->_script = $data['script'] ?? $this->_script; - $this->_custom = $data['custom'] ?? $this->_custom; - - if (isset($data['scriptText']) && !empty($data['scriptText'])) - { - foreach ($data['scriptText'] as $key => $string) - { - Text::script($key, $string); - } - } + $this->title = $data['title'] ?? $this->title; + $this->description = $data['description'] ?? $this->description; + $this->link = $data['link'] ?? $this->link; + $this->_metaTags = $data['metaTags'] ?? $this->_metaTags; + $this->_links = $data['links'] ?? $this->_links; + $this->_styleSheets = $data['styleSheets'] ?? $this->_styleSheets; + $this->_style = $data['style'] ?? $this->_style; + $this->_scripts = $data['scripts'] ?? $this->_scripts; + $this->_script = $data['script'] ?? $this->_script; + $this->_custom = $data['custom'] ?? $this->_custom; + $this->scriptOptions = (isset($data['scriptOptions']) && !empty($data['scriptOptions'])) ? $data['scriptOptions'] : $this->scriptOptions; return $this; } @@ -344,6 +346,14 @@ class HtmlDocument extends Document ? array_unique(array_merge($this->_custom, $data['custom'])) : $this->_custom; + if (!empty($data['scriptOptions'])) + { + foreach ($data['scriptOptions'] as $key => $scriptOptions) + { + $this->addScriptOptions($key, $scriptOptions, true); + } + } + return $this; } @@ -570,7 +580,7 @@ class HtmlDocument extends Document } $data = $this->_renderTemplate(); - parent::render(); + parent::render($caching, $params); return $data; } diff --git a/libraries/src/Document/ImageDocument.php b/libraries/src/Document/ImageDocument.php index b9865a8b2f6..fc4335dbfe6 100644 --- a/libraries/src/Document/ImageDocument.php +++ b/libraries/src/Document/ImageDocument.php @@ -69,7 +69,7 @@ class ImageDocument extends Document $this->_charset = null; - parent::render(); + parent::render($cache, $params); return $this->getBuffer(); } diff --git a/libraries/src/Document/JsonDocument.php b/libraries/src/Document/JsonDocument.php index 624522f075c..79524d78e73 100644 --- a/libraries/src/Document/JsonDocument.php +++ b/libraries/src/Document/JsonDocument.php @@ -68,9 +68,10 @@ class JsonDocument extends Document */ public function render($cache = false, $params = array()) { + /** @var \Joomla\CMS\Application\CMSApplication $app **/ $app = CmsFactory::getApplication(); - $app->allowCache(false); + $app->allowCache($cache); if ($this->_mime === 'application/json') { @@ -78,7 +79,7 @@ class JsonDocument extends Document $app->setHeader('Content-Disposition', 'attachment; filename="' . $this->getName() . '.json"', true); } - parent::render(); + parent::render($cache, $params); return $this->getBuffer(); } diff --git a/libraries/src/Document/OpensearchDocument.php b/libraries/src/Document/OpensearchDocument.php index eb5c2548b48..5eacac6d6d6 100644 --- a/libraries/src/Document/OpensearchDocument.php +++ b/libraries/src/Document/OpensearchDocument.php @@ -178,7 +178,7 @@ class OpensearchDocument extends Document } $xml->appendChild($elOs); - parent::render(); + parent::render($cache, $params); return $xml->saveXml(); } diff --git a/libraries/src/Document/RawDocument.php b/libraries/src/Document/RawDocument.php index 9f730f43af7..2d4e19a3049 100644 --- a/libraries/src/Document/RawDocument.php +++ b/libraries/src/Document/RawDocument.php @@ -47,7 +47,7 @@ class RawDocument extends Document */ public function render($cache = false, $params = array()) { - parent::render(); + parent::render($cache, $params); return $this->getBuffer(); } diff --git a/libraries/src/Document/XmlDocument.php b/libraries/src/Document/XmlDocument.php index 070bbeccf15..6d56b9e5999 100644 --- a/libraries/src/Document/XmlDocument.php +++ b/libraries/src/Document/XmlDocument.php @@ -65,7 +65,7 @@ class XmlDocument extends Document */ public function render($cache = false, $params = array()) { - parent::render(); + parent::render($cache, $params); $disposition = $this->isDownload ? 'attachment' : 'inline'; diff --git a/libraries/src/Form/FormHelper.php b/libraries/src/Form/FormHelper.php index 7218a6704da..454015f8522 100644 --- a/libraries/src/Form/FormHelper.php +++ b/libraries/src/Form/FormHelper.php @@ -372,14 +372,11 @@ class FormHelper // Add the new paths to the stack if not already there. foreach ($new as $path) { + $path = \trim($path); + if (!\in_array($path, $paths)) { - array_unshift($paths, trim($path)); - } - - if (!is_dir($path)) - { - array_unshift($paths, trim($path)); + \array_unshift($paths, $path); } } diff --git a/libraries/src/Log/DelegatingPsrLogger.php b/libraries/src/Log/DelegatingPsrLogger.php index f17f23aa5dc..8c2a6d1d34e 100644 --- a/libraries/src/Log/DelegatingPsrLogger.php +++ b/libraries/src/Log/DelegatingPsrLogger.php @@ -8,6 +8,8 @@ namespace Joomla\CMS\Log; +defined('JPATH_PLATFORM') or die; + use Psr\Log\AbstractLogger; use Psr\Log\InvalidArgumentException; use Psr\Log\LogLevel; diff --git a/modules/mod_articles_category/mod_articles_category.xml b/modules/mod_articles_category/mod_articles_category.xml index 7f9ce6c3b0b..a20aa94935d 100644 --- a/modules/mod_articles_category/mod_articles_category.xml +++ b/modules/mod_articles_category/mod_articles_category.xml @@ -68,6 +68,7 @@ type="list" label="MOD_ARTICLES_CATEGORY_FIELD_SHOWFEATURED_LABEL" default="show" + validate="options" > @@ -223,6 +224,7 @@ type="list" label="MOD_ARTICLES_CATEGORY_FIELD_DATEFILTERING_LABEL" default="off" + validate="options" > @@ -235,6 +237,7 @@ label="MOD_ARTICLES_CATEGORY_FIELD_DATERANGEFIELD_LABEL" default="a.created" showon="date_filtering!:off" + validate="options" > @@ -284,6 +287,7 @@ type="list" label="MOD_ARTICLES_CATEGORY_FIELD_ARTICLEORDERING_LABEL" default="a.title" + validate="options" > @@ -305,6 +309,7 @@ type="list" label="MOD_ARTICLES_CATEGORY_FIELD_ARTICLEORDERINGDIR_LABEL" default="ASC" + validate="options" > @@ -321,6 +326,7 @@ type="list" label="MOD_ARTICLES_CATEGORY_FIELD_ARTICLEGROUPING_LABEL" default="none" + validate="options" > @@ -337,6 +343,7 @@ description="MOD_ARTICLES_CATEGORY_FIELD_DATEGROUPINGFIELD_DESC" default="created" showon="article_grouping:year,month_year" + validate="options" > @@ -358,6 +365,7 @@ label="MOD_ARTICLES_CATEGORY_FIELD_ARTICLEGROUPINGDIR_LABEL" default="ksort" showon="article_grouping!:none" + validate="options" > @@ -400,6 +408,7 @@ label="MOD_ARTICLES_CATEGORY_FIELD_DATEFIELD_LABEL" default="created" showon="show_date:1" + validate="options" > diff --git a/modules/mod_articles_news/mod_articles_news.xml b/modules/mod_articles_news/mod_articles_news.xml index 47d73cb5104..0ae7b09180f 100644 --- a/modules/mod_articles_news/mod_articles_news.xml +++ b/modules/mod_articles_news/mod_articles_news.xml @@ -193,6 +193,7 @@ type="list" label="MOD_ARTICLES_NEWS_FIELD_ORDERING_LABEL" default="a.publish_up" + validate="options" > diff --git a/modules/mod_articles_popular/mod_articles_popular.xml b/modules/mod_articles_popular/mod_articles_popular.xml index ac1c54faad9..afe0ea463f5 100644 --- a/modules/mod_articles_popular/mod_articles_popular.xml +++ b/modules/mod_articles_popular/mod_articles_popular.xml @@ -63,6 +63,7 @@ type="list" label="MOD_POPULAR_FIELD_DATEFILTERING_LABEL" default="off" + validate="options" > @@ -75,6 +76,7 @@ label="MOD_POPULAR_FIELD_DATEFIELD_LABEL" default="a.created" showon="date_filtering:range,relative" + validate="options" > diff --git a/modules/mod_tags_popular/mod_tags_popular.xml b/modules/mod_tags_popular/mod_tags_popular.xml index b6378b4de27..304815f3831 100644 --- a/modules/mod_tags_popular/mod_tags_popular.xml +++ b/modules/mod_tags_popular/mod_tags_popular.xml @@ -49,6 +49,7 @@ type="list" label="MOD_TAGS_POPULAR_FIELD_TIMEFRAME_LABEL" default="alltime" + validate="options" > @@ -63,6 +64,7 @@ type="list" label="MOD_TAGS_POPULAR_FIELD_ORDER_VALUE_LABEL" default="count" + validate="options" > diff --git a/plugins/quickicon/phpversioncheck/phpversioncheck.php b/plugins/quickicon/phpversioncheck/phpversioncheck.php index 5580ccb93e4..de05dc5660d 100644 --- a/plugins/quickicon/phpversioncheck/phpversioncheck.php +++ b/plugins/quickicon/phpversioncheck/phpversioncheck.php @@ -119,6 +119,10 @@ class PlgQuickiconPhpVersionCheck extends CMSPlugin 'security' => '2020-12-06', 'eos' => '2021-12-06', ), + '7.4' => array( + 'security' => '2021-11-28', + 'eos' => '2022-11-28', + ), ); // Fill our return array with default values @@ -149,20 +153,26 @@ class PlgQuickiconPhpVersionCheck extends CMSPlugin if (version_compare($version, $activePhpVersion, 'ge') && ($today < $versionEndOfSupport)) { - $recommendedVersion = $version; - $recommendedVersionEndOfSupport = $versionEndOfSupport; + $supportStatus['status'] = self::PHP_UNSUPPORTED; + $supportStatus['message'] = JText::sprintf( + 'PLG_QUICKICON_PHPVERSIONCHECK_UNSUPPORTED', + PHP_VERSION, + $version, + $versionEndOfSupport->format(JText::_('DATE_FORMAT_LC4')) + ); - break; + return $supportStatus; } } + // PHP version is not supported and we don't know of any supported versions. $supportStatus['status'] = self::PHP_UNSUPPORTED; $supportStatus['message'] = Text::sprintf( - 'PLG_QUICKICON_PHPVERSIONCHECK_UNSUPPORTED', - PHP_VERSION, - $recommendedVersion, - $recommendedVersionEndOfSupport->format(Text::_('DATE_FORMAT_LC4')) + 'PLG_QUICKICON_PHPVERSIONCHECK_UNSUPPORTED_JOOMLA_OUTDATED', + PHP_VERSION ); + + return $supportStatus; } // If the version is still supported, check if it has reached eol minus 3 month diff --git a/plugins/system/debug/debug.php b/plugins/system/debug/debug.php index 1d50b74e4db..f00f32a13a4 100644 --- a/plugins/system/debug/debug.php +++ b/plugins/system/debug/debug.php @@ -513,6 +513,12 @@ class PlgSystemDebug extends CMSPlugin foreach ($logs as $k => $query) { $dbVersion56 = $db->getServerType() === 'mysql' && version_compare($db->getVersion(), '5.6', '>='); + $dbVersion80 = $db->getServerType() === 'mysql' && version_compare($db->getVersion(), '8.0', '>='); + + if ($dbVersion80) + { + $dbVersion56 = false; + } if ((stripos($query, 'select') === 0) || ($dbVersion56 && ((stripos($query, 'delete') === 0) || (stripos($query, 'update') === 0)))) { diff --git a/plugins/system/languagefilter/languagefilter.php b/plugins/system/languagefilter/languagefilter.php index dfe7a7675c0..f7abaea294d 100644 --- a/plugins/system/languagefilter/languagefilter.php +++ b/plugins/system/languagefilter/languagefilter.php @@ -502,7 +502,7 @@ class PlgSystemLanguageFilter extends CMSPlugin if ($language->getTag() !== $lang_code) { - $language_new = Language::getInstance($lang_code); + $language_new = Language::getInstance($lang_code, (bool) $this->app->get('debug_lang')); foreach ($language->getPaths() as $extension => $files) {