From c729dc5cef21ad528195beaaf01f89f364d05fde Mon Sep 17 00:00:00 2001 From: zero-24 Date: Thu, 21 Oct 2021 07:46:49 +0200 Subject: [PATCH 01/52] Joomla! 3.10.3 Stable --- administrator/manifests/files/joomla.xml | 2 +- libraries/src/Version.php | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 08552897f2cd3..35dc9cfca7e9e 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ www.joomla.org (C) 2019 Open Source Matters, Inc. GNU General Public License version 2 or later; see LICENSE.txt - 3.10.3-dev + 3.10.3 October 2021 FILES_JOOMLA_XML_DESCRIPTION diff --git a/libraries/src/Version.php b/libraries/src/Version.php index b06498b6d94f4..c83b76a1427dc 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'dev'; + const EXTRA_VERSION = ''; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '3-dev'; + const DEV_LEVEL = '3'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Development'; + const DEV_STATUS = 'Stable'; /** * Build number. @@ -111,7 +111,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '16-October-2021'; + const RELDATE = '21-October-2021'; /** * Release time. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '15:05'; + const RELTIME = '06:44'; /** * Release timezone. From fc821911bbb8c9c115256ab857eca65cb3bb00d6 Mon Sep 17 00:00:00 2001 From: zero-24 Date: Thu, 21 Oct 2021 07:54:30 +0200 Subject: [PATCH 02/52] reset to dev --- administrator/language/en-GB/en-GB.xml | 2 +- administrator/language/en-GB/install.xml | 2 +- administrator/manifests/files/joomla.xml | 2 +- administrator/manifests/packages/pkg_en-GB.xml | 2 +- installation/language/en-GB/en-GB.xml | 2 +- language/en-GB/en-GB.xml | 2 +- language/en-GB/install.xml | 2 +- libraries/src/Version.php | 10 +++++----- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/administrator/language/en-GB/en-GB.xml b/administrator/language/en-GB/en-GB.xml index 2312c2d25e1c9..7affa5c69470d 100644 --- a/administrator/language/en-GB/en-GB.xml +++ b/administrator/language/en-GB/en-GB.xml @@ -1,7 +1,7 @@ English (en-GB) - 3.10.3 + 3.10.4 October 2021 Joomla! Project admin@joomla.org diff --git a/administrator/language/en-GB/install.xml b/administrator/language/en-GB/install.xml index 93915633f7c47..59c8c06ba5e09 100644 --- a/administrator/language/en-GB/install.xml +++ b/administrator/language/en-GB/install.xml @@ -2,7 +2,7 @@ English (en-GB) en-GB - 3.10.3 + 3.10.4 October 2021 Joomla! Project admin@joomla.org diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 35dc9cfca7e9e..b7e24a45e470c 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ www.joomla.org (C) 2019 Open Source Matters, Inc. GNU General Public License version 2 or later; see LICENSE.txt - 3.10.3 + 3.10.4-dev October 2021 FILES_JOOMLA_XML_DESCRIPTION diff --git a/administrator/manifests/packages/pkg_en-GB.xml b/administrator/manifests/packages/pkg_en-GB.xml index 316183f367555..1d8445e5b682e 100644 --- a/administrator/manifests/packages/pkg_en-GB.xml +++ b/administrator/manifests/packages/pkg_en-GB.xml @@ -2,7 +2,7 @@ English (en-GB) Language Pack en-GB - 3.10.3.1 + 3.10.4.1 October 2021 Joomla! Project admin@joomla.org diff --git a/installation/language/en-GB/en-GB.xml b/installation/language/en-GB/en-GB.xml index a6a2da0496650..0ed664153f20c 100644 --- a/installation/language/en-GB/en-GB.xml +++ b/installation/language/en-GB/en-GB.xml @@ -3,7 +3,7 @@ version="3.9" client="installation"> English (United Kingdom) - 3.10.3 + 3.10.4 October 2021 Joomla! Project (C) 2005 Open Source Matters, Inc. diff --git a/language/en-GB/en-GB.xml b/language/en-GB/en-GB.xml index c71ccad6f7b5b..fc342c911fd2c 100644 --- a/language/en-GB/en-GB.xml +++ b/language/en-GB/en-GB.xml @@ -1,7 +1,7 @@ English (en-GB) - 3.10.3 + 3.10.4 October 2021 Joomla! Project admin@joomla.org diff --git a/language/en-GB/install.xml b/language/en-GB/install.xml index f035e7bf481bf..b18bfed875336 100644 --- a/language/en-GB/install.xml +++ b/language/en-GB/install.xml @@ -2,7 +2,7 @@ English (en-GB) en-GB - 3.10.3 + 3.10.4 October 2021 Joomla! Project admin@joomla.org diff --git a/libraries/src/Version.php b/libraries/src/Version.php index c83b76a1427dc..d65b52a94b0a4 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -49,7 +49,7 @@ final class Version * @var integer * @since 3.8.0 */ - const PATCH_VERSION = 3; + const PATCH_VERSION = 4; /** * Extra release version info. @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = ''; + const EXTRA_VERSION = 'dev'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '3'; + const DEV_LEVEL = '4-dev'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Stable'; + const DEV_STATUS = 'Development'; /** * Build number. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '06:44'; + const RELTIME = '06:52'; /** * Release timezone. From 37cbf592b3f91a985cc2cf96b1da17a085983c94 Mon Sep 17 00:00:00 2001 From: "Phil E. Taylor" Date: Wed, 27 Oct 2021 14:16:02 +0100 Subject: [PATCH 03/52] s/overwritting/overwriting (#35859) --- libraries/src/Helper/ContentHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Helper/ContentHelper.php b/libraries/src/Helper/ContentHelper.php index 30e7cadfef456..2b1617d69957f 100644 --- a/libraries/src/Helper/ContentHelper.php +++ b/libraries/src/Helper/ContentHelper.php @@ -121,7 +121,7 @@ public static function countRelations(&$items, $config) $relationsAll = $db->setQuery($query)->loadObjectList(); - // Loop through the DB data overwritting the above zeros with the found count + // Loop through the DB data overwriting the above zeros with the found count foreach ($relationsAll as $relation) { // Sanity check in case someone removes the state IN above ... and some views may start throwing warnings From d86ba441e1fd8daea9640d140519471ff3f2041f Mon Sep 17 00:00:00 2001 From: Richard Fath Date: Wed, 27 Oct 2021 15:16:47 +0200 Subject: [PATCH 04/52] Fix double translation of groupText for eos quickicon messages (#35844) --- plugins/quickicon/eos310/eos310.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/quickicon/eos310/eos310.php b/plugins/quickicon/eos310/eos310.php index ed1d8843c0e0f..ea2f4f1e91e7c 100644 --- a/plugins/quickicon/eos310/eos310.php +++ b/plugins/quickicon/eos310/eos310.php @@ -205,7 +205,7 @@ private function getMessageInfo($monthsUntilEOS, $inverted) 'messageType' => 'error', 'image' => 'minus-circle', 'messageLink' => 'https://docs.joomla.org/Special:MyLanguage/Planning_for_Mini-Migration_-_Joomla_3.10.x_to_4.x', - 'groupText' => Text::_('PLG_QUICKICON_EOS310_GROUPNAME_EOS'), + 'groupText' => 'PLG_QUICKICON_EOS310_GROUPNAME_EOS', 'snoozable' => false, ); } @@ -220,7 +220,7 @@ private function getMessageInfo($monthsUntilEOS, $inverted) 'messageType' => 'warning', 'image' => 'warning-circle', 'messageLink' => 'https://docs.joomla.org/Special:MyLanguage/Planning_for_Mini-Migration_-_Joomla_3.10.x_to_4.x', - 'groupText' => Text::_('PLG_QUICKICON_EOS310_GROUPNAME_WARNING'), + 'groupText' => 'PLG_QUICKICON_EOS310_GROUPNAME_WARNING', 'snoozable' => true, ); } @@ -235,7 +235,7 @@ private function getMessageInfo($monthsUntilEOS, $inverted) 'messageType' => 'warning', 'image' => 'warning-circle', 'messageLink' => 'https://docs.joomla.org/Special:MyLanguage/Planning_for_Mini-Migration_-_Joomla_3.10.x_to_4.x', - 'groupText' => Text::_('PLG_QUICKICON_EOS310_GROUPNAME_WARNING'), + 'groupText' => 'PLG_QUICKICON_EOS310_GROUPNAME_WARNING', 'snoozable' => true, ); } @@ -250,7 +250,7 @@ private function getMessageInfo($monthsUntilEOS, $inverted) 'messageType' => 'info', 'image' => 'info-circle', 'messageLink' => 'https://docs.joomla.org/Special:MyLanguage/Pre-Update_Check', - 'groupText' => Text::_('PLG_QUICKICON_EOS310_GROUPNAME_INFO'), + 'groupText' => 'PLG_QUICKICON_EOS310_GROUPNAME_INFO', 'snoozable' => true, ); } @@ -265,7 +265,7 @@ private function getMessageInfo($monthsUntilEOS, $inverted) 'messageType' => 'info', 'image' => 'info-circle', 'messageLink' => 'https://www.joomla.org/4/#features', - 'groupText' => Text::_('PLG_QUICKICON_EOS310_GROUPNAME_INFO'), + 'groupText' => 'PLG_QUICKICON_EOS310_GROUPNAME_INFO', 'snoozable' => true, ); } From 9d4031d2b089988992d3a627a602403b44dc7219 Mon Sep 17 00:00:00 2001 From: Nicola Galgano Date: Wed, 27 Oct 2021 15:17:23 +0200 Subject: [PATCH 05/52] [3][com_contact] - contact webpage text (#35835) * Update default_address.php * Update view.html.php * Update en-GB.com_contact.ini * Website --- components/com_contact/views/contact/tmpl/default_address.php | 1 + components/com_contact/views/contact/view.html.php | 3 +++ language/en-GB/en-GB.com_contact.ini | 1 + 3 files changed, 5 insertions(+) diff --git a/components/com_contact/views/contact/tmpl/default_address.php b/components/com_contact/views/contact/tmpl/default_address.php index f9a838c2ae23c..e2edeb399eb19 100644 --- a/components/com_contact/views/contact/tmpl/default_address.php +++ b/components/com_contact/views/contact/tmpl/default_address.php @@ -118,6 +118,7 @@ contact->webpage && $this->params->get('show_webpage')) : ?>
+ params->get('marker_webpage'); ?>
diff --git a/components/com_contact/views/contact/view.html.php b/components/com_contact/views/contact/view.html.php index 4366006caf6a4..347a53830593b 100644 --- a/components/com_contact/views/contact/view.html.php +++ b/components/com_contact/views/contact/view.html.php @@ -187,6 +187,7 @@ public function display($tpl = null) $item->params->set('marker_telephone', JText::_('COM_CONTACT_TELEPHONE') . ': '); $item->params->set('marker_fax', JText::_('COM_CONTACT_FAX') . ': '); $item->params->set('marker_mobile', JText::_('COM_CONTACT_MOBILE') . ': '); + $item->params->set('marker_webpage', JText::_('COM_CONTACT_WEBPAGE') . ': '); $item->params->set('marker_misc', JText::_('COM_CONTACT_OTHER_INFORMATION') . ': '); $item->params->set('marker_class', 'jicons-text'); break; @@ -197,6 +198,7 @@ public function display($tpl = null) $item->params->set('marker_email', ''); $item->params->set('marker_telephone', ''); $item->params->set('marker_mobile', ''); + $item->params->set('marker_webpage', ''); $item->params->set('marker_fax', ''); $item->params->set('marker_misc', ''); $item->params->set('marker_class', 'jicons-none'); @@ -273,6 +275,7 @@ public function display($tpl = null) $item->params->set('marker_fax', $image4); $item->params->set('marker_misc', $image5); $item->params->set('marker_mobile', $image6); + $item->params->set('marker_webpage', ' '); $item->params->set('marker_class', 'jicons-icons'); break; } diff --git a/language/en-GB/en-GB.com_contact.ini b/language/en-GB/en-GB.com_contact.ini index e60460a1a190f..8373ebc4409a0 100644 --- a/language/en-GB/en-GB.com_contact.ini +++ b/language/en-GB/en-GB.com_contact.ini @@ -64,3 +64,4 @@ COM_CONTACT_TELEPHONE="Phone" COM_CONTACT_TELEPHONE_NUMBER="Phone: %s" COM_CONTACT_USER_FIELDS="Fields" COM_CONTACT_VCARD="vCard" +COM_CONTACT_WEBPAGE="Website" From af83bb2926888cd73bf21e7b03c8195490a336df Mon Sep 17 00:00:00 2001 From: Tobias Zulauf Date: Wed, 27 Oct 2021 16:29:32 +0200 Subject: [PATCH 06/52] [3][com_tags] Created Date cannot change on every save (#35846) Backports #35724 into 3.10 thanks @alikon Co-authored-by: Phil E. Taylor --- administrator/components/com_tags/models/tag.php | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/administrator/components/com_tags/models/tag.php b/administrator/components/com_tags/models/tag.php index d3abd75f775c4..d9cb423cd5ff0 100644 --- a/administrator/components/com_tags/models/tag.php +++ b/administrator/components/com_tags/models/tag.php @@ -133,20 +133,9 @@ public function getItem($pk = null) $registry = new Registry($result->urls); $result->urls = $registry->toArray(); - // Convert the created and modified dates to local user time for display in the form. + // Convert the modified date to local user time for display in the form. $tz = new DateTimeZone(JFactory::getApplication()->get('offset')); - if ((int) $result->created_time) - { - $date = new JDate($result->created_time); - $date->setTimezone($tz); - $result->created_time = $date->toSql(true); - } - else - { - $result->created_time = null; - } - if ((int) $result->modified_time) { $date = new JDate($result->modified_time); From afe7b947d09da78b7360ea1d53ee7eafab4fef46 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 1 Nov 2021 14:05:41 +0100 Subject: [PATCH 07/52] [create-pull-request] automated change (#35955) Co-authored-by: wilsonge --- libraries/fof/download/adapter/cacert.pem | 82 ++++++++++++++++++++++- libraries/src/Http/Transport/cacert.pem | 82 ++++++++++++++++++++++- 2 files changed, 160 insertions(+), 4 deletions(-) diff --git a/libraries/fof/download/adapter/cacert.pem b/libraries/fof/download/adapter/cacert.pem index a1dc575dd7bcf..0bf312fe5cc8c 100644 --- a/libraries/fof/download/adapter/cacert.pem +++ b/libraries/fof/download/adapter/cacert.pem @@ -1,7 +1,7 @@ ## ## Bundle of CA Root Certificates ## -## Certificate data from Mozilla as of: Thu Sep 30 03:12:05 2021 GMT +## Certificate data from Mozilla as of: Tue Oct 26 03:12:05 2021 GMT ## ## This is a bundle of X.509 certificates of public Certificate Authorities ## (CA). These were automatically extracted from Mozilla's root certificates @@ -14,7 +14,7 @@ ## Just configure this file as the SSLCACertificateFile. ## ## Conversion done with mk-ca-bundle.pl version 1.28. -## SHA256: c8f6733d1ff4e6a4769c182971a1234f95ae079247a9c439a13423fe8ba5c24f +## SHA256: bb36818a81feaa4cca61101e6d6276cd09e972efcb08112dfed846918ca41d7f ## @@ -3152,3 +3152,81 @@ WWRrJ8/vJ8HjJLWG965+Mk2weWjROeiQWMODvA8s1pfrzgzhIMfatz7DP78v3DSk+yshzWePS/Tj OPQD8rv7gmsHINFSH5pkAnuYZttcTVoP0ISVoDwUQwbKytu4QTbaakRnh6+v40URFWkIsr4WOZck bxJF0WddCajJFdr60qZfE2Efv4WstK2tBZQIgx51F9NxO5NQI1mg7TyRVJ12AMXDuDjb -----END CERTIFICATE----- + +TunTrust Root CA +================ +-----BEGIN CERTIFICATE----- +MIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQELBQAwYTELMAkG +A1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUgQ2VydGlmaWNhdGlvbiBFbGVj +dHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJvb3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQw +NDI2MDg1NzU2WjBhMQswCQYDVQQGEwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBD +ZXJ0aWZpY2F0aW9uIEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZn56eY+hz +2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd2JQDoOw05TDENX37Jk0b +bjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgFVwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7 +NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZGoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAd +gjH8KcwAWJeRTIAAHDOFli/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViW +VSHbhlnUr8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2eY8f +Tpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIbMlEsPvLfe/ZdeikZ +juXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISgjwBUFfyRbVinljvrS5YnzWuioYas +DXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwS +VXAkPcvCFDVDXSdOvsC9qnyW5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI +04Y+oXNZtPdEITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0 +90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+zxiD2BkewhpMl +0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYuQEkHDVneixCwSQXi/5E/S7fd +Ao74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4FstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRY +YdZ2vyJ/0Adqp2RT8JeNnYA/u8EH22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJp +adbGNjHh/PqAulxPxOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65x +xBzndFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5Xc0yGYuP +jCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7bnV2UqL1g52KAdoGDDIzM +MEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQCvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9z +ZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZHu/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3r +AZ3r2OvEhJn7wAzMMujjd9qDRIueVSjAi1jTkD5OGwDxFa2DK5o= +-----END CERTIFICATE----- + +HARICA TLS RSA Root CA 2021 +=========================== +-----BEGIN CERTIFICATE----- +MIIFpDCCA4ygAwIBAgIQOcqTHO9D88aOk8f0ZIk4fjANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQG +EwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u +cyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBSU0EgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTUz +OFoXDTQ1MDIxMzEwNTUzN1owbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRl +bWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgUlNB +IFJvb3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvC569lmwVnlskN +JLnQDmT8zuIkGCyEf3dRywQRNrhe7Wlxp57kJQmXZ8FHws+RFjZiPTgE4VGC/6zStGndLuwRo0Xu +a2s7TL+MjaQenRG56Tj5eg4MmOIjHdFOY9TnuEFE+2uva9of08WRiFukiZLRgeaMOVig1mlDqa2Y +Ulhu2wr7a89o+uOkXjpFc5gH6l8Cct4MpbOfrqkdtx2z/IpZ525yZa31MJQjB/OCFks1mJxTuy/K +5FrZx40d/JiZ+yykgmvwKh+OC19xXFyuQnspiYHLA6OZyoieC0AJQTPb5lh6/a6ZcMBaD9YThnEv +dmn8kN3bLW7R8pv1GmuebxWMevBLKKAiOIAkbDakO/IwkfN4E8/BPzWr8R0RI7VDIp4BkrcYAuUR +0YLbFQDMYTfBKnya4dC6s1BG7oKsnTH4+yPiAwBIcKMJJnkVU2DzOFytOOqBAGMUuTNe3QvboEUH +GjMJ+E20pwKmafTCWQWIZYVWrkvL4N48fS0ayOn7H6NhStYqE613TBoYm5EPWNgGVMWX+Ko/IIqm +haZ39qb8HOLubpQzKoNQhArlT4b4UEV4AIHrW2jjJo3Me1xR9BQsQL4aYB16cmEdH2MtiKrOokWQ +CPxrvrNQKlr9qEgYRtaQQJKQCoReaDH46+0N0x3GfZkYVVYnZS6NRcUk7M7jAgMBAAGjQjBAMA8G +A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFApII6ZgpJIKM+qTW8VX6iVNvRLuMA4GA1UdDwEB/wQE +AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAPpBIqm5iFSVmewzVjIuJndftTgfvnNAUX15QvWiWkKQU +EapobQk1OUAJ2vQJLDSle1mESSmXdMgHHkdt8s4cUCbjnj1AUz/3f5Z2EMVGpdAgS1D0NTsY9FVq +QRtHBmg8uwkIYtlfVUKqrFOFrJVWNlar5AWMxajaH6NpvVMPxP/cyuN+8kyIhkdGGvMA9YCRotxD +QpSbIPDRzbLrLFPCU3hKTwSUQZqPJzLB5UkZv/HywouoCjkxKLR9YjYsTewfM7Z+d21+UPCfDtcR +j88YxeMn/ibvBZ3PzzfF0HvaO7AWhAw6k9a+F9sPPg4ZeAnHqQJyIkv3N3a6dcSFA1pj1bF1BcK5 +vZStjBWZp5N99sXzqnTPBIWUmAD04vnKJGW/4GKvyMX6ssmeVkjaef2WdhW+o45WxLM0/L5H9MG0 +qPzVMIho7suuyWPEdr6sOBjhXlzPrjoiUevRi7PzKzMHVIf6tLITe7pTBGIBnfHAT+7hOtSLIBD6 +Alfm78ELt5BGnBkpjNxvoEppaZS3JGWg/6w/zgH7IS79aPib8qXPMThcFarmlwDB31qlpzmq6YR/ +PFGoOtmUW4y/Twhx5duoXNTSpv4Ao8YWxw/ogM4cKGR0GQjTQuPOAF1/sdwTsOEFy9EgqoZ0njnn +kf3/W9b3raYvAwtt41dU63ZTGI0RmLo= +-----END CERTIFICATE----- + +HARICA TLS ECC Root CA 2021 +=========================== +-----BEGIN CERTIFICATE----- +MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQswCQYDVQQGEwJH +UjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBD +QTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoX +DTQ1MDIxMzExMDEwOVowbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWlj +IGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJv +b3QgQ0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7KKrxcm1l +AEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9YSTHMmE5gEYd103KUkE+b +ECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW +0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAi +rcJRQO9gcS3ujwLEXQNwSaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/Qw +CZ61IygNnxS2PFOiTAZpffpskcYqSUXm7LcT4Tps +-----END CERTIFICATE----- diff --git a/libraries/src/Http/Transport/cacert.pem b/libraries/src/Http/Transport/cacert.pem index a1dc575dd7bcf..0bf312fe5cc8c 100644 --- a/libraries/src/Http/Transport/cacert.pem +++ b/libraries/src/Http/Transport/cacert.pem @@ -1,7 +1,7 @@ ## ## Bundle of CA Root Certificates ## -## Certificate data from Mozilla as of: Thu Sep 30 03:12:05 2021 GMT +## Certificate data from Mozilla as of: Tue Oct 26 03:12:05 2021 GMT ## ## This is a bundle of X.509 certificates of public Certificate Authorities ## (CA). These were automatically extracted from Mozilla's root certificates @@ -14,7 +14,7 @@ ## Just configure this file as the SSLCACertificateFile. ## ## Conversion done with mk-ca-bundle.pl version 1.28. -## SHA256: c8f6733d1ff4e6a4769c182971a1234f95ae079247a9c439a13423fe8ba5c24f +## SHA256: bb36818a81feaa4cca61101e6d6276cd09e972efcb08112dfed846918ca41d7f ## @@ -3152,3 +3152,81 @@ WWRrJ8/vJ8HjJLWG965+Mk2weWjROeiQWMODvA8s1pfrzgzhIMfatz7DP78v3DSk+yshzWePS/Tj OPQD8rv7gmsHINFSH5pkAnuYZttcTVoP0ISVoDwUQwbKytu4QTbaakRnh6+v40URFWkIsr4WOZck bxJF0WddCajJFdr60qZfE2Efv4WstK2tBZQIgx51F9NxO5NQI1mg7TyRVJ12AMXDuDjb -----END CERTIFICATE----- + +TunTrust Root CA +================ +-----BEGIN CERTIFICATE----- +MIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQELBQAwYTELMAkG +A1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUgQ2VydGlmaWNhdGlvbiBFbGVj +dHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJvb3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQw +NDI2MDg1NzU2WjBhMQswCQYDVQQGEwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBD +ZXJ0aWZpY2F0aW9uIEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZn56eY+hz +2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd2JQDoOw05TDENX37Jk0b +bjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgFVwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7 +NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZGoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAd +gjH8KcwAWJeRTIAAHDOFli/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViW +VSHbhlnUr8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2eY8f +Tpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIbMlEsPvLfe/ZdeikZ +juXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISgjwBUFfyRbVinljvrS5YnzWuioYas +DXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwS +VXAkPcvCFDVDXSdOvsC9qnyW5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI +04Y+oXNZtPdEITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0 +90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+zxiD2BkewhpMl +0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYuQEkHDVneixCwSQXi/5E/S7fd +Ao74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4FstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRY +YdZ2vyJ/0Adqp2RT8JeNnYA/u8EH22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJp +adbGNjHh/PqAulxPxOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65x +xBzndFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5Xc0yGYuP +jCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7bnV2UqL1g52KAdoGDDIzM +MEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQCvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9z +ZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZHu/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3r +AZ3r2OvEhJn7wAzMMujjd9qDRIueVSjAi1jTkD5OGwDxFa2DK5o= +-----END CERTIFICATE----- + +HARICA TLS RSA Root CA 2021 +=========================== +-----BEGIN CERTIFICATE----- +MIIFpDCCA4ygAwIBAgIQOcqTHO9D88aOk8f0ZIk4fjANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQG +EwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u +cyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBSU0EgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTUz +OFoXDTQ1MDIxMzEwNTUzN1owbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRl +bWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgUlNB +IFJvb3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvC569lmwVnlskN +JLnQDmT8zuIkGCyEf3dRywQRNrhe7Wlxp57kJQmXZ8FHws+RFjZiPTgE4VGC/6zStGndLuwRo0Xu +a2s7TL+MjaQenRG56Tj5eg4MmOIjHdFOY9TnuEFE+2uva9of08WRiFukiZLRgeaMOVig1mlDqa2Y +Ulhu2wr7a89o+uOkXjpFc5gH6l8Cct4MpbOfrqkdtx2z/IpZ525yZa31MJQjB/OCFks1mJxTuy/K +5FrZx40d/JiZ+yykgmvwKh+OC19xXFyuQnspiYHLA6OZyoieC0AJQTPb5lh6/a6ZcMBaD9YThnEv +dmn8kN3bLW7R8pv1GmuebxWMevBLKKAiOIAkbDakO/IwkfN4E8/BPzWr8R0RI7VDIp4BkrcYAuUR +0YLbFQDMYTfBKnya4dC6s1BG7oKsnTH4+yPiAwBIcKMJJnkVU2DzOFytOOqBAGMUuTNe3QvboEUH +GjMJ+E20pwKmafTCWQWIZYVWrkvL4N48fS0ayOn7H6NhStYqE613TBoYm5EPWNgGVMWX+Ko/IIqm +haZ39qb8HOLubpQzKoNQhArlT4b4UEV4AIHrW2jjJo3Me1xR9BQsQL4aYB16cmEdH2MtiKrOokWQ +CPxrvrNQKlr9qEgYRtaQQJKQCoReaDH46+0N0x3GfZkYVVYnZS6NRcUk7M7jAgMBAAGjQjBAMA8G +A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFApII6ZgpJIKM+qTW8VX6iVNvRLuMA4GA1UdDwEB/wQE +AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAPpBIqm5iFSVmewzVjIuJndftTgfvnNAUX15QvWiWkKQU +EapobQk1OUAJ2vQJLDSle1mESSmXdMgHHkdt8s4cUCbjnj1AUz/3f5Z2EMVGpdAgS1D0NTsY9FVq +QRtHBmg8uwkIYtlfVUKqrFOFrJVWNlar5AWMxajaH6NpvVMPxP/cyuN+8kyIhkdGGvMA9YCRotxD +QpSbIPDRzbLrLFPCU3hKTwSUQZqPJzLB5UkZv/HywouoCjkxKLR9YjYsTewfM7Z+d21+UPCfDtcR +j88YxeMn/ibvBZ3PzzfF0HvaO7AWhAw6k9a+F9sPPg4ZeAnHqQJyIkv3N3a6dcSFA1pj1bF1BcK5 +vZStjBWZp5N99sXzqnTPBIWUmAD04vnKJGW/4GKvyMX6ssmeVkjaef2WdhW+o45WxLM0/L5H9MG0 +qPzVMIho7suuyWPEdr6sOBjhXlzPrjoiUevRi7PzKzMHVIf6tLITe7pTBGIBnfHAT+7hOtSLIBD6 +Alfm78ELt5BGnBkpjNxvoEppaZS3JGWg/6w/zgH7IS79aPib8qXPMThcFarmlwDB31qlpzmq6YR/ +PFGoOtmUW4y/Twhx5duoXNTSpv4Ao8YWxw/ogM4cKGR0GQjTQuPOAF1/sdwTsOEFy9EgqoZ0njnn +kf3/W9b3raYvAwtt41dU63ZTGI0RmLo= +-----END CERTIFICATE----- + +HARICA TLS ECC Root CA 2021 +=========================== +-----BEGIN CERTIFICATE----- +MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQswCQYDVQQGEwJH +UjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBD +QTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoX +DTQ1MDIxMzExMDEwOVowbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWlj +IGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJv +b3QgQ0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7KKrxcm1l +AEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9YSTHMmE5gEYd103KUkE+b +ECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW +0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAi +rcJRQO9gcS3ujwLEXQNwSaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/Qw +CZ61IygNnxS2PFOiTAZpffpskcYqSUXm7LcT4Tps +-----END CERTIFICATE----- From bb4c8f4e1fe0045a1e500f27430d5c6c4625516d Mon Sep 17 00:00:00 2001 From: janschoenherr Date: Sat, 13 Nov 2021 21:14:43 +0100 Subject: [PATCH 08/52] [3.0] Remove duplicate attributes (#35936) --- .../com_content/views/categories/tmpl/default_items.php | 2 +- components/com_content/views/category/tmpl/blog_children.php | 4 ++-- .../com_content/views/category/tmpl/default_children.php | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/components/com_content/views/categories/tmpl/default_items.php b/components/com_content/views/categories/tmpl/default_items.php index 62d03190680b1..bd8fdfd105e88 100644 --- a/components/com_content/views/categories/tmpl/default_items.php +++ b/components/com_content/views/categories/tmpl/default_items.php @@ -36,7 +36,7 @@ getChildren()) > 0 && $this->maxLevelcat > 1) : ?> + data-toggle="collapse" class="btn btn-mini pull-right" aria-label=""> params->get('show_description_image') && $item->getParams()->get('image')) : ?> diff --git a/components/com_content/views/category/tmpl/blog_children.php b/components/com_content/views/category/tmpl/blog_children.php index 5fc8f259e7ae9..f78fc7da448ab 100644 --- a/components/com_content/views/category/tmpl/blog_children.php +++ b/components/com_content/views/category/tmpl/blog_children.php @@ -39,7 +39,7 @@ escape($child->title); ?> maxLevel > 1 && count($child->getChildren()) > 0) : ?> - + @@ -53,7 +53,7 @@ maxLevel > 1 && count($child->getChildren()) > 0) : ?> - + diff --git a/components/com_content/views/category/tmpl/default_children.php b/components/com_content/views/category/tmpl/default_children.php index 28429f116e8f8..d1a205d0aba26 100644 --- a/components/com_content/views/category/tmpl/default_children.php +++ b/components/com_content/views/category/tmpl/default_children.php @@ -42,7 +42,7 @@ escape($child->title); ?> getChildren()) > 0 && $this->maxLevel > 1) : ?> - + @@ -55,7 +55,7 @@ getChildren()) > 0 && $this->maxLevel > 1) : ?> - + From 0415615704a1a9e4aa7593297f4bffc4c4c5d724 Mon Sep 17 00:00:00 2001 From: Fedir Zinchuk Date: Sun, 21 Nov 2021 15:18:21 +0200 Subject: [PATCH 09/52] Re-init tinymce when sorting happen, fix #24343 (#34808) * Re-init tinymce when sorting * minify Co-authored-by: Tobias Zulauf --- media/editors/tinymce/js/tinymce.js | 15 +++++++++++++++ media/editors/tinymce/js/tinymce.min.js | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/media/editors/tinymce/js/tinymce.js b/media/editors/tinymce/js/tinymce.js index 0f9354e4298f9..d30bc72a5f031 100644 --- a/media/editors/tinymce/js/tinymce.js +++ b/media/editors/tinymce/js/tinymce.js @@ -60,6 +60,13 @@ // We already have the Target, so reset the selector and assign given element as target options.selector = null; options.target = element; + + var oldEditor = tinymce.get(element.id); + + if (oldEditor) { + oldEditor.remove(); + delete Joomla.editors.instances[element.id]; + } } // @TODO: the ext-buttons should be as TinyMCE plugins, not the callback hack @@ -111,6 +118,14 @@ jQuery(document).on('subform-row-add', function (event, row) { Joomla.JoomlaTinyMCE.setupEditors(row); }); + + // Watch on jQuery UI sortable, + // Browser will clear iframe content when DOM changes, so we need to re-init an editors in changed Element + jQuery(document).on('sortstop', function(event, ui){ + if (ui.item[0]) { + Joomla.JoomlaTinyMCE.setupEditors(ui.item[0]); + } + }); } }); diff --git a/media/editors/tinymce/js/tinymce.min.js b/media/editors/tinymce/js/tinymce.min.js index 4dd636a871c7b..e6c59f8c7bf70 100644 --- a/media/editors/tinymce/js/tinymce.min.js +++ b/media/editors/tinymce/js/tinymce.min.js @@ -1 +1 @@ -!function(u,l,t,c){"use strict";t.getSize=t.getSize||function(){return{x:t.innerWidth,y:t.innerHeight}},t.jInsertEditorText=function(t,e){l.editors.instances[e].replaceSelection(t)};var e={setupEditors:function(t){t=t||c;for(var e=l.getOptions?l.getOptions("plg_editor_tinymce",{}):l.optionsStorage.plg_editor_tinymce||{},n=t.querySelectorAll(".js-editor-tinymce"),i=0,o=n.length;i Date: Sun, 21 Nov 2021 14:21:56 +0100 Subject: [PATCH 10/52] Make sure only non blocked users can recive actionlogs emails (#35591) * Make sure only non blocked users can reciver actionlogs emails * Update administrator/components/com_actionlogs/models/actionlog.php Co-authored-by: Phil E. Taylor Co-authored-by: Phil E. Taylor --- administrator/components/com_actionlogs/models/actionlog.php | 1 + 1 file changed, 1 insertion(+) diff --git a/administrator/components/com_actionlogs/models/actionlog.php b/administrator/components/com_actionlogs/models/actionlog.php index 955912dac0e8c..a10d6d1489dae 100644 --- a/administrator/components/com_actionlogs/models/actionlog.php +++ b/administrator/components/com_actionlogs/models/actionlog.php @@ -107,6 +107,7 @@ protected function sendNotificationEmails($messages, $username, $context) $query ->select($db->quoteName(array('u.email', 'l.extensions'))) ->from($db->quoteName('#__users', 'u')) + ->where($db->quoteName('u.block') . ' = 0') ->join( 'INNER', $db->quoteName('#__action_logs_users', 'l') . ' ON ( ' . $db->quoteName('l.notify') . ' = 1 AND ' From efb87a14280e9372e19d2c27c58c05d8fdbdc3e6 Mon Sep 17 00:00:00 2001 From: George Wilson Date: Sun, 21 Nov 2021 13:23:21 +0000 Subject: [PATCH 11/52] Add a proper error message if a pack fails to download (#35841) --- installation/language/en-GB/en-GB.ini | 1 + installation/model/languages.php | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/installation/language/en-GB/en-GB.ini b/installation/language/en-GB/en-GB.ini index 905d7c6e8efa7..44c37bebc78bd 100644 --- a/installation/language/en-GB/en-GB.ini +++ b/installation/language/en-GB/en-GB.ini @@ -163,6 +163,7 @@ INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM="Joomla was unable to automatic INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_MODULE="Joomla was unable to automatically create the %s menu module." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CATEGORY="Joomla was unable to automatically create the %s content category." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_ARTICLE="Joomla was unable to automatically create the %s localised article." +INSTL_DEFAULTLANGUAGE_COULD_NOT_DOWNLOAD_PACKAGE="Joomla failed to download or unpack the language pack from: %s" INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Joomla was unable to automatically publish the language switcher module." INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGECODE="Joomla was unable to automatically enable the Language Code Plugin." INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGEFILTER="Joomla was unable to automatically enable the Language Filter Plugin." diff --git a/installation/model/languages.php b/installation/model/languages.php index d4a6c9bb35b60..d3e8abf684667 100644 --- a/installation/model/languages.php +++ b/installation/model/languages.php @@ -177,6 +177,13 @@ public function install($lids) // Download the package to the tmp folder. $package = $this->downloadPackage($package_url); + if (!$package) + { + JFactory::getApplication()->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_DOWNLOAD_PACKAGE', $package_url), 'error'); + + continue; + } + // Install the package. if (!$installer->install($package['dir'])) { From f26a5967042098f9c303b124f16c2cc191300c09 Mon Sep 17 00:00:00 2001 From: Richard Fath Date: Sun, 21 Nov 2021 14:32:11 +0100 Subject: [PATCH 12/52] Use html instead of cmd filter for language names in the extensions installer (#35980) --- libraries/src/Installer/Adapter/LanguageAdapter.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/src/Installer/Adapter/LanguageAdapter.php b/libraries/src/Installer/Adapter/LanguageAdapter.php index 0e337ad25e05d..6c6ab13e5e4cd 100644 --- a/libraries/src/Installer/Adapter/LanguageAdapter.php +++ b/libraries/src/Installer/Adapter/LanguageAdapter.php @@ -149,7 +149,7 @@ protected function _install($cname, $basePath, $clientId, &$element) // Get the language name // Set the extensions name - $name = \JFilterInput::getInstance()->clean((string) $this->getManifest()->name, 'cmd'); + $name = \JFilterInput::getInstance()->clean((string) $this->getManifest()->name, 'string'); $this->set('name', $name); // Get the Language tag [ISO tag, eg. en-GB] @@ -503,7 +503,7 @@ public function update() // Get the language name // Set the extensions name $name = (string) $this->getManifest()->name; - $name = \JFilterInput::getInstance()->clean($name, 'cmd'); + $name = \JFilterInput::getInstance()->clean($name, 'string'); $this->set('name', $name); // Get the Language tag [ISO tag, eg. en-GB] From 7b777766af809906fa33b7ff4b57d5ae13bc047a Mon Sep 17 00:00:00 2001 From: Denitz Date: Mon, 22 Nov 2021 23:04:02 +0300 Subject: [PATCH 13/52] fix (#35528) --- libraries/src/Document/HtmlDocument.php | 28 ++++++++++++------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/libraries/src/Document/HtmlDocument.php b/libraries/src/Document/HtmlDocument.php index b771786a68dbc..f0683501674d8 100644 --- a/libraries/src/Document/HtmlDocument.php +++ b/libraries/src/Document/HtmlDocument.php @@ -469,32 +469,30 @@ public function getBuffer($type = null, $name = null, $attribs = array()) $renderer = $this->loadRenderer($type); - if ($this->_caching == true && $type == 'modules') + if ($this->_caching == true && $type == 'modules' && $name !== 'debug') { $cache = \JFactory::getCache('com_modules', ''); - $hash = md5(serialize(array($name, $attribs, null, $renderer))); + $hash = md5(serialize(array($name, $attribs, null, get_class($renderer)))); $cbuffer = $cache->get('cbuffer_' . $type); if (isset($cbuffer[$hash])) { return Cache::getWorkarounds($cbuffer[$hash], array('mergehead' => 1)); } - else - { - $options = array(); - $options['nopathway'] = 1; - $options['nomodules'] = 1; - $options['modulemode'] = 1; - $this->setBuffer($renderer->render($name, $attribs, null), $type, $name); - $data = parent::$_buffer[$type][$name][$title]; + $options = array(); + $options['nopathway'] = 1; + $options['nomodules'] = 1; + $options['modulemode'] = 1; + + $this->setBuffer($renderer->render($name, $attribs, null), $type, $name); + $data = parent::$_buffer[$type][$name][$title]; - $tmpdata = Cache::setWorkarounds($data, $options); + $tmpdata = Cache::setWorkarounds($data, $options); - $cbuffer[$hash] = $tmpdata; + $cbuffer[$hash] = $tmpdata; - $cache->store($cbuffer, 'cbuffer_' . $type); - } + $cache->store($cbuffer, 'cbuffer_' . $type); } else { @@ -719,7 +717,7 @@ protected function _fetchTemplate($params = array()) // 1.5 or core then 1.6 $lang->load('tpl_' . $template, JPATH_BASE, null, false, true) - || $lang->load('tpl_' . $template, $directory . '/' . $template, null, false, true); + || $lang->load('tpl_' . $template, $directory . '/' . $template, null, false, true); // Assign the variables $this->template = $template; From 049dc9d81ebbc067e5ecb66f7c4cbb6a6b73631c Mon Sep 17 00:00:00 2001 From: "Phil E. Taylor" Date: Wed, 24 Nov 2021 19:26:52 +0000 Subject: [PATCH 14/52] [3] FOF encryption fails on PHP 8 (#35485) * FOF encryption fails on PHP 8 * refactor so isSupported is only called once in modern times * Update libraries/fof/encrypt/aes.php Co-authored-by: Quy Co-authored-by: Quy Co-authored-by: Tobias Zulauf --- libraries/fof/encrypt/aes.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libraries/fof/encrypt/aes.php b/libraries/fof/encrypt/aes.php index ebcf64bbc828e..8a6c9899c107d 100644 --- a/libraries/fof/encrypt/aes.php +++ b/libraries/fof/encrypt/aes.php @@ -168,16 +168,16 @@ public static function isSupported(FOFUtilsPhpfunc $phpfunc = null) $phpfunc = new FOFUtilsPhpfunc(); } - $adapter = new FOFEncryptAesMcrypt(); + $adapter = new FOFEncryptAesOpenssl(); if (!$adapter->isSupported($phpfunc)) { - $adapter = new FOFEncryptAesOpenssl(); - } + $adapter = new FOFEncryptAesMcrypt(); - if (!$adapter->isSupported($phpfunc)) - { - return false; + if (!$adapter->isSupported($phpfunc)) + { + return false; + } } if (!$phpfunc->function_exists('base64_encode')) From 8ba9f367705d784e08774f3cf78f20b1fa9d902c Mon Sep 17 00:00:00 2001 From: "Phil E. Taylor" Date: Fri, 26 Nov 2021 19:40:37 +0000 Subject: [PATCH 15/52] s/Reset/ResetModel (#36125) --- components/com_users/src/Controller/ResetController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/com_users/src/Controller/ResetController.php b/components/com_users/src/Controller/ResetController.php index 71e9621e093b0..24da902c79ef5 100644 --- a/components/com_users/src/Controller/ResetController.php +++ b/components/com_users/src/Controller/ResetController.php @@ -94,7 +94,7 @@ public function confirm() $app = $this->app; - /** @var \Joomla\Component\Users\Site\Model\Reset $model */ + /** @var \Joomla\Component\Users\Site\Model\ResetModel $model */ $model = $this->getModel('Reset', 'Site'); $data = $this->input->get('jform', array(), 'array'); From a52d814779d5fd03b6179a8c7e9bf583ca11c587 Mon Sep 17 00:00:00 2001 From: "Phil E. Taylor" Date: Fri, 26 Nov 2021 19:42:11 +0000 Subject: [PATCH 16/52] Namespace class (#36126) --- components/com_config/src/Dispatcher/Dispatcher.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/com_config/src/Dispatcher/Dispatcher.php b/components/com_config/src/Dispatcher/Dispatcher.php index 2aac5b0410cd6..336f520bad3c2 100644 --- a/components/com_config/src/Dispatcher/Dispatcher.php +++ b/components/com_config/src/Dispatcher/Dispatcher.php @@ -28,7 +28,7 @@ class Dispatcher extends ComponentDispatcher * * @return void * - * @throws Exception|NotAllowed + * @throws \Exception|NotAllowed */ protected function checkAccess() { From 83aeab6e6270aac7bffdc1da7201fcc1d9b820e2 Mon Sep 17 00:00:00 2001 From: "Phil E. Taylor" Date: Fri, 26 Nov 2021 19:46:23 +0000 Subject: [PATCH 17/52] fix undefined class in typehint (#36127) --- components/com_config/src/View/Modules/HtmlView.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/com_config/src/View/Modules/HtmlView.php b/components/com_config/src/View/Modules/HtmlView.php index a6f9a1539194c..589060d451c91 100644 --- a/components/com_config/src/View/Modules/HtmlView.php +++ b/components/com_config/src/View/Modules/HtmlView.php @@ -61,7 +61,7 @@ public function display($tpl = null) $moduleData = $module->getProperties(); unset($moduleData['xml']); - /** @var Modules $model */ + /** @var \Joomla\Component\Config\Site\Model\ModulesModel $model */ $model = $this->getModel(); // Need to add module name to the state of model From cf671624a2532ddc7eeb2728c79478acdd9e829e Mon Sep 17 00:00:00 2001 From: Tobias Zulauf Date: Fri, 26 Nov 2021 23:11:11 +0100 Subject: [PATCH 18/52] [3.10] Backport php8.1 compatibility fixes (#36083) * backport php8.1 combat fixes * missing checks * Update Table.php * Update Table.php * Update Table.php * Update Table.php * Update JInstallerAdapterTest.php * Update JInstallerAdapterTest.php * Update JInstallerAdapterTest.php * Update JInstallerAdapterTest.php * Update Table.php * Update Table.php * Update JInstallerAdapterTest.php * Update JInstallerAdapterTest.php * Update Table.php * Update Table.php * Update JInstallerAdapterTest.php --- .../com_categories/models/categories.php | 28 +++++++++++-------- .../com_categories/models/category.php | 26 ++++++++--------- libraries/src/MVC/Model/ListModel.php | 17 +++++++---- libraries/src/Table/Table.php | 16 ++++++++--- .../cms/installer/JInstallerAdapterTest.php | 18 ++++++++++++ 5 files changed, 70 insertions(+), 35 deletions(-) diff --git a/administrator/components/com_categories/models/categories.php b/administrator/components/com_categories/models/categories.php index 6cccae8386a61..c0963d2b05826 100644 --- a/administrator/components/com_categories/models/categories.php +++ b/administrator/components/com_categories/models/categories.php @@ -16,6 +16,14 @@ */ class CategoriesModelCategories extends JModelList { + /** + * Does an association exist? Caches the result of getAssoc(). + * + * @var boolean|null + * @since __DEPLOY_VERSION__ + */ + private $hasAssociation; + /** * Constructor. * @@ -183,9 +191,9 @@ protected function getListQuery() ->join('LEFT', '#__users AS ua ON ua.id = a.created_user_id'); // Join over the associations. - $assoc = $this->getAssoc(); + $this->hasAssociation = $this->getAssoc(); - if ($assoc) + if ($this->hasAssociation) { $query->select('COUNT(asso2.id)>1 as association') ->join('LEFT', '#__associations AS asso ON asso.id = a.id AND asso.context=' . $db->quote('com_categories.item')) @@ -313,33 +321,31 @@ protected function getListQuery() */ public function getAssoc() { - static $assoc = null; - - if (!is_null($assoc)) + if (!is_null($this->hasAssociation)) { - return $assoc; + return $this->hasAssociation; } $extension = $this->getState('filter.extension'); - $assoc = JLanguageAssociations::isEnabled(); + $this->hasAssociation = JLanguageAssociations::isEnabled(); $extension = explode('.', $extension); $component = array_shift($extension); $cname = str_replace('com_', '', $component); - if (!$assoc || !$component || !$cname) + if (!$this->hasAssociation || !$component || !$cname) { - $assoc = false; + $this->hasAssociation = false; } else { $hname = $cname . 'HelperAssociation'; JLoader::register($hname, JPATH_SITE . '/components/' . $component . '/helpers/association.php'); - $assoc = class_exists($hname) && !empty($hname::$category_association); + $this->hasAssociation = class_exists($hname) && !empty($hname::$category_association); } - return $assoc; + return $this->hasAssociation; } /** diff --git a/administrator/components/com_categories/models/category.php b/administrator/components/com_categories/models/category.php index ec93987eb6268..3ad99746ad01b 100644 --- a/administrator/components/com_categories/models/category.php +++ b/administrator/components/com_categories/models/category.php @@ -185,7 +185,7 @@ public function getItem($pk = null) // Convert the metadata field to an array. $registry = new Registry($result->metadata); $result->metadata = $registry->toArray(); - + if (!empty($result->id)) { $result->tags = new JHelperTags; @@ -193,9 +193,9 @@ public function getItem($pk = null) } } - $assoc = $this->getAssoc(); + $this->hasAssociation = $this->getAssoc(); - if ($assoc) + if ($this->hasAssociation) { if ($result->id != null) { @@ -580,9 +580,9 @@ public function save($data) return false; } - $assoc = $this->getAssoc(); + $this->hasAssociation = $this->getAssoc(); - if ($assoc) + if ($this->hasAssociation) { // Adding self to the association $associations = isset($data['associations']) ? $data['associations'] : array(); @@ -1329,32 +1329,30 @@ protected function generateNewTitle($parentId, $alias, $title) */ public function getAssoc() { - static $assoc = null; - - if (!is_null($assoc)) + if (!is_null($this->hasAssociation)) { - return $assoc; + return $this->hasAssociation; } $extension = $this->getState('category.extension'); - $assoc = JLanguageAssociations::isEnabled(); + $this->hasAssociation = JLanguageAssociations::isEnabled(); $extension = explode('.', $extension); $component = array_shift($extension); $cname = str_replace('com_', '', $component); - if (!$assoc || !$component || !$cname) + if (!$this->hasAssociation || !$component || !$cname) { - $assoc = false; + $this->hasAssociation = false; } else { $hname = $cname . 'HelperAssociation'; JLoader::register($hname, JPATH_SITE . '/components/' . $component . '/helpers/association.php'); - $assoc = class_exists($hname) && !empty($hname::$category_association); + $this->hasAssociation = class_exists($hname) && !empty($hname::$category_association); } - return $assoc; + return $this->hasAssociation; } } diff --git a/libraries/src/MVC/Model/ListModel.php b/libraries/src/MVC/Model/ListModel.php index 983f0f2db9970..4642027c48041 100644 --- a/libraries/src/MVC/Model/ListModel.php +++ b/libraries/src/MVC/Model/ListModel.php @@ -53,6 +53,14 @@ class ListModel extends BaseDatabaseModel */ protected $query = array(); + /** + * The cache ID used when last populating $this->query + * + * @var null|string + * @since __DEPLOY_VERSION__ + */ + protected $lastQueryStoreId = null; + /** * Name of the filter form to load * @@ -122,17 +130,14 @@ public function __construct($config = array(), MVCFactoryInterface $factory = nu */ protected function _getListQuery() { - // Capture the last store id used. - static $lastStoreId; - // Compute the current store id. $currentStoreId = $this->getStoreId(); // If the last store id is different from the current, refresh the query. - if ($lastStoreId != $currentStoreId || empty($this->query)) + if ($this->lastQueryStoreId !== $currentStoreId || empty($this->query)) { - $lastStoreId = $currentStoreId; - $this->query = $this->getListQuery(); + $this->lastQueryStoreId = $currentStoreId; + $this->query = $this->getListQuery(); } return $this->query; diff --git a/libraries/src/Table/Table.php b/libraries/src/Table/Table.php index 0bff49f5e952d..711a42f032bc7 100644 --- a/libraries/src/Table/Table.php +++ b/libraries/src/Table/Table.php @@ -30,6 +30,14 @@ abstract class Table extends \JObject implements \JObservableInterface, \JTableI */ private static $_includePaths = array(); + /** + * Table fields cache + * + * @var array + * @since __DEPLOY_VERSION__ + */ + private static $tableFields; + /** * Name of the database table to model. * @@ -244,9 +252,9 @@ public function getObserverOfClass($observerClass) */ public function getFields($reload = false) { - static $cache = null; + $key = $this->_db->getServerType() . ':' . $this->_db->getName() . ':' . $this->_tbl; - if ($cache === null || $reload) + if (!isset(self::$tableFields[$key]) || $reload) { // Lookup the fields for this table only once. $name = $this->_tbl; @@ -257,10 +265,10 @@ public function getFields($reload = false) throw new \UnexpectedValueException(sprintf('No columns found for %s table', $name)); } - $cache = $fields; + self::$tableFields[$key] = $fields; } - return $cache; + return self::$tableFields[$key]; } /** diff --git a/tests/unit/suites/libraries/cms/installer/JInstallerAdapterTest.php b/tests/unit/suites/libraries/cms/installer/JInstallerAdapterTest.php index b2d5c92a9d54a..42e52e875bab3 100644 --- a/tests/unit/suites/libraries/cms/installer/JInstallerAdapterTest.php +++ b/tests/unit/suites/libraries/cms/installer/JInstallerAdapterTest.php @@ -57,6 +57,24 @@ protected function tearDown() parent::tearDown(); } + /** + * Gets a mock database object. + * + * @param string $driver Optional driver to create a sub-class of JDatabaseDriver + * @param array $extraMethods An array of additional methods to add to the mock + * @param string $nullDate A null date string for the driver. + * @param string $dateFormat A date format for the driver. + * + * @return JDatabaseDriver + * + * @since 3.0.0 + */ + public function getMockDatabase($driver = '', array $extraMethods = array(), $nullDate = '0000-00-00 00:00:00', $dateFormat = 'Y-m-d H:i:s') + { + // Make sure we are creating an sqlite and not a dummy class here + return parent::getMockDatabase('sqlite', $extraMethods, $nullDate, $dateFormat); + } + /** * @testdox Tests the public constructor * From b595508e2680b40bc6c15f367bdfe627a469077e Mon Sep 17 00:00:00 2001 From: Tobias Zulauf Date: Fri, 26 Nov 2021 23:17:52 +0100 Subject: [PATCH 19/52] [3.10] Add a check whether we are running the core backend template and issue an info when that is not the case (#35107) * add a check whether we are running the core tempaltes where the backend it required and the frontend is recommended * some more updates * move to the "recommended box" * update title * update two more strings * Apply suggestions from code review Co-authored-by: Brian Teeman * alpha sort * add hathor and beez3 * Update administrator/components/com_joomlaupdate/models/default.php * only do backend template use the proposed message * remove frontend check and move backend check down the line * make drone happy * move it to a top message only * that should not be here * move variable * add link to styles as requested * force it to show the admin styles * Update administrator/components/com_joomlaupdate/models/default.php Co-authored-by: Brian Teeman * Update administrator/components/com_joomlaupdate/models/default.php Co-authored-by: Brian Teeman * Apply suggestions from code review Co-authored-by: Brian Teeman * Update administrator/components/com_joomlaupdate/views/default/view.html.php Co-authored-by: Richard Fath * Update administrator/components/com_joomlaupdate/models/default.php Co-authored-by: Phil E. Taylor * Update administrator/language/en-GB/en-GB.com_joomlaupdate.ini * i hate you php 5.3... * remove additional tabs Co-authored-by: Brian Teeman Co-authored-by: Richard Fath Co-authored-by: Phil E. Taylor --- .../com_joomlaupdate/models/default.php | 59 +++++++++++++++++++ .../default/tmpl/default_preupdatecheck.php | 10 ++++ .../views/default/view.html.php | 1 + .../language/en-GB/en-GB.com_joomlaupdate.ini | 1 + 4 files changed, 71 insertions(+) diff --git a/administrator/components/com_joomlaupdate/models/default.php b/administrator/components/com_joomlaupdate/models/default.php index 1e8160fdb91fc..bd6c803d50671 100644 --- a/administrator/components/com_joomlaupdate/models/default.php +++ b/administrator/components/com_joomlaupdate/models/default.php @@ -1799,4 +1799,63 @@ protected function translateExtensionName(&$item) // Translate the extension name if possible $item->name = strip_tags(JText::_($item->name)); } + + /** + * Checks whether a given template is active + * + * @param string $template The template name to be checked + * + * @return boolean + * + * @since __DEPLOY_VERSION__ + */ + public function isTemplateActive($template) + { + $db = $this->getDbo(); + $query = $db->getQuery(true); + + $query->select( + $db->qn( + array( + 'id', + 'home' + ) + ) + )->from( + $db->qn('#__template_styles') + )->where( + $db->qn('template') . ' = ' . $db->q($template) + ); + + $templates = $db->setQuery($query)->loadObjectList(); + + $home = array_filter( + $templates, + function($value) + { + return $value->home > 0; + } + ); + + $ids = JArrayHelper::getColumn($templates, 'id'); + + $menu = false; + + if (count($ids)) + { + $query = $db->getQuery(true); + + $query->select( + 'COUNT(*)' + )->from( + $db->qn('#__menu') + )->where( + $db->qn('template_style_id') . ' IN(' . implode(',', $ids) . ')' + ); + + $menu = $db->setQuery($query)->loadResult() > 0; + } + + return $home || $menu; + } } diff --git a/administrator/components/com_joomlaupdate/views/default/tmpl/default_preupdatecheck.php b/administrator/components/com_joomlaupdate/views/default/tmpl/default_preupdatecheck.php index 346e0b9685916..9b5ffcf18a0fd 100644 --- a/administrator/components/com_joomlaupdate/views/default/tmpl/default_preupdatecheck.php +++ b/administrator/components/com_joomlaupdate/views/default/tmpl/default_preupdatecheck.php @@ -44,6 +44,16 @@ ) ); +if (version_compare($this->updateInfo['latest'], '4', '>=') && $this->isBackendTemplateIsis === false) +{ + JFactory::getApplication()->enqueueMessage( + JText::_( + 'COM_JOOMLAUPDATE_VIEW_DEFAULT_NON_CORE_BACKEND_TEMPLATE_USED_NOTICE' + ), + 'info' + ); +} + ?>

updateInfo['latest']); ?> diff --git a/administrator/components/com_joomlaupdate/views/default/view.html.php b/administrator/components/com_joomlaupdate/views/default/view.html.php index 815bb5aafefc4..c64170864a42a 100644 --- a/administrator/components/com_joomlaupdate/views/default/view.html.php +++ b/administrator/components/com_joomlaupdate/views/default/view.html.php @@ -101,6 +101,7 @@ public function display($tpl = null) $this->phpOptions = $model->getPhpOptions(); $this->phpSettings = $model->getPhpSettings(); $this->nonCoreExtensions = $model->getNonCoreExtensions(); + $this->isBackendTemplateIsis = (bool) $model->isTemplateActive('isis'); // Disable the critical plugins check for non-major updates. $this->nonCoreCriticalPlugins = array(); diff --git a/administrator/language/en-GB/en-GB.com_joomlaupdate.ini b/administrator/language/en-GB/en-GB.com_joomlaupdate.ini index 655c45c43ee1a..314d99cdc92db 100644 --- a/administrator/language/en-GB/en-GB.com_joomlaupdate.ini +++ b/administrator/language/en-GB/en-GB.com_joomlaupdate.ini @@ -79,6 +79,7 @@ COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_WARNING_UNKNOWN="Unkown error" COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_SERVER_ERROR="Update Server error" COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSIONS="Extensions Pre-Update Check" COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSIONS_NONE="No extensions installed." +COM_JOOMLAUPDATE_VIEW_DEFAULT_NON_CORE_BACKEND_TEMPLATE_USED_NOTICE="We detected that you are not using a core admin template. You might find the upgrade process smoother if you switch to use the Isis template." COM_JOOMLAUPDATE_VIEW_DEFAULT_NON_CORE_PLUGIN_BEING_CHECKED="The system is currently checking these plugins to see if they could cause problems during the upgrade.

Please be patient while the checks are completed." COM_JOOMLAUPDATE_VIEW_DEFAULT_NON_CORE_PLUGIN_CONFIRMATION="Do you wish to ignore the warnings about potentially incompatible plugins and to proceed with the upgrade?" COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN="Potential Upgrade Issue" From 0c13098be4b2abf748b8efe3f27ca1571b0c015c Mon Sep 17 00:00:00 2001 From: zero-24 Date: Sat, 27 Nov 2021 14:23:16 +0100 Subject: [PATCH 20/52] fix since tags --- administrator/components/com_categories/models/categories.php | 2 +- administrator/components/com_joomlaupdate/models/default.php | 2 +- libraries/src/MVC/Model/ListModel.php | 2 +- libraries/src/Table/Table.php | 2 +- libraries/src/Version.php | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/administrator/components/com_categories/models/categories.php b/administrator/components/com_categories/models/categories.php index c0963d2b05826..a03039599ecad 100644 --- a/administrator/components/com_categories/models/categories.php +++ b/administrator/components/com_categories/models/categories.php @@ -20,7 +20,7 @@ class CategoriesModelCategories extends JModelList * Does an association exist? Caches the result of getAssoc(). * * @var boolean|null - * @since __DEPLOY_VERSION__ + * @since 3.10.4 */ private $hasAssociation; diff --git a/administrator/components/com_joomlaupdate/models/default.php b/administrator/components/com_joomlaupdate/models/default.php index bd6c803d50671..00aa344b4774f 100644 --- a/administrator/components/com_joomlaupdate/models/default.php +++ b/administrator/components/com_joomlaupdate/models/default.php @@ -1807,7 +1807,7 @@ protected function translateExtensionName(&$item) * * @return boolean * - * @since __DEPLOY_VERSION__ + * @since 3.10.4 */ public function isTemplateActive($template) { diff --git a/libraries/src/MVC/Model/ListModel.php b/libraries/src/MVC/Model/ListModel.php index 4642027c48041..fa972b3c725c3 100644 --- a/libraries/src/MVC/Model/ListModel.php +++ b/libraries/src/MVC/Model/ListModel.php @@ -57,7 +57,7 @@ class ListModel extends BaseDatabaseModel * The cache ID used when last populating $this->query * * @var null|string - * @since __DEPLOY_VERSION__ + * @since 3.10.4 */ protected $lastQueryStoreId = null; diff --git a/libraries/src/Table/Table.php b/libraries/src/Table/Table.php index 711a42f032bc7..9e82d4785102d 100644 --- a/libraries/src/Table/Table.php +++ b/libraries/src/Table/Table.php @@ -34,7 +34,7 @@ abstract class Table extends \JObject implements \JObservableInterface, \JTableI * Table fields cache * * @var array - * @since __DEPLOY_VERSION__ + * @since 3.10.4 */ private static $tableFields; diff --git a/libraries/src/Version.php b/libraries/src/Version.php index d65b52a94b0a4..d95ae2404c0bc 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -111,7 +111,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '21-October-2021'; + const RELDATE = '27-November-2021'; /** * Release time. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '06:52'; + const RELTIME = '13:20'; /** * Release timezone. From 8aeae4528297e74a22e0f5d6a165aea710640e81 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 28 Nov 2021 12:44:54 +0000 Subject: [PATCH 21/52] [4.0] template icon (#36136) Use the correct icon for Templates and Template views instead of the icon for styles --- .../components/com_templates/src/View/Template/HtmlView.php | 2 +- .../components/com_templates/src/View/Templates/HtmlView.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/administrator/components/com_templates/src/View/Template/HtmlView.php b/administrator/components/com_templates/src/View/Template/HtmlView.php index dbcfb9dc1cdd5..304646efaee61 100644 --- a/administrator/components/com_templates/src/View/Template/HtmlView.php +++ b/administrator/components/com_templates/src/View/Template/HtmlView.php @@ -241,7 +241,7 @@ protected function addToolbar() $explodeArray = explode('.', $this->fileName); $ext = end($explodeArray); - ToolbarHelper::title(Text::sprintf('COM_TEMPLATES_MANAGER_VIEW_TEMPLATE', ucfirst($this->template->name)), 'paint-brush thememanager'); + ToolbarHelper::title(Text::sprintf('COM_TEMPLATES_MANAGER_VIEW_TEMPLATE', ucfirst($this->template->name)), 'icon-code thememanager'); // Only show file edit buttons for global SuperUser if ($isSuperUser) diff --git a/administrator/components/com_templates/src/View/Templates/HtmlView.php b/administrator/components/com_templates/src/View/Templates/HtmlView.php index 8c3f346799a16..c741124b5801b 100644 --- a/administrator/components/com_templates/src/View/Templates/HtmlView.php +++ b/administrator/components/com_templates/src/View/Templates/HtmlView.php @@ -135,11 +135,11 @@ protected function addToolbar() // Set the title. if ((int) $this->get('State')->get('client_id') === 1) { - ToolbarHelper::title(Text::_('COM_TEMPLATES_MANAGER_TEMPLATES_ADMIN'), 'paint-brush thememanager'); + ToolbarHelper::title(Text::_('COM_TEMPLATES_MANAGER_TEMPLATES_ADMIN'), 'icon-code thememanager'); } else { - ToolbarHelper::title(Text::_('COM_TEMPLATES_MANAGER_TEMPLATES_SITE'), 'paint-brush thememanager'); + ToolbarHelper::title(Text::_('COM_TEMPLATES_MANAGER_TEMPLATES_SITE'), 'icon-code thememanager'); } if ($canDo->get('core.admin') || $canDo->get('core.options')) From 2eb475408845c6b59409332350084030f1aa8eb2 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 28 Nov 2021 15:56:13 +0000 Subject: [PATCH 22/52] [4.0] spaces to tabs (#36138) Simple codestyle change from spaces to tabs --- .../manifests/packages/pkg_search.xml | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/administrator/manifests/packages/pkg_search.xml b/administrator/manifests/packages/pkg_search.xml index ee39069e152a7..0d41c3ddb402f 100644 --- a/administrator/manifests/packages/pkg_search.xml +++ b/administrator/manifests/packages/pkg_search.xml @@ -1,33 +1,33 @@ - pkg_search - search - 17.08.2021 - Joomla! Project - (C) 2021 Open Source Matters. All rights reserved. - admin@joomla.org - www.joomla.org - Joomla! Project - admin@joomla.org - www.joomla.org - 4.0.0 - GNU General Public License version 2 or later; see LICENSE.txt - script.php - - - com_search.zip - mod_search.zip - plg_search_categories.zip - plg_search_contacts.zip - plg_search_content.zip - plg_search_newsfeeds.zip - plg_search_tags.zip - - - en-GB/en-GB.pkg_search.sys.ini - - - - https://raw.githubusercontent.com/joomla-extensions/search/main/manifest.xml - + pkg_search + search + 17.08.2021 + Joomla! Project + (C) 2021 Open Source Matters. All rights reserved. + admin@joomla.org + www.joomla.org + Joomla! Project + admin@joomla.org + www.joomla.org + 4.0.0 + GNU General Public License version 2 or later; see LICENSE.txt + script.php + + + com_search.zip + mod_search.zip + plg_search_categories.zip + plg_search_contacts.zip + plg_search_content.zip + plg_search_newsfeeds.zip + plg_search_tags.zip + + + en-GB/en-GB.pkg_search.sys.ini + + + + https://raw.githubusercontent.com/joomla-extensions/search/main/manifest.xml + From c30286b5a27fe7a60c426da87f1a8849d93c3a37 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 28 Nov 2021 17:14:16 +0000 Subject: [PATCH 23/52] Cassopeia rtl update (#36040) --- build/media_source/system/css/frontediting.css | 7 +------ templates/cassiopeia/scss/blocks/_header.scss | 7 +------ templates/cassiopeia/scss/template-rtl.scss | 14 -------------- .../scss/vendor/metismenu/_metismenu.scss | 6 +----- 4 files changed, 3 insertions(+), 31 deletions(-) diff --git a/build/media_source/system/css/frontediting.css b/build/media_source/system/css/frontediting.css index a26bb26aca74b..a9f180ec13590 100644 --- a/build/media_source/system/css/frontediting.css +++ b/build/media_source/system/css/frontediting.css @@ -16,12 +16,7 @@ display: block; position: absolute; top: 0; - right: 0; -} -html[dir=rtl] .btn.jmodedit -{ - right: auto; - left: 0; + inset-inline-end: 0; } /* Menu edit in front-end */ diff --git a/templates/cassiopeia/scss/blocks/_header.scss b/templates/cassiopeia/scss/blocks/_header.scss index 3bdaaba799de1..fbbe719484417 100644 --- a/templates/cassiopeia/scss/blocks/_header.scss +++ b/templates/cassiopeia/scss/blocks/_header.scss @@ -29,15 +29,10 @@ .navbar-brand { position: relative; display: inline-block; - margin-right: auto; + margin-inline-end: auto; font-size: 2rem; color: $white; - [dir=rtl] & { - margin-right: 0; - margin-left: auto; - } - a { color: $white; } diff --git a/templates/cassiopeia/scss/template-rtl.scss b/templates/cassiopeia/scss/template-rtl.scss index ba1d49d51ac87..7fd29360825f9 100644 --- a/templates/cassiopeia/scss/template-rtl.scss +++ b/templates/cassiopeia/scss/template-rtl.scss @@ -31,13 +31,6 @@ body, padding-right: 0; } -.metismenu.mod-menu .mm-toggler { - &:after { - margin-right: .5em; - margin-left: 0; - } -} - .container-header { background-image: $cassiopeia-header-grad-rtl; @@ -53,13 +46,6 @@ body, } } -// skipto -.skip-to { - [role="separator"] { - text-align: right !important; - } -} - // SearchTools rounded corners .awesomplete { input { diff --git a/templates/cassiopeia/scss/vendor/metismenu/_metismenu.scss b/templates/cassiopeia/scss/vendor/metismenu/_metismenu.scss index 767f7871ebd3e..24f0485a9648e 100644 --- a/templates/cassiopeia/scss/vendor/metismenu/_metismenu.scss +++ b/templates/cassiopeia/scss/vendor/metismenu/_metismenu.scss @@ -161,17 +161,13 @@ &:after { width: 0; height: 0; - margin: 0 0 0 .5em; + margin-inline-start: .5em; content: ""; border-top: .5em solid currentColor; border-right: .5em solid transparent; border-left: .5em solid transparent; transition: all .3s ease-out; - [dir="rtl"] & { - margin: 0 .5em 0 0; - } - @at-root .mm-active > & { transform: rotateX(-180deg); } From 6fbd881a0f56047e1f562dced03803e0ec31b686 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 28 Nov 2021 17:15:26 +0000 Subject: [PATCH 24/52] [4.0] remove unused atum rtl css (#36039) --- .../templates/atum/scss/template-rtl.scss | 45 ------------------- 1 file changed, 45 deletions(-) diff --git a/administrator/templates/atum/scss/template-rtl.scss b/administrator/templates/atum/scss/template-rtl.scss index 4640c3c310d90..78d2b9387f6d3 100644 --- a/administrator/templates/atum/scss/template-rtl.scss +++ b/administrator/templates/atum/scss/template-rtl.scss @@ -8,44 +8,6 @@ ul { padding-right: 0; } -.dropdown-menu-end { - - &::after { - right: auto; - left: .9rem; - } -} - -.sidebar-wrapper { - right: 0; - left: auto; -} - -.menu-collapse { - right: 0; - left: auto; - margin-right: -7.5px; - margin-left: 0; -} - -.field-calendar { - float: none; -} - -.form-text { - float: right; -} - -.field-user-wrapper { - float: none; -} - -// System panel -.menu-quicktask, -.menu-badge { - float: left; -} - // Redirect urls fields #jform_new_url, #jform_old_url, @@ -59,13 +21,6 @@ ul { direction: ltr; } -// skipto -.skip-to { - [role="separator"] { - text-align: right !important; - } -} - .input-group > .form-control:not(:last-child), .input-group > .form-select:not(:last-child) { @include border-start-radius(0); From 961bd613a640755b9fe1ea5b4fc359ab542f307c Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 28 Nov 2021 17:15:41 +0000 Subject: [PATCH 25/52] [4.0] swticher css - rtl (#36036) Updates the css to use logical properties instead of maintaining LTR and RTL. There is no visible difference --- .../system/scss/fields/switcher.scss | 28 ++++--------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/build/media_source/system/scss/fields/switcher.scss b/build/media_source/system/scss/fields/switcher.scss index 8547c8af33fbf..1ae0e8949c49b 100644 --- a/build/media_source/system/scss/fields/switcher.scss +++ b/build/media_source/system/scss/fields/switcher.scss @@ -13,18 +13,13 @@ $switcher-height: 28px; .switcher input { position: absolute; top: 0; - left: 0; + inset-inline-start: 0; z-index: 2; width: $switcher-width; height: $switcher-height; margin: 0; cursor: pointer; opacity: 0; - - [dir=rtl] & { - right: 0; - left: auto; - } } .switcher input:checked { @@ -48,29 +43,21 @@ $switcher-height: 28px; .switcher label { position: absolute; - left: 0; + inset-inline-start: 0; display: inline-block; width: auto; min-width: 6rem; height: 100%; margin-bottom: 0; - margin-left: 70px; + margin-inline-start: 70px; line-height: $switcher-height; - text-align: left; + text-align: start; transition: opacity .25s ease; - - [dir=rtl] & { - right: 0; - left: auto; - margin-right: 70px; - margin-left: 0; - text-align: right; - } } .switcher .toggle-outside { position: absolute; - left: 0; + inset-inline-start: 0; box-sizing: border-box; width: 58px; height: 100%; @@ -79,11 +66,6 @@ $switcher-height: 28px; border: 1px solid rgba(0, 0, 0, .18); transition: .2s ease all; transform: translate3d(0, 0, 0); - - [dir=rtl] & { - right: 0; - left: auto; - } } .switcher input ~ input:checked ~ .toggle-outside { From b23e547954856338a5f217235c3740fb43e88dca Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 28 Nov 2021 17:15:58 +0000 Subject: [PATCH 26/52] [4.0] com_associations rtl (#36035) Change to use logical properties and remove some duplication It does exactly the same thing but by using css logical properties we avoid the need to maintain both an LTR and an RTL version --- .../com_associations/css/sidebyside.css | 53 +++---------------- 1 file changed, 7 insertions(+), 46 deletions(-) diff --git a/build/media_source/com_associations/css/sidebyside.css b/build/media_source/com_associations/css/sidebyside.css index 13415cb93ac62..10deaafeb5372 100644 --- a/build/media_source/com_associations/css/sidebyside.css +++ b/build/media_source/com_associations/css/sidebyside.css @@ -9,11 +9,11 @@ } .sidebyside #left-panel .inner-panel { - padding: 0 10px 0 0; + padding-inline-end: 10px; } .sidebyside #right-panel .inner-panel { - padding: 0 0 0 10px; + padding-inline-end: 10px; } .sidebyside .full-width { @@ -38,7 +38,7 @@ .sidebyside .modaltarget { float: left; - margin-left: .5rem; + margin-inline-start: .5rem; } .sidebyside #target-association { @@ -55,62 +55,23 @@ } /* RTL overrides */ -html[dir=rtl] .sidebyside .outer-panel { +[dir=rtl] .sidebyside .outer-panel { float: right; } -html[dir=rtl] .sidebyside #left-panel .inner-panel { - padding: 0 0 0 10px; -} - -html[dir=rtl] .sidebyside #right-panel .inner-panel { - padding: 0 10px 0 0; -} - -html[dir=rtl] .sidebyside .full-width .inner-panel { - padding: 0 !important; -} - -html[dir=rtl] .sidebyside .langtarget { +[dir=rtl] .sidebyside .langtarget { float: right; } -html[dir=rtl] .sidebyside .modaltarget { +[dir=rtl] .sidebyside .modaltarget { float: right; - margin-left: 0; - margin-right: .5rem; } -html[dir=rtl] .target-text { +[dir=rtl] .target-text { float: right; } /* Responsive layout */ -@media (max-width: 1140px) { - .sidebyside #reference-association { - margin-top: 6.2rem; - } - - .sidebyside .langtarget { - float: none; - } - - .sidebyside .modaltarget { - float: left; - margin-left: 0; - } - - html[dir=rtl] .sidebyside .langtarget { - float: none; - } - - html[dir=rtl] .sidebyside .modaltarget { - float: right; - margin-left: 0; - margin-right: 0; - } -} - @media (max-width: 767.98px) { .sidebyside .outer-panel { float: none; From 8e2313d21320e70b4b5682148ed6bf9def3bcf19 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 28 Nov 2021 17:16:16 +0000 Subject: [PATCH 27/52] [4.0] header.css unused (#36032) To the best of my knowledge and testing ability these classes are no longer used and can be safely removed. It looks like they were missed during the numerous refactoring of the atum template. When testing either confirm they are not used by code review and/or check that the ... menu is still working as desired on smaller screens --- .../templates/atum/scss/blocks/_header.scss | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/administrator/templates/atum/scss/blocks/_header.scss b/administrator/templates/atum/scss/blocks/_header.scss index c7986a3db55b9..d85138e3511c7 100644 --- a/administrator/templates/atum/scss/blocks/_header.scss +++ b/administrator/templates/atum/scss/blocks/_header.scss @@ -229,24 +229,4 @@ transform: rotate(180deg); } } - - .header-item-more { - &.active .header-more-menu { - left: 0; - - [dir=rtl] & { - right: 0; - left: auto; - } - } - - .header-item-content { - background: transparent; - } - } - - .header-more-menu { - top: auto; - bottom: 100%; - } } From 1930b2cc5e2472f2d951897a79220a9c16643a55 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 28 Nov 2021 17:16:32 +0000 Subject: [PATCH 28/52] [4.0] Atum alert styling (#36031) This is a replacement to part of the merged PR #30294 It does exactly the same thing but by using css logical properties we avoid the need to maintain both an LTR and an RTL version There is no visual change. --- .../scss/vendor/joomla-custom-elements/joomla-alert.scss | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-alert.scss b/administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-alert.scss index d04a43fb4efad..0352de363b87c 100644 --- a/administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-alert.scss +++ b/administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-alert.scss @@ -106,7 +106,7 @@ .joomla-alert-button--close { position: absolute; top: 0; - right: 0; + inset-inline-end: 0; padding: .75rem .8rem; font-size: 2rem; line-height: 1rem; @@ -121,11 +121,6 @@ cursor: pointer; opacity: .75; } - - [dir=rtl] & { - right: auto; - left: 0; - } } div { From 49f44e934f8d4be165a12f54be5525953d8a10a8 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 28 Nov 2021 17:17:19 +0000 Subject: [PATCH 29/52] [4.0] Template tree rtl (#36029) This is a replacement to the merged PR #6367 It does exactly the same thing but by using css logical properties we avoid the need to maintain both an LTR and an RTL version There is no visual change. --- .../atum/scss/blocks/_treeselect.scss | 23 +++---------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/administrator/templates/atum/scss/blocks/_treeselect.scss b/administrator/templates/atum/scss/blocks/_treeselect.scss index 5022638cc2eac..9ff0d38a79e64 100644 --- a/administrator/templates/atum/scss/blocks/_treeselect.scss +++ b/administrator/templates/atum/scss/blocks/_treeselect.scss @@ -19,34 +19,23 @@ &::before { position: absolute; top: 14px; - left: ($treeselect-indent - 15px); + inset-inline-start: ($treeselect-indent - 15px); width: 10px; height: 1px; margin: auto; content: ""; background-color: rgba(0, 0, 0, .2); - - [dir=rtl] & { - right: ($treeselect-indent - 15px); - left: 0; - margin: 0; - } } &::after { position: absolute; top: 0; bottom: 0; - left: ($treeselect-indent - 15px); + inset-inline-start: ($treeselect-indent - 15px); width: 1px; height: 100%; content: ""; background-color: rgba(0, 0, 0, .2); - - [dir=rtl] & { - right: ($treeselect-indent - 15px); - left: 0; - } } &:last-child { @@ -119,14 +108,8 @@ li::before, li::after { - left: 8px; + inset-inline-start: 8px; display: block; - - [dir=rtl] & { - right: 8px; - left: 0; - margin: 0; - } } li::before { From fbe92a86b2f3aabbc6bb274c3f8c3efde68cd40f Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 28 Nov 2021 17:17:33 +0000 Subject: [PATCH 30/52] [4.0] Fancy selectbox fix (#36026) * [4.0] Fancy selectbox fix This is a replacement to the merged PR #30739 It does exactly the same thing but by using css logical properties we avoid the need to maintain both an LTR and an RTL version There is no visual change. * same for cassiopeia --- .../atum/scss/vendor/choicesjs/choices.scss | 13 +++---------- .../cassiopeia/scss/vendor/choicesjs/choices.scss | 13 +++---------- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/administrator/templates/atum/scss/vendor/choicesjs/choices.scss b/administrator/templates/atum/scss/vendor/choicesjs/choices.scss index dd24671cd63d5..fc8fb0927d867 100644 --- a/administrator/templates/atum/scss/vendor/choicesjs/choices.scss +++ b/administrator/templates/atum/scss/vendor/choicesjs/choices.scss @@ -141,22 +141,15 @@ .choices__button_joomla { position: absolute; top: 50%; - right: 0; + inset-inline-end: 0; width: 20px; height: 20px; padding: 0; - margin-top: -10px; - margin-right: 50px; + margin-block-start: -10px; + margin-inline-end: 50px; border-radius: 10em; opacity: .5; - [dir=rtl] & { - right: auto; - left: 0; - margin-right: 0; - margin-left: 50px; - } - &:hover, &:focus { opacity: 1; diff --git a/templates/cassiopeia/scss/vendor/choicesjs/choices.scss b/templates/cassiopeia/scss/vendor/choicesjs/choices.scss index e5ff671689867..32b138c385fe3 100644 --- a/templates/cassiopeia/scss/vendor/choicesjs/choices.scss +++ b/templates/cassiopeia/scss/vendor/choicesjs/choices.scss @@ -136,22 +136,15 @@ .choices__button_joomla { position: absolute; top: 50%; - right: 0; + inset-inline-end: 0; width: 20px; height: 20px; padding: 0; - margin-top: -10px; - margin-right: 50px; + margin-block-start: -10px; + margin-inline-end: 50px; border-radius: 10em; opacity: .5; - [dir=rtl] & { - right: auto; - left: 0; - margin-right: 0; - margin-left: 50px; - } - &:hover, &:focus { opacity: 1; From 1ccff586c7f23c735129e5884309c3019b7b9d0a Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 28 Nov 2021 17:17:47 +0000 Subject: [PATCH 31/52] [4.0] RTL: Correcting sidebar menu (#36025) This is a replacement to the merged PR #34869 It does exactly the same thing but by using css logical properties we avoid the need to maintain both an LTR and an RTL version[4.0] There is no visual change. There is no shorthand for border-radius logical properties --- .../templates/atum/scss/blocks/_sidebar.scss | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/administrator/templates/atum/scss/blocks/_sidebar.scss b/administrator/templates/atum/scss/blocks/_sidebar.scss index 2fd0340a72483..ad0af74c350e2 100644 --- a/administrator/templates/atum/scss/blocks/_sidebar.scss +++ b/administrator/templates/atum/scss/blocks/_sidebar.scss @@ -215,7 +215,7 @@ .main-nav a:hover .sidebar-item-title { position: absolute; - left: 100%; + inset-inline-start: 100%; display: flex; align-items: center; height: 100%; @@ -223,12 +223,10 @@ white-space: nowrap; pointer-events: none; background-color: var(--template-bg-dark-60); - border-radius: 0 $border-radius $border-radius 0; - [dir=rtl] & { - right: 100%; - left: unset; - border-radius: $border-radius 0 0 $border-radius; - } + border-end-start-radius: 0; + border-end-end-radius: $border-radius; + border-start-end-radius: $border-radius; + border-start-start-radius: 0; } .main-nav > li > ul { From 2fdc8489332fc2d23d8d63b8e029475d5e53d9da Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 28 Nov 2021 17:19:12 +0000 Subject: [PATCH 32/52] [4.0] Atum content quicklinks (#36030) This is a partial replacement to part of the merged PR #32336 It does exactly the same thing but by using css logical properties we avoid the need to maintain both an LTR and an RTL version There is no visual change. --- .../templates/atum/scss/blocks/_quickicons.scss | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/administrator/templates/atum/scss/blocks/_quickicons.scss b/administrator/templates/atum/scss/blocks/_quickicons.scss index 2b34f021ca90e..bd579aaa285e9 100644 --- a/administrator/templates/atum/scss/blocks/_quickicons.scss +++ b/administrator/templates/atum/scss/blocks/_quickicons.scss @@ -142,12 +142,5 @@ #content .menu-quicktask { position: absolute; - - [dir=ltr] & { - right: 1.25rem; - } - - [dir=rtl] & { - left: 1.25rem; - } + inset-inline-end: 1.25rem; } From 9cb4dfcbcdf3b641db700e4dce2adfb776ad834f Mon Sep 17 00:00:00 2001 From: janschoenherr Date: Sun, 28 Nov 2021 18:21:09 +0100 Subject: [PATCH 33/52] Update FieldsModel.php (#35924) Fix missing filter in store id --- administrator/components/com_fields/src/Model/FieldsModel.php | 1 + 1 file changed, 1 insertion(+) diff --git a/administrator/components/com_fields/src/Model/FieldsModel.php b/administrator/components/com_fields/src/Model/FieldsModel.php index 64ef9cb20cd1f..6c5f02afc47b8 100644 --- a/administrator/components/com_fields/src/Model/FieldsModel.php +++ b/administrator/components/com_fields/src/Model/FieldsModel.php @@ -122,6 +122,7 @@ protected function getStoreId($id = '') $id .= ':' . $this->getState('filter.state'); $id .= ':' . $this->getState('filter.group_id'); $id .= ':' . serialize($this->getState('filter.language')); + $id .= ':' . $this->getState('filter.only_use_in_subform'); return parent::getStoreId($id); } From d7d2ef0a31b26aeeddf7ded0cd1090176b7e51d1 Mon Sep 17 00:00:00 2001 From: Khushi Rauniyar <60094678+khu5h1@users.noreply.github.com> Date: Sun, 28 Nov 2021 09:21:38 -0800 Subject: [PATCH 34/52] Solved -- To Top button overlaps information (#35996) * Solved -- To Top button overlaps information * Solved -- To Top button overlaps information --- templates/cassiopeia/scss/blocks/_back-to-top.scss | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/templates/cassiopeia/scss/blocks/_back-to-top.scss b/templates/cassiopeia/scss/blocks/_back-to-top.scss index e98225a1e8281..e624d34a891aa 100644 --- a/templates/cassiopeia/scss/blocks/_back-to-top.scss +++ b/templates/cassiopeia/scss/blocks/_back-to-top.scss @@ -3,8 +3,8 @@ */ .back-to-top-link { - position: fixed; - right: 1rem; + position: absolute; + inset-inline-end: 1rem; bottom: 1rem; z-index: 10000; padding: $cassiopeia-grid-gutter/2; @@ -16,11 +16,6 @@ opacity: 0; transition: opacity 200ms ease-in; - [dir=rtl] & { - right: unset; - left: 1rem; - } - &.visible { opacity: 1; } From 632745ce0fb633853f9b12639af943c1b9f40256 Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Sun, 28 Nov 2021 18:27:40 +0100 Subject: [PATCH 35/52] Notification subject: Use Item title, not model name (#35960) --- .../language/en-GB/plg_workflow_notification.ini | 5 +++-- plugins/workflow/notification/notification.php | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/administrator/language/en-GB/plg_workflow_notification.ini b/administrator/language/en-GB/plg_workflow_notification.ini index d72d9187fc860..963865e216041 100644 --- a/administrator/language/en-GB/plg_workflow_notification.ini +++ b/administrator/language/en-GB/plg_workflow_notification.ini @@ -9,8 +9,9 @@ PLG_WORKFLOW_NOTIFICATION="Workflow - Notification" PLG_WORKFLOW_NOTIFICATION_ADDTEXT="The stage has changed" PLG_WORKFLOW_NOTIFICATION_ADDTEXT_DESC="This text will be sent: Title [title], changed by [user], new state: [state]. You can add own text to this information. You can localise the text by using a language key and creating a language override." PLG_WORKFLOW_NOTIFICATION_ADDTEXT_LABEL="Additional Message Text" -PLG_WORKFLOW_NOTIFICATION_ON_TRANSITION_MSG="Title: %1$s. Transition %2$s performed by %3$s. New state: %4$s." -PLG_WORKFLOW_NOTIFICATION_ON_TRANSITION_SUBJECT="The status of an %1$s has been changed" +PLG_WORKFLOW_NOTIFICATION_ON_TRANSITION_MSG="Title: %1$s. Transition \"%2$s\" performed by %3$s. New state: %4$s." +PLG_WORKFLOW_NOTIFICATION_ON_TRANSITION_SUBJECT="The status of \"%s\" has been changed" +PLG_WORKFLOW_NOTIFICATION_NO_TITLE="Unknown title" PLG_WORKFLOW_NOTIFICATION_RECEIVERS_LABEL="Users" PLG_WORKFLOW_NOTIFICATION_SENDMAIL_LABEL="Send Notification" PLG_WORKFLOW_NOTIFICATION_SENT="Notifications sent" diff --git a/plugins/workflow/notification/notification.php b/plugins/workflow/notification/notification.php index 44e60a8cd7593..d3e687c337947 100644 --- a/plugins/workflow/notification/notification.php +++ b/plugins/workflow/notification/notification.php @@ -191,12 +191,13 @@ public function onWorkflowAfterTransition(WorkflowTransitionEvent $event) foreach ($pks as $pk) { - // Get the title of the item which has changed - $title = ''; + // Get the title of the item which has changed, unknown as fallback + $title = Text::_('PLG_WORKFLOW_NOTIFICATION_NO_TITLE'); if ($hasGetItem) { - $title = $model->getItem($pk)->title; + $item = $model->getItem($pk); + $title = !empty($item->title) ? $item->title : $title; } // Send Email to receivers @@ -225,7 +226,7 @@ public function onWorkflowAfterTransition(WorkflowTransitionEvent $event) $message = [ 'id' => 0, 'user_id_to' => $receiver->id, - 'subject' => sprintf($lang->_('PLG_WORKFLOW_NOTIFICATION_ON_TRANSITION_SUBJECT'), $modelName), + 'subject' => sprintf($lang->_('PLG_WORKFLOW_NOTIFICATION_ON_TRANSITION_SUBJECT'), $title), 'message' => $messageText, ]; From 94b022c5c14f1bf926f429915661cee33ea04bfc Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Sun, 28 Nov 2021 18:28:55 +0100 Subject: [PATCH 36/52] [4] Avoid the EOL underline of the title link (#35514) * avoid the EOL underline of the title link * Solution with htmlhelper * Update modules/mod_articles_category/tmpl/default_items.php Co-authored-by: Quy Co-authored-by: George Wilson Co-authored-by: Quy --- modules/mod_articles_category/tmpl/default_items.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/mod_articles_category/tmpl/default_items.php b/modules/mod_articles_category/tmpl/default_items.php index 5e91a9c36944b..5db29437194b7 100644 --- a/modules/mod_articles_category/tmpl/default_items.php +++ b/modules/mod_articles_category/tmpl/default_items.php @@ -17,9 +17,10 @@
  • get('link_titles') == 1) : ?> - - title; ?> - + 'mod-articles-category-title ' . $item->active]; ?> + link, ENT_COMPAT, 'UTF-8', false); ?> + title, ENT_COMPAT, 'UTF-8', false); ?> + title; ?> From ca807c799a02eacdde197e53b12ea7a947e2775a Mon Sep 17 00:00:00 2001 From: Rishabh Ranjan Jha <61203226+rjharishabh@users.noreply.github.com> Date: Sun, 28 Nov 2021 23:00:54 +0530 Subject: [PATCH 37/52] [4.0] Versions Toolbar when button disabled (#35761) --- .../js/admin-history-modal.es6.js | 73 +++++++++++-------- 1 file changed, 41 insertions(+), 32 deletions(-) diff --git a/build/media_source/com_contenthistory/js/admin-history-modal.es6.js b/build/media_source/com_contenthistory/js/admin-history-modal.es6.js index 335f510c7c508..4e2ad9e929077 100644 --- a/build/media_source/com_contenthistory/js/admin-history-modal.es6.js +++ b/build/media_source/com_contenthistory/js/admin-history-modal.es6.js @@ -11,51 +11,60 @@ document.addEventListener('DOMContentLoaded', () => { document.getElementById('toolbar-load').addEventListener('click', () => { - const ids = document.querySelectorAll('input[id*="cb"]:checked'); - if (ids.length === 1) { - // Add version item id to URL - const url = `${document.getElementById('toolbar-load').childNodes[1].getAttribute('data-url')}&version_id=${ids[0].value}`; - if (window.parent && url) { - window.parent.location = url; + const toolbarLoad = document.getElementById('toolbar-load'); + if (!toolbarLoad.disabled) { + const ids = document.querySelectorAll('input[id*="cb"]:checked'); + if (ids.length === 1) { + // Add version item id to URL + const url = `${toolbarLoad.childNodes[1].getAttribute('data-url')}&version_id=${ids[0].value}`; + if (window.parent && url) { + window.parent.location = url; + } + } else { + // @todo use the CE Modal here + alert(Joomla.Text._('COM_CONTENTHISTORY_BUTTON_SELECT_ONE_VERSION')); } - } else { - // @todo use the CE Modal here - alert(Joomla.Text._('COM_CONTENTHISTORY_BUTTON_SELECT_ONE_VERSION')); } return false; }); document.getElementById('toolbar-preview').addEventListener('click', () => { - const windowSizeArray = ['width=800, height=600, resizable=yes, scrollbars=yes']; - const ids = document.querySelectorAll('input[id*="cb"]:checked'); - if (ids.length === 1) { - // Add version item id to URL - const url = `${document.getElementById('toolbar-preview').childNodes[1].getAttribute('data-url')}&version_id=${ids[0].value}`; - if (window.parent && url) { - window.open(url, '', windowSizeArray.toString()); + const toolbarPreview = document.getElementById('toolbar-preview'); + if (!toolbarPreview.disabled) { + const windowSizeArray = ['width=800, height=600, resizable=yes, scrollbars=yes']; + const ids = document.querySelectorAll('input[id*="cb"]:checked'); + if (ids.length === 1) { + // Add version item id to URL + const url = `${toolbarPreview.childNodes[1].getAttribute('data-url')}&version_id=${ids[0].value}`; + if (window.parent && url) { + window.open(url, '', windowSizeArray.toString()); + } + } else { + // @todo use the CE Modal here + alert(Joomla.Text._('COM_CONTENTHISTORY_BUTTON_SELECT_ONE_VERSION')); } - } else { - // @todo use the CE Modal here - alert(Joomla.Text._('COM_CONTENTHISTORY_BUTTON_SELECT_ONE_VERSION')); } return false; }); document.getElementById('toolbar-compare').addEventListener('click', () => { - const windowSizeArray = ['width=1000, height=600, resizable=yes, scrollbars=yes']; - const ids = document.querySelectorAll('input[id*="cb"]:checked'); - if (ids.length === 0) { - // @todo use the CE Modal here - alert(Joomla.Text._('JLIB_HTML_PLEASE_MAKE_A_SELECTION_FROM_THE_LIST')); - } else if (ids.length === 2) { - // Add version item ids to URL - const url = `${document.getElementById('toolbar-compare').childNodes[1].getAttribute('data-url')}&id1=${ids[0].value}&id2=${ids[1].value}`; - if (window.parent && url) { - window.open(url, '', windowSizeArray.toString()); + const toolbarCompare = document.getElementById('toolbar-compare'); + if (!toolbarCompare.disabled) { + const windowSizeArray = ['width=1000, height=600, resizable=yes, scrollbars=yes']; + const ids = document.querySelectorAll('input[id*="cb"]:checked'); + if (ids.length === 0) { + // @todo use the CE Modal here + alert(Joomla.Text._('JLIB_HTML_PLEASE_MAKE_A_SELECTION_FROM_THE_LIST')); + } else if (ids.length === 2) { + // Add version item ids to URL + const url = `${toolbarCompare.childNodes[1].getAttribute('data-url')}&id1=${ids[0].value}&id2=${ids[1].value}`; + if (window.parent && url) { + window.open(url, '', windowSizeArray.toString()); + } + } else { + // @todo use the CE Modal here + alert(Joomla.Text._('COM_CONTENTHISTORY_BUTTON_SELECT_TWO_VERSIONS')); } - } else { - // @todo use the CE Modal here - alert(Joomla.Text._('COM_CONTENTHISTORY_BUTTON_SELECT_TWO_VERSIONS')); } return false; }); From 2e41deaa1d29c19b2b937391d5c6f312f55a2098 Mon Sep 17 00:00:00 2001 From: Jan Date: Sun, 28 Nov 2021 18:32:41 +0100 Subject: [PATCH 38/52] Cassiopeia template - changing Tagline to Tagline - Optional text to show as a subheading parameter - ALTERNATIVE (35720) (#35729) --- language/en-GB/tpl_cassiopeia.ini | 3 ++- templates/cassiopeia/templateDetails.xml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/language/en-GB/tpl_cassiopeia.ini b/language/en-GB/tpl_cassiopeia.ini index 9bfc8b9a0b751..1e41d15aa1c99 100644 --- a/language/en-GB/tpl_cassiopeia.ini +++ b/language/en-GB/tpl_cassiopeia.ini @@ -19,6 +19,7 @@ TPL_CASSIOPEIA_FONT_NOTE_TEXT="Loading fonts from external sources might be agai TPL_CASSIOPEIA_LOGO_LABEL="Logo" TPL_CASSIOPEIA_STATIC="Static" TPL_CASSIOPEIA_STICKY_LABEL="Sticky Header" -TPL_CASSIOPEIA_TAGLINE="Tagline" +TPL_CASSIOPEIA_TAGLINE_LABEL="Tagline" +TPL_CASSIOPEIA_TAGLINE_DESC="Optional text to show as a subheading" TPL_CASSIOPEIA_TITLE="Title (alternative to logo)" TPL_CASSIOPEIA_XML_DESCRIPTION="Continuing the space theme (Solarflare from 1.0, Milkyway from 1.5 and Protostar from 3.0), Cassiopeia is the Joomla 4 site template based on Bootstrap 5." diff --git a/templates/cassiopeia/templateDetails.xml b/templates/cassiopeia/templateDetails.xml index 7f4afa01c69a0..655fb1c327135 100644 --- a/templates/cassiopeia/templateDetails.xml +++ b/templates/cassiopeia/templateDetails.xml @@ -80,7 +80,8 @@ name="siteDescription" type="text" default="" - label="TPL_CASSIOPEIA_TAGLINE" + label="TPL_CASSIOPEIA_TAGLINE_LABEL" + description="TPL_CASSIOPEIA_TAGLINE_DESC" filter="string" showon="brand:1" /> From bcf19bd1a6e5a5453982b8da222bfb965c3016d2 Mon Sep 17 00:00:00 2001 From: Denitz Date: Sun, 28 Nov 2021 20:34:14 +0300 Subject: [PATCH 39/52] Finder plugins modify component params registry (#35855) --- plugins/finder/content/content.php | 2 +- plugins/finder/tags/tags.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/finder/content/content.php b/plugins/finder/content/content.php index 52fd36f03d2f0..6571b2dc0d6ad 100644 --- a/plugins/finder/content/content.php +++ b/plugins/finder/content/content.php @@ -271,7 +271,7 @@ protected function index(Result $item) // Initialise the item parameters. $registry = new Registry($item->params); - $item->params = ComponentHelper::getParams('com_content', true); + $item->params = clone ComponentHelper::getParams('com_content', true); $item->params->merge($registry); $item->metadata = new Registry($item->metadata); diff --git a/plugins/finder/tags/tags.php b/plugins/finder/tags/tags.php index aed0f1ea728d1..c5bd740196c8c 100644 --- a/plugins/finder/tags/tags.php +++ b/plugins/finder/tags/tags.php @@ -220,7 +220,7 @@ protected function index(Result $item) // Initialize the item parameters. $registry = new Registry($item->params); - $item->params = ComponentHelper::getParams('com_tags', true); + $item->params = clone ComponentHelper::getParams('com_tags', true); $item->params->merge($registry); $item->metadata = new Registry($item->metadata); From 5834a487ca49b203b759ad01a4d8bf0bcf58a3ed Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Sun, 28 Nov 2021 18:40:46 +0100 Subject: [PATCH 40/52] [4.0] Add information to the error message (#35910) * Add information to the error message * remove '.' * Update administrator/language/en-GB/plg_sampledata_blog.ini Co-authored-by: Brian Teeman Co-authored-by: Brian Teeman --- administrator/language/en-GB/plg_sampledata_blog.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/language/en-GB/plg_sampledata_blog.ini b/administrator/language/en-GB/plg_sampledata_blog.ini index 4392c1007ec51..324196ac64b76 100644 --- a/administrator/language/en-GB/plg_sampledata_blog.ini +++ b/administrator/language/en-GB/plg_sampledata_blog.ini @@ -138,6 +138,6 @@ PLG_SAMPLEDATA_BLOG_STEP1_SUCCESS="Step 1: Tags, Articles, Fields and Workflow d PLG_SAMPLEDATA_BLOG_STEP2_SUCCESS="Step 2: Menus done!" PLG_SAMPLEDATA_BLOG_STEP3_SUCCESS="Step 3: Modules done!" PLG_SAMPLEDATA_BLOG_STEP4_SUCCESS="Blog Sample Data has been installed!" -PLG_SAMPLEDATA_BLOG_STEP_FAILED="Step %1$u Failed: %2$s" +PLG_SAMPLEDATA_BLOG_STEP_FAILED="Step %1$u Failed with message: %2$s Please note that you can only install Blog Sample Data once." PLG_SAMPLEDATA_BLOG_STEP_SKIPPED="Step %1$u Skipped: '%2$s' is either not installed or disabled." PLG_SAMPLEDATA_BLOG_XML_DESCRIPTION="Provides the blog sample data. Can be installed using the sample data module." From c276a5cf74f02a51fdf0fb39dbd6d4fa3aaf4419 Mon Sep 17 00:00:00 2001 From: zero-24 Date: Sun, 28 Nov 2021 19:18:01 +0100 Subject: [PATCH 41/52] add clas variable a fix wrong s&r chagnes --- .../com_categories/models/category.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/administrator/components/com_categories/models/category.php b/administrator/components/com_categories/models/category.php index 3ad99746ad01b..6b2b076474e35 100644 --- a/administrator/components/com_categories/models/category.php +++ b/administrator/components/com_categories/models/category.php @@ -45,6 +45,14 @@ class CategoriesModelCategory extends JModelAdmin */ protected $associationsContext = 'com_categories.item'; + /** + * Does an association exist? Caches the result of getAssoc(). + * + * @var boolean|null + * @since 3.10.4 + */ + private $hasAssociation; + /** * Override parent constructor. * @@ -193,9 +201,9 @@ public function getItem($pk = null) } } - $this->hasAssociation = $this->getAssoc(); + $assoc = $this->getAssoc(); - if ($this->hasAssociation) + if ($assoc) { if ($result->id != null) { @@ -580,9 +588,9 @@ public function save($data) return false; } - $this->hasAssociation = $this->getAssoc(); + $assoc = $this->getAssoc(); - if ($this->hasAssociation) + if ($assoc) { // Adding self to the association $associations = isset($data['associations']) ? $data['associations'] : array(); From 8fa71612e179c0c1f07119d0ce16ca36389f2178 Mon Sep 17 00:00:00 2001 From: Richard Fath Date: Sun, 28 Nov 2021 19:34:27 +0100 Subject: [PATCH 42/52] Update deleted files from 4.0.4 to 4.0.5 (#36142) --- administrator/components/com_admin/script.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/administrator/components/com_admin/script.php b/administrator/components/com_admin/script.php index f6874a0333d5a..02dda50d2f97a 100644 --- a/administrator/components/com_admin/script.php +++ b/administrator/components/com_admin/script.php @@ -6109,6 +6109,8 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false) '/media/com_joomlaupdate/js/update.min.js.gz', '/templates/cassiopeia/images/system/sort_asc.png', '/templates/cassiopeia/images/system/sort_desc.png', + // From 4.0.4 to 4.0.5 + '/media/vendor/codemirror/lib/#codemirror.js#', ); $folders = array( From eabccde4b4849c93b428efbf4ef1c48d6e9c8456 Mon Sep 17 00:00:00 2001 From: wilsonge Date: Sun, 28 Nov 2021 18:41:05 +0000 Subject: [PATCH 43/52] Tag 4.0.5 RC --- .../com_categories/src/Model/CategoriesModel.php | 2 +- administrator/language/en-GB/install.xml | 2 +- administrator/language/en-GB/langmetadata.xml | 2 +- administrator/manifests/files/joomla.xml | 4 ++-- administrator/manifests/packages/pkg_en-GB.xml | 2 +- api/language/en-GB/install.xml | 2 +- api/language/en-GB/langmetadata.xml | 2 +- installation/language/en-GB/langmetadata.xml | 2 +- language/en-GB/install.xml | 2 +- language/en-GB/langmetadata.xml | 2 +- libraries/src/Version.php | 8 ++++---- .../Page/Acceptance/Administrator/MediaListPage.php | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/administrator/components/com_categories/src/Model/CategoriesModel.php b/administrator/components/com_categories/src/Model/CategoriesModel.php index 16c764395a9be..c7deef7886bb2 100644 --- a/administrator/components/com_categories/src/Model/CategoriesModel.php +++ b/administrator/components/com_categories/src/Model/CategoriesModel.php @@ -32,7 +32,7 @@ class CategoriesModel extends ListModel * Does an association exist? Caches the result of getAssoc(). * * @var boolean|null - * @since __DEPLOY_VERSION__ + * @since 4.0.5 */ private $hasAssociation; diff --git a/administrator/language/en-GB/install.xml b/administrator/language/en-GB/install.xml index 3193b7667941f..a176d3a733c2d 100644 --- a/administrator/language/en-GB/install.xml +++ b/administrator/language/en-GB/install.xml @@ -3,7 +3,7 @@ English (en-GB) en-GB 4.0.5 - October 2021 + November 2021 Joomla! Project admin@joomla.org www.joomla.org diff --git a/administrator/language/en-GB/langmetadata.xml b/administrator/language/en-GB/langmetadata.xml index ef152e8c75c18..b3a1c9d3f2a22 100644 --- a/administrator/language/en-GB/langmetadata.xml +++ b/administrator/language/en-GB/langmetadata.xml @@ -2,7 +2,7 @@ English (en-GB) 4.0.5 - October 2021 + November 2021 Joomla! Project admin@joomla.org www.joomla.org diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index e5d74e5361f20..ba33515a0ff21 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,8 +6,8 @@ www.joomla.org (C) 2019 Open Source Matters, Inc. GNU General Public License version 2 or later; see LICENSE.txt - 4.0.5-dev - October 2021 + 4.0.5-rc1 + November 2021 FILES_JOOMLA_XML_DESCRIPTION administrator/components/com_admin/script.php diff --git a/administrator/manifests/packages/pkg_en-GB.xml b/administrator/manifests/packages/pkg_en-GB.xml index bdb054a681526..bb850d30ccfba 100644 --- a/administrator/manifests/packages/pkg_en-GB.xml +++ b/administrator/manifests/packages/pkg_en-GB.xml @@ -3,7 +3,7 @@ English (en-GB) Language Pack en-GB 4.0.5.1 - October 2021 + November 2021 Joomla! Project admin@joomla.org www.joomla.org diff --git a/api/language/en-GB/install.xml b/api/language/en-GB/install.xml index 9f5edd039e863..790e7ea8a9358 100644 --- a/api/language/en-GB/install.xml +++ b/api/language/en-GB/install.xml @@ -3,7 +3,7 @@ English (en-GB) en-GB 4.0.5 - October 2021 + November 2021 Joomla! Project admin@joomla.org www.joomla.org diff --git a/api/language/en-GB/langmetadata.xml b/api/language/en-GB/langmetadata.xml index 37af3e92d51df..87512026afe80 100644 --- a/api/language/en-GB/langmetadata.xml +++ b/api/language/en-GB/langmetadata.xml @@ -2,7 +2,7 @@ English (en-GB) 4.0.5 - October 2021 + November 2021 Joomla! Project admin@joomla.org www.joomla.org diff --git a/installation/language/en-GB/langmetadata.xml b/installation/language/en-GB/langmetadata.xml index 1f4a762719db0..6afe651b6c000 100644 --- a/installation/language/en-GB/langmetadata.xml +++ b/installation/language/en-GB/langmetadata.xml @@ -2,7 +2,7 @@ English (United Kingdom) 4.0.5 - October 2021 + November 2021 Joomla! Project (C) 2005 Open Source Matters, Inc. GNU General Public License version 2 or later; see LICENSE.txt diff --git a/language/en-GB/install.xml b/language/en-GB/install.xml index d25d5c40f2c43..c56014bff778e 100644 --- a/language/en-GB/install.xml +++ b/language/en-GB/install.xml @@ -3,7 +3,7 @@ English (en-GB) en-GB 4.0.5 - October 2021 + November 2021 Joomla! Project admin@joomla.org www.joomla.org diff --git a/language/en-GB/langmetadata.xml b/language/en-GB/langmetadata.xml index b8d13d41f17f3..afc0af4ec29b7 100644 --- a/language/en-GB/langmetadata.xml +++ b/language/en-GB/langmetadata.xml @@ -2,7 +2,7 @@ English (en-GB) 4.0.5 - October 2021 + November 2021 Joomla! Project admin@joomla.org www.joomla.org diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 708fb638eb129..4daf39db198f6 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -61,7 +61,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'dev'; + const EXTRA_VERSION = 'rc1'; /** * Development status. @@ -69,7 +69,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Development'; + const DEV_STATUS = 'Release Candidate'; /** * Code name. @@ -85,7 +85,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '24-October-2021'; + const RELDATE = '28-November-2021'; /** * Release time. @@ -93,7 +93,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '19:51'; + const RELTIME = '18:38'; /** * Release timezone. diff --git a/tests/Codeception/_support/Page/Acceptance/Administrator/MediaListPage.php b/tests/Codeception/_support/Page/Acceptance/Administrator/MediaListPage.php index 380b614736bee..18b636d38e8dd 100644 --- a/tests/Codeception/_support/Page/Acceptance/Administrator/MediaListPage.php +++ b/tests/Codeception/_support/Page/Acceptance/Administrator/MediaListPage.php @@ -326,7 +326,7 @@ class MediaListPage extends AdminListPage * The search input field. * * @var array - * @since __DEPLOY_VERSION__ + * @since 4.0.5 */ public static $searchInputField = ['id' => 'media_search']; From 0fef88b3a0fcdfc97a22da34e48d7a538b2d50f5 Mon Sep 17 00:00:00 2001 From: wilsonge Date: Sun, 28 Nov 2021 18:41:15 +0000 Subject: [PATCH 44/52] Add flag to disable patch packages for now --- build/build.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/build/build.php b/build/build.php index d3048e101d4be..ad25059c60a74 100644 --- a/build/build.php +++ b/build/build.php @@ -207,13 +207,14 @@ function clean_composer(string $dir) $fullpath = $tmp . '/' . $time; // Parse input options -$options = getopt('', ['help', 'remote::', 'exclude-zip', 'exclude-gzip', 'exclude-bzip2', 'include-zstd']); +$options = getopt('', ['help', 'remote::', 'exclude-zip', 'exclude-gzip', 'exclude-bzip2', 'include-zstd', 'disable-patch-packages']); $remote = $options['remote'] ?? false; $excludeZip = isset($options['exclude-zip']); $excludeGzip = isset($options['exclude-gzip']); $excludeBzip2 = isset($options['exclude-bzip2']); $excludeZstd = !isset($options['include-zstd']); +$disablePatchPackages = !isset($options['disable-patch-packages']); $showHelp = isset($options['help']); // Disable the generation of extra text files @@ -423,6 +424,12 @@ function clean_composer(string $dir) // Count down starting with the latest release and add diff files to this array for ($num = $release - 1; $num >= 0; $num--) { + if (!$disablePatchPackages) + { + echo "Disabled creating patch package for $num per flag.\n"; + continue; + } + echo "Create version $num update packages.\n"; // Here we get a list of all files that have changed between the two references ($previousTag and $remote) and save in diffdocs From a090b4c82c78fb70d5ee93b1a203d8426e08a7a4 Mon Sep 17 00:00:00 2001 From: wilsonge Date: Sun, 28 Nov 2021 18:51:54 +0000 Subject: [PATCH 45/52] Reset to dev --- administrator/manifests/files/joomla.xml | 2 +- libraries/src/Version.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index ba33515a0ff21..d512a9ab183ed 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ www.joomla.org (C) 2019 Open Source Matters, Inc. GNU General Public License version 2 or later; see LICENSE.txt - 4.0.5-rc1 + 4.0.5-rc2-dev November 2021 FILES_JOOMLA_XML_DESCRIPTION diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 4daf39db198f6..e5c651d5760e4 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -61,7 +61,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'rc1'; + const EXTRA_VERSION = 'rc2-dev'; /** * Development status. @@ -69,7 +69,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Release Candidate'; + const DEV_STATUS = 'Development'; /** * Code name. @@ -93,7 +93,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '18:38'; + const RELTIME = '18:51'; /** * Release timezone. From 19cccf47c8cce08254efd6d33cfd1af1ff017ac7 Mon Sep 17 00:00:00 2001 From: wilsonge Date: Sun, 28 Nov 2021 19:26:28 +0000 Subject: [PATCH 46/52] Fix codestyle --- .../components/com_joomlaupdate/src/Model/UpdateModel.php | 2 +- .../com_joomlaupdate/tmpl/joomlaupdate/preupdatecheck.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/administrator/components/com_joomlaupdate/src/Model/UpdateModel.php b/administrator/components/com_joomlaupdate/src/Model/UpdateModel.php index e8380501434cd..5424f60a846a2 100644 --- a/administrator/components/com_joomlaupdate/src/Model/UpdateModel.php +++ b/administrator/components/com_joomlaupdate/src/Model/UpdateModel.php @@ -1776,7 +1776,7 @@ public function isTemplateActive($template) $home = array_filter( $templates, - function($value) + function ($value) { return $value->home > 0; } diff --git a/administrator/components/com_joomlaupdate/tmpl/joomlaupdate/preupdatecheck.php b/administrator/components/com_joomlaupdate/tmpl/joomlaupdate/preupdatecheck.php index 838e3bacbab0b..c6e4450bb85f9 100644 --- a/administrator/components/com_joomlaupdate/tmpl/joomlaupdate/preupdatecheck.php +++ b/administrator/components/com_joomlaupdate/tmpl/joomlaupdate/preupdatecheck.php @@ -84,7 +84,7 @@ Factory::getApplication()->enqueueMessage( Text::sprintf( 'COM_JOOMLAUPDATE_VIEW_DEFAULT_NON_CORE_BACKEND_TEMPLATE_USED_NOTICE', - ucfirst($this->defaultBackendTemplate) + ucfirst($this->defaultBackendTemplate) ), 'info' ); From 6801293f0e6e7645af79e0cab860a85555d00b82 Mon Sep 17 00:00:00 2001 From: George Wilson Date: Mon, 29 Nov 2021 00:18:32 +0000 Subject: [PATCH 47/52] Improve variable naming --- build/build.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/build.php b/build/build.php index ad25059c60a74..ad858c5d8888d 100644 --- a/build/build.php +++ b/build/build.php @@ -214,7 +214,7 @@ function clean_composer(string $dir) $excludeGzip = isset($options['exclude-gzip']); $excludeBzip2 = isset($options['exclude-bzip2']); $excludeZstd = !isset($options['include-zstd']); -$disablePatchPackages = !isset($options['disable-patch-packages']); +$buildPatchPackages = !isset($options['disable-patch-packages']); $showHelp = isset($options['help']); // Disable the generation of extra text files @@ -424,7 +424,7 @@ function clean_composer(string $dir) // Count down starting with the latest release and add diff files to this array for ($num = $release - 1; $num >= 0; $num--) { - if (!$disablePatchPackages) + if (!$buildPatchPackages) { echo "Disabled creating patch package for $num per flag.\n"; continue; From c4e1905676f18ec6b56ccb957615ca271bfed374 Mon Sep 17 00:00:00 2001 From: Richard Fath Date: Tue, 30 Nov 2021 16:40:38 +0100 Subject: [PATCH 48/52] Remove _com_joomlaupdate.scss from deleted files (#36161) --- administrator/components/com_admin/script.php | 1 - 1 file changed, 1 deletion(-) diff --git a/administrator/components/com_admin/script.php b/administrator/components/com_admin/script.php index 02dda50d2f97a..b714ad22c9260 100644 --- a/administrator/components/com_admin/script.php +++ b/administrator/components/com_admin/script.php @@ -5948,7 +5948,6 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false) '/administrator/components/com_fields/tmpl/field/modal.php', '/administrator/templates/atum/scss/pages/_com_admin.scss', '/administrator/templates/atum/scss/pages/_com_finder.scss', - '/administrator/templates/atum/scss/pages/_com_joomlaupdate.scss', '/libraries/src/Error/JsonApi/InstallLanguageExceptionHandler.php', '/libraries/src/MVC/Controller/Exception/InstallLanguage.php', '/media/com_fields/js/admin-field-edit-modal-es5.js', From 4583f1dbbab4c9de60c6d5a59479fe0e353bac1b Mon Sep 17 00:00:00 2001 From: Tuan Pham Ngoc Date: Thu, 2 Dec 2021 01:42:50 +0700 Subject: [PATCH 49/52] [4.0] Fix Hide Article Options (#36168) * Fix Hide Article Options * Also hide frontendassociations fieldset --- .../com_content/tmpl/article/edit.php | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/administrator/components/com_content/tmpl/article/edit.php b/administrator/components/com_content/tmpl/article/edit.php index fd9add68c9921..29ce01e10f511 100644 --- a/administrator/components/com_content/tmpl/article/edit.php +++ b/administrator/components/com_content/tmpl/article/edit.php @@ -37,16 +37,22 @@ $params = clone $this->state->get('params'); $params->merge(new Registry($this->item->attribs)); -$app = Factory::getApplication(); -$input = $app->input; +$input = Factory::getApplication()->input; -$assoc = Associations::isEnabled(); +$assoc = Associations::isEnabled(); +$showArticleOptions = $params->get('show_article_options', 1); -if (!$assoc) +if (!$assoc || !$showArticleOptions) { $this->ignore_fieldsets[] = 'frontendassociations'; } +if (!$showArticleOptions) +{ + // Ignore fieldsets inside Options tab + $this->ignore_fieldsets = array_merge($this->ignore_fieldsets, ['attribs', 'basic', 'category', 'author', 'date', 'other']); +} + // In case of modal $isModal = $input->get('layout') === 'modal'; $layout = $isModal ? 'modal' : 'edit'; @@ -104,9 +110,7 @@ - get('show_article_options', 1) == 1) : ?> - - + get('show_publishing_options', 1) == 1) : ?> From 934a54390e6daea50bc1f4a3e6453b6ee1c666fd Mon Sep 17 00:00:00 2001 From: Quy Date: Wed, 1 Dec 2021 10:52:03 -0800 Subject: [PATCH 50/52] Add period (#36172) --- administrator/language/en-GB/com_modules.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/language/en-GB/com_modules.ini b/administrator/language/en-GB/com_modules.ini index 7d9d2d82d65c5..0a901fa883d66 100644 --- a/administrator/language/en-GB/com_modules.ini +++ b/administrator/language/en-GB/com_modules.ini @@ -183,7 +183,7 @@ COM_MODULES_POSITION_USER5="User 5" COM_MODULES_POSITION_USER6="User 6" COM_MODULES_POSITION_USER7="User 7" COM_MODULES_POSITION_USER8="User 8" -COM_MODULES_SAVE_SUCCESS="Module saved" +COM_MODULES_SAVE_SUCCESS="Module saved." COM_MODULES_SEARCH_MENUITEM="Search for a Menu Item" COM_MODULES_SELECT_MODULE="Select module, %s" COM_MODULES_SUBITEMS="Sub-items" From 15440891f5ef42d335c7798f1d27b06ec476f569 Mon Sep 17 00:00:00 2001 From: Khushi Rauniyar <60094678+khu5h1@users.noreply.github.com> Date: Wed, 1 Dec 2021 10:58:33 -0800 Subject: [PATCH 51/52] Solve required field attribute causing rendering error (#36122) * solve required field attribute causing rendering error Co-authored-by: George Wilson --- layouts/joomla/form/field/color/advanced.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/layouts/joomla/form/field/color/advanced.php b/layouts/joomla/form/field/color/advanced.php index 610008ed3b4dc..468368671522d 100644 --- a/layouts/joomla/form/field/color/advanced.php +++ b/layouts/joomla/form/field/color/advanced.php @@ -68,7 +68,8 @@ $disabled = $disabled ? ' disabled' : ''; $readonly = $readonly ? ' readonly' : ''; $hint = strlen($hint) ? ' placeholder="' . $this->escape($hint) . '"' : ' placeholder="' . $placeholder . '"'; -$autocomplete = !empty($autocomplete) ? 'autocomplete="' . $autocomplete . '"' : ''; +$required = $required ? ' required' : ''; +$autocomplete = !empty($autocomplete) ? ' autocomplete="' . $autocomplete . '"' : ''; // Force LTR input value in RTL, due to display issues with rgba/hex colors $direction = $lang->isRtl() ? ' dir="ltr" style="text-align:right"' : ''; From 8bcefc93a21b3122d0b74f576481b9be28493dbd Mon Sep 17 00:00:00 2001 From: Harald Leithner Date: Thu, 2 Dec 2021 09:40:39 +0100 Subject: [PATCH 52/52] Revert "[4.0] Fix Hide Article Options (#36168)" (#36181) This reverts commit 4583f1dbbab4c9de60c6d5a59479fe0e353bac1b. --- .../com_content/tmpl/article/edit.php | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/administrator/components/com_content/tmpl/article/edit.php b/administrator/components/com_content/tmpl/article/edit.php index 29ce01e10f511..fd9add68c9921 100644 --- a/administrator/components/com_content/tmpl/article/edit.php +++ b/administrator/components/com_content/tmpl/article/edit.php @@ -37,22 +37,16 @@ $params = clone $this->state->get('params'); $params->merge(new Registry($this->item->attribs)); -$input = Factory::getApplication()->input; +$app = Factory::getApplication(); +$input = $app->input; -$assoc = Associations::isEnabled(); -$showArticleOptions = $params->get('show_article_options', 1); +$assoc = Associations::isEnabled(); -if (!$assoc || !$showArticleOptions) +if (!$assoc) { $this->ignore_fieldsets[] = 'frontendassociations'; } -if (!$showArticleOptions) -{ - // Ignore fieldsets inside Options tab - $this->ignore_fieldsets = array_merge($this->ignore_fieldsets, ['attribs', 'basic', 'category', 'author', 'date', 'other']); -} - // In case of modal $isModal = $input->get('layout') === 'modal'; $layout = $isModal ? 'modal' : 'edit'; @@ -110,7 +104,9 @@ - + get('show_article_options', 1) == 1) : ?> + + get('show_publishing_options', 1) == 1) : ?>