From 417cbb71e465cbae414b24ebcee8f51042b87569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Demis=20Palma=20=E3=83=84?= Date: Fri, 18 Mar 2022 17:17:49 +0100 Subject: [PATCH 01/31] RTL Chosen Select causes the page to disappear (#16552) * [Fix] Chosen select has issues in RTL languages * Apply suggestions from code review Co-authored-by: Allon Moritz Co-authored-by: Allon Moritz Co-authored-by: Tobias Zulauf --- media/jui/css/chosen.css | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/media/jui/css/chosen.css b/media/jui/css/chosen.css index 0ad85713973..02242038d5a 100644 --- a/media/jui/css/chosen.css +++ b/media/jui/css/chosen.css @@ -402,7 +402,6 @@ This file is generated by `grunt build`, do not edit it by hand. right: auto; left: 4px; } -.chzn-rtl.chzn-container-single-nosearch .chzn-search, .chzn-rtl .chzn-drop { left: 9999px; } @@ -429,5 +428,13 @@ This file is generated by `grunt build`, do not edit it by hand. .chzn-rtl.chzn-container-single.chzn-with-drop .chzn-single div b { background-position: -12px 2px; } - +/* Taken from https://github.com/joomla/joomla-cms/pull/16552 */ +[dir="rtl"] .chzn-container .chzn-drop, +[dir="rtl"] .chzn-container-single.chzn-container-single-nosearch .chzn-search { + left: auto; + right: -9999px; +} +[dir="rtl"] .chzn-container.chzn-with-drop .chzn-drop { + right: 0; +} /* @end */ From f8b1a9843efecc4f0b67124b7c3c6b0de6cfa2bd Mon Sep 17 00:00:00 2001 From: zero-24 Date: Fri, 18 Mar 2022 20:31:54 +0100 Subject: [PATCH 02/31] Joomla! 3.10.7 Release Candidate 1 --- administrator/language/en-GB/en-GB.xml | 2 +- administrator/language/en-GB/install.xml | 2 +- administrator/manifests/files/joomla.xml | 4 ++-- 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, 13 insertions(+), 13 deletions(-) diff --git a/administrator/language/en-GB/en-GB.xml b/administrator/language/en-GB/en-GB.xml index 70631457186..d0210744c8e 100644 --- a/administrator/language/en-GB/en-GB.xml +++ b/administrator/language/en-GB/en-GB.xml @@ -2,7 +2,7 @@ English (en-GB) 3.10.7 - February 2022 + March 2022 Joomla! Project admin@joomla.org www.joomla.org diff --git a/administrator/language/en-GB/install.xml b/administrator/language/en-GB/install.xml index 7f77060bb47..45f5ff310f3 100644 --- a/administrator/language/en-GB/install.xml +++ b/administrator/language/en-GB/install.xml @@ -3,7 +3,7 @@ English (en-GB) en-GB 3.10.7 - February 2022 + March 2022 Joomla! Project admin@joomla.org www.joomla.org diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 5938ce38dba..96cba196127 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 - 3.10.7-dev - February 2022 + 3.10.7-rc1 + March 2022 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 eb7afe4c6d6..9f2ee87b2d3 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 3.10.7.1 - February 2022 + March 2022 Joomla! Project admin@joomla.org www.joomla.org diff --git a/installation/language/en-GB/en-GB.xml b/installation/language/en-GB/en-GB.xml index 1b1b51b6119..344c3e9228a 100644 --- a/installation/language/en-GB/en-GB.xml +++ b/installation/language/en-GB/en-GB.xml @@ -4,7 +4,7 @@ client="installation"> English (United Kingdom) 3.10.7 - February 2022 + March 2022 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/en-GB.xml b/language/en-GB/en-GB.xml index 0d2c8d9b8a6..a994180cbac 100644 --- a/language/en-GB/en-GB.xml +++ b/language/en-GB/en-GB.xml @@ -2,7 +2,7 @@ English (en-GB) 3.10.7 - February 2022 + March 2022 Joomla! Project admin@joomla.org www.joomla.org diff --git a/language/en-GB/install.xml b/language/en-GB/install.xml index 2fd0f03e061..a927fa84bdf 100644 --- a/language/en-GB/install.xml +++ b/language/en-GB/install.xml @@ -3,7 +3,7 @@ English (en-GB) en-GB 3.10.7 - February 2022 + March 2022 Joomla! Project admin@joomla.org www.joomla.org diff --git a/libraries/src/Version.php b/libraries/src/Version.php index a5412bedf37..879caa4ec8b 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 = 'rc1'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '7-dev'; + const DEV_LEVEL = '7-rc1'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Development'; + const DEV_STATUS = 'Release Candidate'; /** * Build number. @@ -111,7 +111,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '12-February-2022'; + const RELDATE = '18-March-2022'; /** * Release time. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '19:00'; + const RELTIME = '19:26'; /** * Release timezone. From 7131a16e5dff6402ee6505152136a9154409fa07 Mon Sep 17 00:00:00 2001 From: zero-24 Date: Fri, 18 Mar 2022 21:23:33 +0100 Subject: [PATCH 03/31] reset to dev --- administrator/manifests/files/joomla.xml | 2 +- libraries/src/Version.php | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 96cba196127..e393759009f 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.7-rc1 + 3.10.7-rc2-dev March 2022 FILES_JOOMLA_XML_DESCRIPTION diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 879caa4ec8b..f270969a378 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 = 'rc1'; + const EXTRA_VERSION = 'rc2-dev'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '7-rc1'; + const DEV_LEVEL = '7-rc2-dev'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Release Candidate'; + const DEV_STATUS = 'Development'; /** * Build number. @@ -119,7 +119,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '19:26'; + const RELTIME = '20:22'; /** * Release timezone. From d71dcbf4d96e37916c4e12b2e8573f54175086c6 Mon Sep 17 00:00:00 2001 From: zero-24 Date: Sat, 19 Mar 2022 00:11:31 +0100 Subject: [PATCH 04/31] update pl-PL --- installation/language/pl-PL/pl-PL.ini | 1 + installation/language/pl-PL/pl-PL.xml | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/installation/language/pl-PL/pl-PL.ini b/installation/language/pl-PL/pl-PL.ini index 61eecede9f2..669d7d18837 100644 --- a/installation/language/pl-PL/pl-PL.ini +++ b/installation/language/pl-PL/pl-PL.ini @@ -170,6 +170,7 @@ INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM="Joomla nie był w stanie autom INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_MODULE="Joomla nie był w stanie automatycznie utworzyć modułu menu w języku %s" INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CATEGORY="Joomla nie był w stanie automatycznie utworzyć kategorii treści w języku %s" INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_ARTICLE="Joomla nie był w stanie automatycznie utworzyć lokalizacji artykułu w języku %s" +INSTL_DEFAULTLANGUAGE_COULD_NOT_DOWNLOAD_PACKAGE="Joomla nie udało się pobrać lub rozpakować pakietu językowego z: %s" INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Joomla nie był w stanie automatycznie utworzyć modułu Przełącznika języka" INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGECODE="Joomla nie był w stanie automatycznie włączyć dodatku Kod języka" INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGEFILTER="Joomla nie był w stanie automatycznie włączyć dodatku Filtr języków" diff --git a/installation/language/pl-PL/pl-PL.xml b/installation/language/pl-PL/pl-PL.xml index d677fe0006e..2704e6935dd 100644 --- a/installation/language/pl-PL/pl-PL.xml +++ b/installation/language/pl-PL/pl-PL.xml @@ -1,10 +1,10 @@ Polish (PL) - 3.8.0 - 2017-08-01 + 3.10.7 + 2022-03-19 Polskie Centrum Joomla! (C) 2007 Open Source Matters, Inc. GNU General Public License version 2 or later; see LICENSE.txt From d26966f3163cb79099896db6b5e626669f4cf5b1 Mon Sep 17 00:00:00 2001 From: Stefan Wendhausen Date: Mon, 21 Mar 2022 13:17:10 +0100 Subject: [PATCH 05/31] language-update-de (#37334) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit update all german language installation ini’s --- installation/language/de-AT/de-AT.ini | 6 +++--- installation/language/de-AT/de-AT.xml | 4 ++-- installation/language/de-CH/de-CH.ini | 6 +++--- installation/language/de-CH/de-CH.xml | 4 ++-- installation/language/de-DE/de-DE.ini | 6 +++--- installation/language/de-DE/de-DE.xml | 4 ++-- installation/language/de-LI/de-LI.ini | 6 +++--- installation/language/de-LI/de-LI.xml | 4 ++-- installation/language/de-LU/de-LU.ini | 6 +++--- installation/language/de-LU/de-LU.xml | 4 ++-- 10 files changed, 25 insertions(+), 25 deletions(-) diff --git a/installation/language/de-AT/de-AT.ini b/installation/language/de-AT/de-AT.ini index 79caa6a3d8f..ade09977340 100644 --- a/installation/language/de-AT/de-AT.ini +++ b/installation/language/de-AT/de-AT.ini @@ -82,8 +82,8 @@ INSTL_SITE_METADESC_TITLE_LABEL="Eine Beschreibung der gesamten Website für Suc INSTL_SITE_OFFLINE_LABEL="Website offline" INSTL_SITE_OFFLINE_TITLE_LABEL="Die Website (Frontend) kann nach der Installation deaktiviert (Offlinemodus) werden. Später kann sie dann über die Konfiguration wieder aktiviert werden." INSTL_SITE_INSTALL_SAMPLE_LABEL="Beispieldaten installieren" -INSTL_SITE_INSTALL_SAMPLE_DESC="Anfängern wird dringend empfohlen diese Daten zu installieren. Hiermit werden die Beispielinhalte eingefügt, die dem Installationspaket von Joomla! beiliegen." -INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmäßig eingerichtete mehrsprachige Website.)" +INSTL_SITE_INSTALL_SAMPLE_DESC="Die Installation von Beispieldaten wird Anfängern dringend empfohlen.
Dadurch werden Beispielinhalte installiert, die dem Joomla! Installationspaket beiliegen." +INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Erforderlich für die Erstellung mehrsprachiger Websites)" INSTL_SAMPLE_BLOG_SET="Englische (GB) Beispieldaten: Bloginhalte" INSTL_SAMPLE_BROCHURE_SET="Englische (GB) Beispieldaten: Prospektinhalte" INSTL_SAMPLE_DATA_SET="Englische (GB) Beispieldaten: Standardinhalte" @@ -171,8 +171,8 @@ INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM="Joomla! war es automatisch nic INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_MODULE="Joomla! war es automatisch nicht möglich das Menümodul für „%s“ zu erstellen." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CATEGORY="Joomla! war es automatisch nicht möglich eine Inhaltskategorie für „%s“ zu erstellen." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_ARTICLE="Joomla! war es automatisch nicht möglich einen Beitrag für „%s“ zu erstellen." -INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Modul „Sprachauswahl“ zu veröffentlichen." INSTL_DEFAULTLANGUAGE_COULD_NOT_DOWNLOAD_PACKAGE="Joomla konnte das Sprachpaket nicht herunterladen oder entpacken von: %s" +INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Modul „Sprachauswahl“ zu veröffentlichen." INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Plugin „Sprachkürzel“ zu aktivieren." INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGEFILTER="Joomla! war es automatisch nicht möglich das Plugin „Sprachenfilter“ zu aktivieren." INSTL_DEFAULTLANGUAGE_COULD_NOT_INSTALL_LANGUAGE="Joomla! konnte die Sprache „%s“ nicht installieren!" diff --git a/installation/language/de-AT/de-AT.xml b/installation/language/de-AT/de-AT.xml index c834ad13977..40ddd9902ed 100644 --- a/installation/language/de-AT/de-AT.xml +++ b/installation/language/de-AT/de-AT.xml @@ -1,8 +1,8 @@ German (Austria) - 3.10.4 - 07.12.2021 + 3.10.7 + 2022-03-29 J!German (C) 2005 Open Source Matters, Inc. GNU General Public License version 2 or later; see LICENSE.txt diff --git a/installation/language/de-CH/de-CH.ini b/installation/language/de-CH/de-CH.ini index 063e5c06768..f2e9fcbc8ee 100644 --- a/installation/language/de-CH/de-CH.ini +++ b/installation/language/de-CH/de-CH.ini @@ -82,8 +82,8 @@ INSTL_SITE_METADESC_TITLE_LABEL="Eine Beschreibung der gesamten Website für Suc INSTL_SITE_OFFLINE_LABEL="Website offline" INSTL_SITE_OFFLINE_TITLE_LABEL="Die Website (Frontend) kann nach der Installation deaktiviert (Offlinemodus) werden. Später kann sie dann über die Konfiguration wieder aktiviert werden." INSTL_SITE_INSTALL_SAMPLE_LABEL="Beispieldaten installieren" -INSTL_SITE_INSTALL_SAMPLE_DESC="Anfängern wird dringend empfohlen diese Daten zu installieren. Hiermit werden die Beispielinhalte eingefügt, die dem Installationspaket von Joomla! beiliegen." -INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmässig eingerichtete mehrsprachige Website.)" +INSTL_SITE_INSTALL_SAMPLE_DESC="Die Installation von Beispieldaten wird Anfängern dringend empfohlen.
Dadurch werden Beispielinhalte installiert, die dem Joomla! Installationspaket beiliegen." +INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Erforderlich für die Erstellung mehrsprachiger Websites)" INSTL_SAMPLE_BLOG_SET="Englische (GB) Beispieldaten: Bloginhalte" INSTL_SAMPLE_BROCHURE_SET="Englische (GB) Beispieldaten: Prospektinhalte" INSTL_SAMPLE_DATA_SET="Englische (GB) Beispieldaten: Standardinhalte" @@ -171,8 +171,8 @@ INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM="Joomla! war es automatisch nic INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_MODULE="Joomla! war es automatisch nicht möglich das Menümodul für „%s“ zu erstellen." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CATEGORY="Joomla! war es automatisch nicht möglich eine Inhaltskategorie für „%s“ zu erstellen." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_ARTICLE="Joomla! war es automatisch nicht möglich einen Beitrag für „%s“ zu erstellen." -INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Modul „Sprachauswahl“ zu veröffentlichen." INSTL_DEFAULTLANGUAGE_COULD_NOT_DOWNLOAD_PACKAGE="Joomla konnte das Sprachpaket nicht herunterladen oder entpacken von: %s" +INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Modul „Sprachauswahl“ zu veröffentlichen." INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Plugin „Sprachkürzel“ zu aktivieren." INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGEFILTER="Joomla! war es automatisch nicht möglich das Plugin „Sprachenfilter“ zu aktivieren." INSTL_DEFAULTLANGUAGE_COULD_NOT_INSTALL_LANGUAGE="Joomla! konnte die Sprache „%s“ nicht installieren!" diff --git a/installation/language/de-CH/de-CH.xml b/installation/language/de-CH/de-CH.xml index 167b0150fd2..ec3f51f56f1 100644 --- a/installation/language/de-CH/de-CH.xml +++ b/installation/language/de-CH/de-CH.xml @@ -1,8 +1,8 @@ German (Switzerland) - 3.10.4 - 07.12.2021 + 3.10.7 + 2022-03-29 J!German (C) 2005 Open Source Matters, Inc. GNU General Public License version 2 or later; see LICENSE.txt diff --git a/installation/language/de-DE/de-DE.ini b/installation/language/de-DE/de-DE.ini index 425d79c0a81..11ecff036c1 100644 --- a/installation/language/de-DE/de-DE.ini +++ b/installation/language/de-DE/de-DE.ini @@ -82,8 +82,8 @@ INSTL_SITE_METADESC_TITLE_LABEL="Eine Beschreibung der gesamten Website für Suc INSTL_SITE_OFFLINE_LABEL="Website offline" INSTL_SITE_OFFLINE_TITLE_LABEL="Die Website (Frontend) kann nach der Installation deaktiviert (Offlinemodus) werden. Später kann sie dann über die Konfiguration wieder aktiviert werden." INSTL_SITE_INSTALL_SAMPLE_LABEL="Beispieldaten installieren" -INSTL_SITE_INSTALL_SAMPLE_DESC="Anfängern wird dringend empfohlen diese Daten zu installieren. Hiermit werden die Beispielinhalte eingefügt, die dem Installationspaket von Joomla! beiliegen." -INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmäßig eingerichtete mehrsprachige Website.)" +INSTL_SITE_INSTALL_SAMPLE_DESC="Die Installation von Beispieldaten wird Anfängern dringend empfohlen.
Dadurch werden Beispielinhalte installiert, die dem Joomla! Installationspaket beiliegen." +INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Erforderlich für die Erstellung mehrsprachiger Websites)" INSTL_SAMPLE_BLOG_SET="Englische (GB) Beispieldaten: Bloginhalte" INSTL_SAMPLE_BROCHURE_SET="Englische (GB) Beispieldaten: Prospektinhalte" INSTL_SAMPLE_DATA_SET="Englische (GB) Beispieldaten: Standardinhalte" @@ -171,8 +171,8 @@ INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM="Joomla! war es automatisch nic INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_MODULE="Joomla! war es automatisch nicht möglich das Menümodul für „%s“ zu erstellen." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CATEGORY="Joomla! war es automatisch nicht möglich eine Inhaltskategorie für „%s“ zu erstellen." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_ARTICLE="Joomla! war es automatisch nicht möglich einen Beitrag für „%s“ zu erstellen." -INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Modul „Sprachauswahl“ zu veröffentlichen." INSTL_DEFAULTLANGUAGE_COULD_NOT_DOWNLOAD_PACKAGE="Joomla konnte das Sprachpaket nicht herunterladen oder entpacken von: %s" +INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Modul „Sprachauswahl“ zu veröffentlichen." INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Plugin „Sprachkürzel“ zu aktivieren." INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGEFILTER="Joomla! war es automatisch nicht möglich das Plugin „Sprachenfilter“ zu aktivieren." INSTL_DEFAULTLANGUAGE_COULD_NOT_INSTALL_LANGUAGE="Joomla! konnte die Sprache „%s“ nicht installieren!" diff --git a/installation/language/de-DE/de-DE.xml b/installation/language/de-DE/de-DE.xml index 5f7e884dd17..c23a5ad2428 100644 --- a/installation/language/de-DE/de-DE.xml +++ b/installation/language/de-DE/de-DE.xml @@ -1,8 +1,8 @@ German (Germany) - 3.10.4 - 07.12.2021 + 3.10.7 + 2022-03-29 J!German (C) 2005 Open Source Matters, Inc. GNU General Public License version 2 or later; see LICENSE.txt diff --git a/installation/language/de-LI/de-LI.ini b/installation/language/de-LI/de-LI.ini index 18c6da303c2..9f6225ded62 100644 --- a/installation/language/de-LI/de-LI.ini +++ b/installation/language/de-LI/de-LI.ini @@ -82,8 +82,8 @@ INSTL_SITE_METADESC_TITLE_LABEL="Eine Beschreibung der gesamten Website für Suc INSTL_SITE_OFFLINE_LABEL="Website offline" INSTL_SITE_OFFLINE_TITLE_LABEL="Die Website (Frontend) kann nach der Installation deaktiviert (Offlinemodus) werden. Später kann sie dann über die Konfiguration wieder aktiviert werden." INSTL_SITE_INSTALL_SAMPLE_LABEL="Beispieldaten installieren" -INSTL_SITE_INSTALL_SAMPLE_DESC="Anfängern wird dringend empfohlen diese Daten zu installieren. Hiermit werden die Beispielinhalte eingefügt, die dem Installationspaket von Joomla! beiliegen." -INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmässig eingerichtete mehrsprachige Website.)" +INSTL_SITE_INSTALL_SAMPLE_DESC="Die Installation von Beispieldaten wird Anfängern dringend empfohlen.
Dadurch werden Beispielinhalte installiert, die dem Joomla! Installationspaket beiliegen." +INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Erforderlich für die Erstellung mehrsprachiger Websites)" INSTL_SAMPLE_BLOG_SET="Englische (GB) Beispieldaten: Bloginhalte" INSTL_SAMPLE_BROCHURE_SET="Englische (GB) Beispieldaten: Prospektinhalte" INSTL_SAMPLE_DATA_SET="Englische (GB) Beispieldaten: Standardinhalte" @@ -171,8 +171,8 @@ INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM="Joomla! war es automatisch nic INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_MODULE="Joomla! war es automatisch nicht möglich das Menümodul für „%s“ zu erstellen." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CATEGORY="Joomla! war es automatisch nicht möglich eine Inhaltskategorie für „%s“ zu erstellen." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_ARTICLE="Joomla! war es automatisch nicht möglich einen Beitrag für „%s“ zu erstellen." -INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Modul „Sprachauswahl“ zu veröffentlichen." INSTL_DEFAULTLANGUAGE_COULD_NOT_DOWNLOAD_PACKAGE="Joomla konnte das Sprachpaket nicht herunterladen oder entpacken von: %s" +INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Modul „Sprachauswahl“ zu veröffentlichen." INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Plugin „Sprachkürzel“ zu aktivieren." INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGEFILTER="Joomla! war es automatisch nicht möglich das Plugin „Sprachenfilter“ zu aktivieren." INSTL_DEFAULTLANGUAGE_COULD_NOT_INSTALL_LANGUAGE="Joomla! konnte die Sprache „%s“ nicht installieren!" diff --git a/installation/language/de-LI/de-LI.xml b/installation/language/de-LI/de-LI.xml index 61e46dc76c1..99e7e40f52c 100644 --- a/installation/language/de-LI/de-LI.xml +++ b/installation/language/de-LI/de-LI.xml @@ -1,8 +1,8 @@ German (Lichtenstein) - 3.10.4 - 07.12.2021 + 3.10.7 + 2022-03-29 J!German (C) 2005 Open Source Matters, Inc. GNU General Public License version 2 or later; see LICENSE.txt diff --git a/installation/language/de-LU/de-LU.ini b/installation/language/de-LU/de-LU.ini index bcfe48a949b..3bd61860ca8 100644 --- a/installation/language/de-LU/de-LU.ini +++ b/installation/language/de-LU/de-LU.ini @@ -82,8 +82,8 @@ INSTL_SITE_METADESC_TITLE_LABEL="Eine Beschreibung der gesamten Website für Suc INSTL_SITE_OFFLINE_LABEL="Website offline" INSTL_SITE_OFFLINE_TITLE_LABEL="Die Website (Frontend) kann nach der Installation deaktiviert (Offlinemodus) werden. Später kann sie dann über die Konfiguration wieder aktiviert werden." INSTL_SITE_INSTALL_SAMPLE_LABEL="Beispieldaten installieren" -INSTL_SITE_INSTALL_SAMPLE_DESC="Anfängern wird dringend empfohlen diese Daten zu installieren. Hiermit werden die Beispielinhalte eingefügt, die dem Installationspaket von Joomla! beiliegen." -INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmäßig eingerichtete mehrsprachige Website.)" +INSTL_SITE_INSTALL_SAMPLE_DESC="Die Installation von Beispieldaten wird Anfängern dringend empfohlen.
Dadurch werden Beispielinhalte installiert, die dem Joomla! Installationspaket beiliegen." +INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Erforderlich für die Erstellung mehrsprachiger Websites)" INSTL_SAMPLE_BLOG_SET="Englische (GB) Beispieldaten: Bloginhalte" INSTL_SAMPLE_BROCHURE_SET="Englische (GB) Beispieldaten: Prospektinhalte" INSTL_SAMPLE_DATA_SET="Englische (GB) Beispieldaten: Standardinhalte" @@ -171,8 +171,8 @@ INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM="Joomla! war es automatisch nic INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_MODULE="Joomla! war es automatisch nicht möglich das Menümodul für „%s“ zu erstellen." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CATEGORY="Joomla! war es automatisch nicht möglich eine Inhaltskategorie für „%s“ zu erstellen." INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_ARTICLE="Joomla! war es automatisch nicht möglich einen Beitrag für „%s“ zu erstellen." -INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Modul „Sprachauswahl“ zu veröffentlichen." INSTL_DEFAULTLANGUAGE_COULD_NOT_DOWNLOAD_PACKAGE="Joomla konnte das Sprachpaket nicht herunterladen oder entpacken von: %s" +INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Modul „Sprachauswahl“ zu veröffentlichen." INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGECODE="Joomla! war es automatisch nicht möglich das Plugin „Sprachkürzel“ zu aktivieren." INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGEFILTER="Joomla! war es automatisch nicht möglich das Plugin „Sprachenfilter“ zu aktivieren." INSTL_DEFAULTLANGUAGE_COULD_NOT_INSTALL_LANGUAGE="Joomla! konnte die Sprache „%s“ nicht installieren!" diff --git a/installation/language/de-LU/de-LU.xml b/installation/language/de-LU/de-LU.xml index b36fd648a9b..f414589b0ff 100644 --- a/installation/language/de-LU/de-LU.xml +++ b/installation/language/de-LU/de-LU.xml @@ -1,8 +1,8 @@ German (Luxembourg) - 3.10.4 - 07.12.2021 + 3.10.7 + 2022-03-29 J!German (C) 2005 Open Source Matters, Inc. GNU General Public License version 2 or later; see LICENSE.txt From a11b04a2b00da63512fdb98ca272d3547c4a4025 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Thu, 24 Mar 2022 20:08:55 +0000 Subject: [PATCH 06/31] [4.1] tab code style (#37363) Looks like someones cat sat on the tab key --- layouts/joomla/form/field/media.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/layouts/joomla/form/field/media.php b/layouts/joomla/form/field/media.php index 4a6e75e364e..13ce9086951 100644 --- a/layouts/joomla/form/field/media.php +++ b/layouts/joomla/form/field/media.php @@ -171,8 +171,23 @@ if (count($doc->getScriptOptions('media-picker')) === 0) { } ?> - base-path="" root-folder="get('file_path', 'images'); ?>" url="" modal-container=".modal" modal-width="100%" modal-height="400px" input=".field-media-input" button-select=".button-select" button-clear=".button-clear" button-save-selected=".button-save-selected" preview="static" preview-container=".field-media-preview" preview-width="" preview-height="" supported-extensions=" $imagesAllowedExt, 'audios' => $audiosAllowedExt, 'videos' => $videosAllowedExt, 'documents' => $documentsAllowedExt])); ?>"> + + base-path="" + root-folder="get('file_path', 'images'); ?>" + url="" + modal-container=".modal" + modal-width="100%" + modal-height="400px" + input=".field-media-input" + button-select=".button-select" + button-clear=".button-clear" + button-save-selected=".button-save-selected" + preview="static" + preview-container=".field-media-preview" + preview-width="" + preview-height="" + supported-extensions=" $imagesAllowedExt, 'audios' => $audiosAllowedExt, 'videos' => $videosAllowedExt, 'documents' => $documentsAllowedExt])); ?> +">
From bf767d697a87d4c2d61113a784318e879ba89792 Mon Sep 17 00:00:00 2001 From: beat Date: Thu, 24 Mar 2022 21:10:22 +0100 Subject: [PATCH 07/31] [4.1] [PHP 8.1] Compatibility of htmlentities() types in tinymce DisplayTrait (#36846) * Fix PHP 8.1 compatibility of htmlentities() types in tinymce DisplayTrait * Update plugins/editors/tinymce/src/PluginTraits/DisplayTrait.php with ENT_NOQUOTES. Thank you @PhilETaylor! Co-authored-by: Phil E. Taylor --- plugins/editors/tinymce/src/PluginTraits/DisplayTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/editors/tinymce/src/PluginTraits/DisplayTrait.php b/plugins/editors/tinymce/src/PluginTraits/DisplayTrait.php index 2d225732e9e..b8f8b630f00 100644 --- a/plugins/editors/tinymce/src/PluginTraits/DisplayTrait.php +++ b/plugins/editors/tinymce/src/PluginTraits/DisplayTrait.php @@ -381,7 +381,7 @@ trait DisplayTrait { $externalPlugins['jdragndrop'] = HTMLHelper::_('script', 'plg_editors_tinymce/plugins/dragdrop/plugin.min.js', ['relative' => true, 'version' => 'auto', 'pathOnly' => true]); $uploadUrl = Uri::base(false) . 'index.php?option=com_media&format=json&url=1&task=api.files'; - $uploadUrl = $this->app->isClient('site') ? htmlentities($uploadUrl, 0, 'UTF-8', 0) : $uploadUrl; + $uploadUrl = $this->app->isClient('site') ? htmlentities($uploadUrl, ENT_NOQUOTES, 'UTF-8', false) : $uploadUrl; Text::script('PLG_TINY_ERR_UNSUPPORTEDBROWSER'); Text::script('ERROR'); From f6d20fcc25dd93e54481f27d5a5359ffb074a855 Mon Sep 17 00:00:00 2001 From: Allon Moritz Date: Thu, 24 Mar 2022 21:13:03 +0100 Subject: [PATCH 08/31] Check if var to escape is null (#37319) --- libraries/src/MVC/View/HtmlView.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libraries/src/MVC/View/HtmlView.php b/libraries/src/MVC/View/HtmlView.php index e3eefc1bd2e..e73192a5586 100644 --- a/libraries/src/MVC/View/HtmlView.php +++ b/libraries/src/MVC/View/HtmlView.php @@ -253,6 +253,11 @@ class HtmlView extends AbstractView */ public function escape($var) { + if ($var === null) + { + return ''; + } + return htmlspecialchars($var, ENT_QUOTES, $this->_charset); } From fff9e0340f7eff1c0ff64b957fcd6eb8269f393b Mon Sep 17 00:00:00 2001 From: Allon Moritz Date: Thu, 24 Mar 2022 21:25:49 +0100 Subject: [PATCH 09/31] [4.1] Check if string is null in hasKey function (#37324) * Check if string is null in hasKey function * early return --- libraries/src/Language/Language.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libraries/src/Language/Language.php b/libraries/src/Language/Language.php index e44a4c859f8..c11651602d2 100644 --- a/libraries/src/Language/Language.php +++ b/libraries/src/Language/Language.php @@ -1178,9 +1178,12 @@ class Language */ public function hasKey($string) { - $key = strtoupper($string); + if ($string === null) + { + return false; + } - return isset($this->strings[$key]); + return isset($this->strings[strtoupper($string)]); } /** From a7eb26455b61308f48aaa35c7d4ffb6bf20aaa94 Mon Sep 17 00:00:00 2001 From: Allon Moritz Date: Thu, 24 Mar 2022 21:55:57 +0100 Subject: [PATCH 10/31] Fix some null errors in contact list (#37349) --- components/com_contact/tmpl/category/default_items.php | 2 +- libraries/src/MVC/View/CategoryView.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/com_contact/tmpl/category/default_items.php b/components/com_contact/tmpl/category/default_items.php index 5e49a538a71..05229d773df 100644 --- a/components/com_contact/tmpl/category/default_items.php +++ b/components/com_contact/tmpl/category/default_items.php @@ -119,7 +119,7 @@ $listDirn = $this->escape($this->state->get('list.direction'));
- publish_up) > strtotime(Factory::getDate())) : ?> + publish_up && strtotime($item->publish_up) > strtotime(Factory::getDate())) : ?>
diff --git a/libraries/src/MVC/View/CategoryView.php b/libraries/src/MVC/View/CategoryView.php index 29685d13b03..52652d7f9e8 100644 --- a/libraries/src/MVC/View/CategoryView.php +++ b/libraries/src/MVC/View/CategoryView.php @@ -185,7 +185,7 @@ class CategoryView extends HtmlView $itemElement->event = new \stdClass; // For some plugins. - !empty($itemElement->description) ? $itemElement->text = $itemElement->description : $itemElement->text = null; + !empty($itemElement->description) ? $itemElement->text = $itemElement->description : $itemElement->text = ''; Factory::getApplication()->triggerEvent('onContentPrepare', [$this->extension . '.category', &$itemElement, &$itemElement->params, 0]); From 351495b84eddc2bd955ceab753cbdf820cfd6e6a Mon Sep 17 00:00:00 2001 From: Tuan Pham Ngoc Date: Fri, 25 Mar 2022 03:59:44 +0700 Subject: [PATCH 11/31] Fix warning on HTMLHelper::_('select.integerlist') (#37340) --- libraries/src/HTML/Helpers/Select.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/HTML/Helpers/Select.php b/libraries/src/HTML/Helpers/Select.php index 581ed751e8f..08eb6dc56d9 100644 --- a/libraries/src/HTML/Helpers/Select.php +++ b/libraries/src/HTML/Helpers/Select.php @@ -326,7 +326,7 @@ abstract class Select public static function integerlist($start, $end, $inc, $name, $attribs = null, $selected = null, $format = '') { // Set default options - $options = array_merge(HTMLHelper::$formatOptions, array('format.depth' => 0, 'option.format' => '', 'id' => null)); + $options = array_merge(HTMLHelper::$formatOptions, array('format.depth' => 0, 'option.format' => '', 'id' => false)); if (is_array($attribs) && func_num_args() === 5) { From a9ddaa5743a41ea64e5af95bb44f940535f42a41 Mon Sep 17 00:00:00 2001 From: Allon Moritz Date: Thu, 24 Mar 2022 22:11:41 +0100 Subject: [PATCH 12/31] Do not json decone return in login view (#37336) --- components/com_users/tmpl/login/default_login.php | 2 +- components/com_users/tmpl/login/default_logout.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/com_users/tmpl/login/default_login.php b/components/com_users/tmpl/login/default_login.php index f9518321385..5f5e2e6436b 100644 --- a/components/com_users/tmpl/login/default_login.php +++ b/components/com_users/tmpl/login/default_login.php @@ -108,7 +108,7 @@ $usersConfig = ComponentHelper::getParams('com_users');
- form->getValue('return', '', $this->params->get('login_redirect_url', $this->params->get('login_redirect_menuitem'))); ?> + form->getValue('return', '', $this->params->get('login_redirect_url', $this->params->get('login_redirect_menuitem', ''))); ?> diff --git a/components/com_users/tmpl/login/default_logout.php b/components/com_users/tmpl/login/default_logout.php index dcb130407eb..b361973392e 100644 --- a/components/com_users/tmpl/login/default_logout.php +++ b/components/com_users/tmpl/login/default_logout.php @@ -50,9 +50,9 @@ use Joomla\CMS\Router\Route; params->get('logout_redirect_url')) : ?> - + - + From 2fc6f15bf079bc87c22c6c56f80b38b468f2b037 Mon Sep 17 00:00:00 2001 From: Allon Moritz Date: Thu, 24 Mar 2022 22:30:08 +0100 Subject: [PATCH 13/31] Check if model has a value for direction (#37331) --- libraries/src/MVC/Model/ListModel.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/MVC/Model/ListModel.php b/libraries/src/MVC/Model/ListModel.php index 5d62f206ebd..6bb09b5e04d 100644 --- a/libraries/src/MVC/Model/ListModel.php +++ b/libraries/src/MVC/Model/ListModel.php @@ -631,7 +631,7 @@ class ListModel extends BaseDatabaseModel implements FormFactoryAwareInterface, // Check if the ordering direction is valid, otherwise use the incoming value. $value = $app->getUserStateFromRequest($this->context . '.orderdirn', 'filter_order_Dir', $direction); - if (!\in_array(strtoupper($value), array('ASC', 'DESC', ''))) + if (!$value || !\in_array(strtoupper($value), array('ASC', 'DESC', ''))) { $value = $direction; $app->setUserState($this->context . '.orderdirn', $value); From ac2cfe27e9b012a2b027e494cd1fd2628074d3aa Mon Sep 17 00:00:00 2001 From: Tuan Pham Ngoc Date: Fri, 25 Mar 2022 04:33:07 +0700 Subject: [PATCH 14/31] Fix Deprecated warning on plugin page (#37342) --- .../components/com_plugins/src/View/Plugin/HtmlView.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_plugins/src/View/Plugin/HtmlView.php b/administrator/components/com_plugins/src/View/Plugin/HtmlView.php index e4aae096941..019454e1ce1 100644 --- a/administrator/components/com_plugins/src/View/Plugin/HtmlView.php +++ b/administrator/components/com_plugins/src/View/Plugin/HtmlView.php @@ -101,7 +101,7 @@ class HtmlView extends BaseHtmlView $help = $this->get('Help'); - if ($lang->hasKey($help->url)) + if ($help->url && $lang->hasKey($help->url)) { $debug = $lang->setDebug(false); $url = Text::_($help->url); From 97c217e0ae3a556818eeb822e4914261f77aa99a Mon Sep 17 00:00:00 2001 From: Allon Moritz Date: Thu, 24 Mar 2022 22:34:13 +0100 Subject: [PATCH 15/31] Do not pass null to base64 decode in front form models (#37347) --- components/com_contact/src/Model/FormModel.php | 4 ++-- components/com_content/src/Model/FormModel.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/com_contact/src/Model/FormModel.php b/components/com_contact/src/Model/FormModel.php index 908c017ccca..8afefd64f50 100644 --- a/components/com_contact/src/Model/FormModel.php +++ b/components/com_contact/src/Model/FormModel.php @@ -138,7 +138,7 @@ class FormModel extends \Joomla\Component\Contact\Administrator\Model\ContactMod */ public function getReturnPage() { - return base64_encode($this->getState('return_page')); + return base64_encode($this->getState('return_page', '')); } /** @@ -190,7 +190,7 @@ class FormModel extends \Joomla\Component\Contact\Administrator\Model\ContactMod $this->setState('contact.catid', $app->input->getInt('catid')); - $return = $app->input->get('return', null, 'base64'); + $return = $app->input->get('return', '', 'base64'); $this->setState('return_page', base64_decode($return)); // Load the parameters. diff --git a/components/com_content/src/Model/FormModel.php b/components/com_content/src/Model/FormModel.php index b73b7b1c507..601ab1c517c 100644 --- a/components/com_content/src/Model/FormModel.php +++ b/components/com_content/src/Model/FormModel.php @@ -68,7 +68,7 @@ class FormModel extends \Joomla\Component\Content\Administrator\Model\ArticleMod $this->setState('article.catid', $app->input->getInt('catid', $catId)); - $return = $app->input->get('return', null, 'base64'); + $return = $app->input->get('return', '', 'base64'); $this->setState('return_page', base64_decode($return)); $this->setState('layout', $app->input->getString('layout')); @@ -178,7 +178,7 @@ class FormModel extends \Joomla\Component\Content\Administrator\Model\ArticleMod */ public function getReturnPage() { - return base64_encode($this->getState('return_page')); + return base64_encode($this->getState('return_page', '')); } /** From 9290658f1a27cf7837d2ecea1f23aea36bc0b7dd Mon Sep 17 00:00:00 2001 From: Stefan Wendhausen Date: Thu, 24 Mar 2022 22:41:15 +0100 Subject: [PATCH 16/31] fix Passing null to parameter (#37328) --- .../com_menus/src/Field/MenutypeField.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/administrator/components/com_menus/src/Field/MenutypeField.php b/administrator/components/com_menus/src/Field/MenutypeField.php index 11d7ed51f2a..c784466371f 100644 --- a/administrator/components/com_menus/src/Field/MenutypeField.php +++ b/administrator/components/com_menus/src/Field/MenutypeField.php @@ -75,15 +75,19 @@ class MenutypeField extends ListField default: $link = $this->form->getValue('link'); + $value = ''; - $model = Factory::getApplication()->bootComponent('com_menus') - ->getMVCFactory()->createModel('Menutypes', 'Administrator', array('ignore_request' => true)); - $model->setState('client_id', $clientId); + if ($link !== null) + { + $model = Factory::getApplication()->bootComponent('com_menus') + ->getMVCFactory()->createModel('Menutypes', 'Administrator', array('ignore_request' => true)); + $model->setState('client_id', $clientId); - $rlu = $model->getReverseLookup(); + $rlu = $model->getReverseLookup(); - // Clean the link back to the option, view and layout - $value = Text::_(ArrayHelper::getValue($rlu, MenusHelper::getLinkKey($link))); + // Clean the link back to the option, view and layout + $value = Text::_(ArrayHelper::getValue($rlu, MenusHelper::getLinkKey($link))); + } break; } From f9cb42d60e60d10b675ed735dcfe1aa10cdd360b Mon Sep 17 00:00:00 2001 From: Allon Moritz Date: Thu, 24 Mar 2022 22:44:15 +0100 Subject: [PATCH 17/31] Check if links are not null (#37325) --- .../com_menus/src/Model/ItemModel.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/administrator/components/com_menus/src/Model/ItemModel.php b/administrator/components/com_menus/src/Model/ItemModel.php index e43f52e8f0a..697d4f76bca 100644 --- a/administrator/components/com_menus/src/Model/ItemModel.php +++ b/administrator/components/com_menus/src/Model/ItemModel.php @@ -732,8 +732,12 @@ class ItemModel extends AdminModel $table->type = 'component'; // Ensure the integrity of the component_id field is maintained, particularly when changing the menu item type. - $args = array(); - parse_str(parse_url($table->link, PHP_URL_QUERY), $args); + $args = []; + + if ($table->link) + { + parse_str(parse_url($table->link, PHP_URL_QUERY), $args); + } if (isset($args['option'])) { @@ -1138,11 +1142,15 @@ class ItemModel extends AdminModel // Initialise form with component view params if available. if ($type == 'component') { - $link = htmlspecialchars_decode($link); + $link = $link ? htmlspecialchars_decode($link) : ''; // Parse the link arguments. - $args = array(); - parse_str(parse_url(htmlspecialchars_decode($link), PHP_URL_QUERY), $args); + $args = []; + + if ($link) + { + parse_str(parse_url(htmlspecialchars_decode($link), PHP_URL_QUERY), $args); + } // Confirm that the option is defined. $option = ''; From 0787d7de4a5414530f6ea0f1474648709708db3e Mon Sep 17 00:00:00 2001 From: Benjamin Trenkle Date: Thu, 24 Mar 2022 23:47:28 +0100 Subject: [PATCH 18/31] Bump to 4.1.1-rc2 --- administrator/manifests/files/joomla.xml | 2 +- libraries/src/Version.php | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 5677cf05186..ae784bd1614 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.1.1-rc2-dev + 4.1.1-rc2 March 2022 FILES_JOOMLA_XML_DESCRIPTION diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 69e9853662b..bde38c76967 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 = 'rc2-dev'; + const EXTRA_VERSION = 'rc2'; /** * 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 = '18-March-2022'; + const RELDATE = '25-March-2022'; /** * Release time. @@ -93,7 +93,7 @@ final class Version * @var string * @since 3.5 */ - const RELTIME = '20:38'; + const RELTIME = '11:00'; /** * Release timezone. From 144e546f0a2782582043df2f2a5d7797b98a66b6 Mon Sep 17 00:00:00 2001 From: Benjamin Trenkle Date: Fri, 25 Mar 2022 12:01:24 +0100 Subject: [PATCH 19/31] Revert 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 ae784bd1614..37d5245f739 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.1.1-rc2 + 4.1.1-rc3-dev March 2022 FILES_JOOMLA_XML_DESCRIPTION diff --git a/libraries/src/Version.php b/libraries/src/Version.php index bde38c76967..9e13e80c6ad 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 = 'rc2'; + const EXTRA_VERSION = 'rc3-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 = '11:00'; + const RELTIME = '23:27'; /** * Release timezone. From 48262afb6e6676de099ba0d2439555422e1d2cc4 Mon Sep 17 00:00:00 2001 From: Allon Moritz Date: Sat, 26 Mar 2022 08:52:02 +0100 Subject: [PATCH 20/31] Add alias for old router class names in container --- libraries/src/Service/Provider/Router.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/src/Service/Provider/Router.php b/libraries/src/Service/Provider/Router.php index 91716ca500e..74374d8a376 100644 --- a/libraries/src/Service/Provider/Router.php +++ b/libraries/src/Service/Provider/Router.php @@ -37,6 +37,7 @@ class Router implements ServiceProviderInterface public function register(Container $container) { $container->alias('SiteRouter', SiteRouter::class) + ->alias('JRouterSite', SiteRouter::class) ->share( SiteRouter::class, function (Container $container) @@ -47,6 +48,7 @@ class Router implements ServiceProviderInterface ); $container->alias('AdministratorRouter', AdministratorRouter::class) + ->alias('JRouterAdministrator', AdministratorRouter::class) ->share( AdministratorRouter::class, function (Container $container) From 47eac7179a52fd777b670fdd78b682f3449e64dd Mon Sep 17 00:00:00 2001 From: Allon Moritz Date: Sat, 26 Mar 2022 16:46:16 +0100 Subject: [PATCH 21/31] [4.2] Handle extensions when the installer script doesn't return a boolean (#37374) * Handle extensions when the installer script doesn't retun a boolean * check if file exists * Add a deprecate message --- libraries/src/Installer/InstallerAdapter.php | 16 ++++- .../src/Installer/LegacyInstallerScript.php | 71 ++++++++++--------- 2 files changed, 52 insertions(+), 35 deletions(-) diff --git a/libraries/src/Installer/InstallerAdapter.php b/libraries/src/Installer/InstallerAdapter.php index 717a3779bfe..0b5ab3018d7 100644 --- a/libraries/src/Installer/InstallerAdapter.php +++ b/libraries/src/Installer/InstallerAdapter.php @@ -1037,8 +1037,20 @@ abstract class InstallerAdapter implements ContainerAwareInterface // The real location of the file $manifestScriptFile = $this->parent->getPath('source') . '/' . $manifestScript; - // Load the file - $installer = require_once $manifestScriptFile; + $installer = null; + + // Load the installer from the file + if (!file_exists($manifestScriptFile)) + { + @trigger_error( + 'Installer file must exist when defined. In version 5.0 this will crash.', + E_USER_DEPRECATED + ); + + return; + } + + require_once $manifestScriptFile; // When the instance is a service provider, then register the container with it if ($installer instanceof ServiceProviderInterface) diff --git a/libraries/src/Installer/LegacyInstallerScript.php b/libraries/src/Installer/LegacyInstallerScript.php index 8cfbc375811..1bf1f365ff8 100644 --- a/libraries/src/Installer/LegacyInstallerScript.php +++ b/libraries/src/Installer/LegacyInstallerScript.php @@ -42,12 +42,7 @@ class LegacyInstallerScript implements InstallerScriptInterface */ public function install(InstallerAdapter $adapter): bool { - if (!method_exists($this->installerScript, 'install')) - { - return true; - } - - return (bool) $this->installerScript->install($adapter); + return $this->callOnScript('install', [$adapter]); } /** @@ -61,12 +56,7 @@ class LegacyInstallerScript implements InstallerScriptInterface */ public function update(InstallerAdapter $adapter): bool { - if (!method_exists($this->installerScript, 'update')) - { - return true; - } - - return (bool) $this->installerScript->update($adapter); + return $this->callOnScript('update', [$adapter]); } /** @@ -80,12 +70,7 @@ class LegacyInstallerScript implements InstallerScriptInterface */ public function uninstall(InstallerAdapter $adapter): bool { - if (!method_exists($this->installerScript, 'uninstall')) - { - return true; - } - - return (bool) $this->installerScript->uninstall($adapter); + return $this->callOnScript('uninstall', [$adapter]); } /** @@ -100,12 +85,7 @@ class LegacyInstallerScript implements InstallerScriptInterface */ public function preflight(string $type, InstallerAdapter $adapter): bool { - if (!method_exists($this->installerScript, 'preflight')) - { - return true; - } - - return (bool) $this->installerScript->preflight($type, $adapter); + return $this->callOnScript('preflight', [$type, $adapter]); } /** @@ -120,12 +100,7 @@ class LegacyInstallerScript implements InstallerScriptInterface */ public function postflight(string $type, InstallerAdapter $adapter): bool { - if (!method_exists($this->installerScript, 'postflight')) - { - return true; - } - - return (bool) $this->installerScript->postflight($type, $adapter); + return $this->callOnScript('postflight', [$type, $adapter]); } /** @@ -158,17 +133,47 @@ class LegacyInstallerScript implements InstallerScriptInterface } /** - * Calls the function with the given name on the internal script. + * Calls the function with the given name on the internal script with + * the given name and arguments. * * @param string $name The name of the function * @param array $arguments The arguments * - * @return void + * @return mixed * * @since __DEPLOY_VERSION__ */ public function __call(string $name, array $arguments) { - return call_user_func([$this->installerScript, $name], $arguments); + return call_user_func_array([$this->installerScript, $name], $arguments); + } + + /** + * Calls the function with the given name on the internal script with + * some condition checking. + * + * @param string $name The name of the function + * @param array $arguments The arguments + * + * @return bool + * + * @since __DEPLOY_VERSION__ + */ + private function callOnScript(string $name, array $arguments): bool + { + if (!method_exists($this->installerScript, $name)) + { + return true; + } + + $return = $this->__call($name, $arguments); + + // When function doesn't have a return value, assume it succeeded + if ($return === null) + { + return true; + } + + return (bool) $return; } } From b431620c7f88c6802313cc383aec6ed5e7524a85 Mon Sep 17 00:00:00 2001 From: heelc29 <66922325+heelc29@users.noreply.github.com> Date: Sun, 27 Mar 2022 01:40:24 +0900 Subject: [PATCH 22/31] remove duplicate WebAssetManager (#37379) --- .../components/com_content/tmpl/articles/default.php | 4 ---- .../components/com_content/tmpl/featured/default.php | 4 ---- .../components/com_menus/tmpl/menus/default.php | 9 ++------- .../components/com_scheduler/tmpl/tasks/default.php | 10 +++------- 4 files changed, 5 insertions(+), 22 deletions(-) diff --git a/administrator/components/com_content/tmpl/articles/default.php b/administrator/components/com_content/tmpl/articles/default.php index bf8dece08e4..599b0ec9237 100644 --- a/administrator/components/com_content/tmpl/articles/default.php +++ b/administrator/components/com_content/tmpl/articles/default.php @@ -59,10 +59,6 @@ if ($saveOrder && !empty($this->items)) HTMLHelper::_('draggablelist.draggable'); } -/** @var \Joomla\CMS\WebAsset\WebAssetManager $wa */ -$wa = $this->document->getWebAssetManager(); -$wa->useScript('multiselect'); - $workflow_enabled = ComponentHelper::getParams('com_content')->get('workflow_enabled'); $workflow_state = false; $workflow_featured = false; diff --git a/administrator/components/com_content/tmpl/featured/default.php b/administrator/components/com_content/tmpl/featured/default.php index 8ee10558f4b..5ca431d64fe 100644 --- a/administrator/components/com_content/tmpl/featured/default.php +++ b/administrator/components/com_content/tmpl/featured/default.php @@ -60,10 +60,6 @@ if ($saveOrder && !empty($this->items)) HTMLHelper::_('draggablelist.draggable'); } -/** @var \Joomla\CMS\WebAsset\WebAssetManager $wa */ -$wa = $this->document->getWebAssetManager(); -$wa->useScript('multiselect'); - $workflow_enabled = ComponentHelper::getParams('com_content')->get('workflow_enabled'); $workflow_state = false; $workflow_featured = false; diff --git a/administrator/components/com_menus/tmpl/menus/default.php b/administrator/components/com_menus/tmpl/menus/default.php index b58d96da243..29d4da506d5 100644 --- a/administrator/components/com_menus/tmpl/menus/default.php +++ b/administrator/components/com_menus/tmpl/menus/default.php @@ -18,7 +18,8 @@ use Joomla\CMS\Uri\Uri; /** @var \Joomla\CMS\WebAsset\WebAssetManager $wa */ $wa = $this->document->getWebAssetManager(); $wa->useScript('table.columns') - ->useScript('multiselect'); + ->useScript('multiselect') + ->useScript('com_menus.admin-menus'); $uri = Uri::getInstance(); $return = base64_encode($uri); @@ -37,12 +38,6 @@ foreach ($this->items as $item) } $this->document->addScriptOptions('menus-default', ['items' => $itemIds]); - -/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ -$wa = $this->document->getWebAssetManager(); -$wa->useScript('multiselect') - ->useScript('com_menus.admin-menus'); - ?>
diff --git a/administrator/components/com_scheduler/tmpl/tasks/default.php b/administrator/components/com_scheduler/tmpl/tasks/default.php index ab4595e3a53..1d6f32b66a5 100644 --- a/administrator/components/com_scheduler/tmpl/tasks/default.php +++ b/administrator/components/com_scheduler/tmpl/tasks/default.php @@ -25,7 +25,9 @@ use Joomla\Component\Scheduler\Administrator\View\Tasks\HtmlView; /** @var \Joomla\CMS\WebAsset\WebAssetManager $wa */ $wa = $this->document->getWebAssetManager(); $wa->useScript('table.columns') - ->useScript('multiselect'); + ->useScript('multiselect') + ->useScript('com_scheduler.test-task') + ->useStyle('com_scheduler.admin-view-tasks-css'); Text::script('COM_SCHEDULER_TEST_RUN_TITLE'); Text::script('COM_SCHEDULER_TEST_RUN_TASK'); @@ -65,12 +67,6 @@ if ($saveOrder && !empty($this->items)) } $this->document->addScriptOptions('com_scheduler.test-task.token', Session::getFormToken()); - -/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ -$wa = $this->document->getWebAssetManager(); -$wa->useScript('multiselect') - ->useScript('com_scheduler.test-task') - ->useStyle('com_scheduler.admin-view-tasks-css'); ?> Date: Sat, 26 Mar 2022 18:25:56 +0100 Subject: [PATCH 23/31] Add ability to save an article from the frontend without being redirected (#37312) (#37362) --- components/com_content/src/Controller/ArticleController.php | 6 ++++++ components/com_content/tmpl/form/edit.php | 6 +++++- language/en-GB/joomla.ini | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/components/com_content/src/Controller/ArticleController.php b/components/com_content/src/Controller/ArticleController.php index 2c440673ce2..b6005eb5b9a 100644 --- a/components/com_content/src/Controller/ArticleController.php +++ b/components/com_content/src/Controller/ArticleController.php @@ -367,6 +367,12 @@ class ArticleController extends FormController public function save($key = null, $urlVar = 'a_id') { $result = parent::save($key, $urlVar); + + if (\in_array($this->getTask(), ['save2copy', 'apply'], true)) + { + return $result; + } + $app = Factory::getApplication(); $articleId = $app->input->getInt('a_id'); diff --git a/components/com_content/tmpl/form/edit.php b/components/com_content/tmpl/form/edit.php index 5b5865023f3..1437c88d145 100644 --- a/components/com_content/tmpl/form/edit.php +++ b/components/com_content/tmpl/form/edit.php @@ -157,10 +157,14 @@ if (!$editoroptions)
- + showSaveAsCopy) : ?>