diff --git a/.appveyor.yml b/.appveyor.yml index d0f2184d4f95c..40911f2de72a9 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -8,15 +8,8 @@ clone_folder: C:\projects\joomla-cms environment: PHPBuild: "x64" matrix: - - php_ver_target: 7.2 - - php_ver_target: 7.3 - - php_ver_target: 7.4 - php_ver_target: 8.0 - - php_ver_target: 8.1 -matrix: - allow_failures: - - php_ver_target: 8.1 init: - SET PATH=C:\Tools\php;%PATH% diff --git a/administrator/components/com_cache/config.xml b/administrator/components/com_cache/config.xml index 746566a455e80..0d1bea3cac3d0 100644 --- a/administrator/components/com_cache/config.xml +++ b/administrator/components/com_cache/config.xml @@ -13,6 +13,7 @@ filter="rules" validate="rules" component="com_cache" - section="component" /> + section="component" + /> diff --git a/administrator/components/com_config/forms/application.xml b/administrator/components/com_config/forms/application.xml index e6cb17bc4b168..8b3121127b842 100644 --- a/administrator/components/com_config/forms/application.xml +++ b/administrator/components/com_config/forms/application.xml @@ -49,7 +49,7 @@ filter="integer" validate="number" showon="caching:1,2" - /> + /> + filter="string" + /> - - - - - - - - - - + > + + + + + + + + + + + /> + /> @@ -738,6 +739,7 @@ name="float_intro" type="text" label="COM_CONTENT_FIELD_IMAGE_CLASS_LABEL" + description="COM_CONTENT_FIELD_IMAGE_CLASS_DESC" useglobal="true" /> diff --git a/administrator/components/com_content/forms/filter_featured.xml b/administrator/components/com_content/forms/filter_featured.xml index eb1dcd5191dc3..57dd11cfc613a 100644 --- a/administrator/components/com_content/forms/filter_featured.xml +++ b/administrator/components/com_content/forms/filter_featured.xml @@ -94,7 +94,7 @@ step="1" languages="*" onchange="this.form.submit();" - > + > diff --git a/administrator/components/com_finder/forms/filter.xml b/administrator/components/com_finder/forms/filter.xml index 129c39f6baf2f..a016bb62341f4 100644 --- a/administrator/components/com_finder/forms/filter.xml +++ b/administrator/components/com_finder/forms/filter.xml @@ -66,7 +66,7 @@ readonly="true" filter="unset" validate="UserId" - /> + /> +
@@ -201,6 +202,7 @@
+
diff --git a/administrator/components/com_media/config.xml b/administrator/components/com_media/config.xml index 273091e1b5904..e712d9f750704 100644 --- a/administrator/components/com_media/config.xml +++ b/administrator/components/com_media/config.xml @@ -142,6 +142,6 @@ validate="rules" component="com_media" section="component" - /> + /> diff --git a/administrator/components/com_media/src/Provider/ProviderManager.php b/administrator/components/com_media/src/Provider/ProviderManager.php index 8f2c38d228ba4..5b852e6567028 100644 --- a/administrator/components/com_media/src/Provider/ProviderManager.php +++ b/administrator/components/com_media/src/Provider/ProviderManager.php @@ -11,6 +11,7 @@ \defined('_JEXEC') or die; +use Joomla\CMS\Language\Text; use Joomla\Component\Media\Administrator\Adapter\AdapterInterface; /** @@ -96,7 +97,7 @@ public function getProvider($id) { if (!isset($this->providers[$id])) { - throw new \Exception("Media Provider not found"); + throw new \Exception(Text::_('COM_MEDIA_ERROR_MEDIA_PROVIDER_NOT_FOUND')); } return $this->providers[$id]; @@ -119,14 +120,14 @@ public function getAdapter($name) if ($account == null) { - throw new \Exception('Account was not set'); + throw new \Exception(Text::_('COM_MEDIA_ERROR_ACCOUNT_NOT_SET')); } $adapters = $this->getProvider($provider)->getAdapters(); if (!isset($adapters[$account])) { - throw new \Exception("The account was not found"); + throw new \Exception(Text::_('COM_MEDIA_ERROR_ACCOUNT_NOT_FOUND')); } return $adapters[$account]; diff --git a/administrator/components/com_media/src/Provider/ProviderManagerHelperTrait.php b/administrator/components/com_media/src/Provider/ProviderManagerHelperTrait.php index fb178eddf30f3..7c95165602386 100644 --- a/administrator/components/com_media/src/Provider/ProviderManagerHelperTrait.php +++ b/administrator/components/com_media/src/Provider/ProviderManagerHelperTrait.php @@ -13,6 +13,7 @@ use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Factory; +use Joomla\CMS\Language\Text; use Joomla\CMS\Plugin\PluginHelper; use Joomla\Component\Media\Administrator\Adapter\AdapterInterface; use Joomla\Component\Media\Administrator\Event\MediaProviderEvent; @@ -117,7 +118,7 @@ protected function resolveAdapterAndPath(String $path): array if (!$this->getDefaultAdapterName()) { - throw new \InvalidArgumentException('No adapter found'); + throw new \InvalidArgumentException(Text::_('COM_MEDIA_ERROR_NO_ADAPTER_FOUND')); } // If we have less than 2 parts, we return a default adapter name diff --git a/administrator/components/com_media/src/View/File/HtmlView.php b/administrator/components/com_media/src/View/File/HtmlView.php index b01a6a1a069a5..1681758459c89 100644 --- a/administrator/components/com_media/src/View/File/HtmlView.php +++ b/administrator/components/com_media/src/View/File/HtmlView.php @@ -49,7 +49,7 @@ public function display($tpl = null) if (empty($this->file->content)) { // @todo error handling controller redirect files - throw new \Exception('No content available!'); + throw new \Exception(Text::_('COM_MEDIA_ERROR_NO_CONTENT_AVAILABLE')); } $this->addToolbar(); diff --git a/administrator/components/com_menus/forms/item_component.xml b/administrator/components/com_menus/forms/item_component.xml index 96a176dbffa20..99ab1cc9880e6 100644 --- a/administrator/components/com_menus/forms/item_component.xml +++ b/administrator/components/com_menus/forms/item_component.xml @@ -42,7 +42,8 @@ type="radio" label="COM_MENUS_ITEM_FIELD_MENU_TEXT_LABEL" layout="joomla.form.field.radio.switcher" - default="1" filter="integer" + default="1" + filter="integer" > diff --git a/administrator/components/com_privacy/services/provider.php b/administrator/components/com_privacy/services/provider.php index 72ff9d6a97843..fc62cfaf46de2 100644 --- a/administrator/components/com_privacy/services/provider.php +++ b/administrator/components/com_privacy/services/provider.php @@ -9,10 +9,12 @@ defined('_JEXEC') or die; +use Joomla\CMS\Component\Router\RouterFactoryInterface; use Joomla\CMS\Dispatcher\ComponentDispatcherFactoryInterface; use Joomla\CMS\Extension\ComponentInterface; use Joomla\CMS\Extension\Service\Provider\ComponentDispatcherFactory; use Joomla\CMS\Extension\Service\Provider\MVCFactory; +use Joomla\CMS\Extension\Service\Provider\RouterFactory; use Joomla\CMS\HTML\Registry; use Joomla\CMS\MVC\Factory\MVCFactoryInterface; use Joomla\Component\Privacy\Administrator\Extension\PrivacyComponent; @@ -39,6 +41,7 @@ public function register(Container $container) { $container->registerServiceProvider(new MVCFactory('\\Joomla\\Component\\Privacy')); $container->registerServiceProvider(new ComponentDispatcherFactory('\\Joomla\\Component\\Privacy')); + $container->registerServiceProvider(new RouterFactory('\\Joomla\\Component\\Privacy')); $container->set( ComponentInterface::class, @@ -48,6 +51,7 @@ function (Container $container) $component->setMVCFactory($container->get(MVCFactoryInterface::class)); $component->setRegistry($container->get(Registry::class)); + $component->setRouterFactory($container->get(RouterFactoryInterface::class)); return $component; } diff --git a/administrator/components/com_privacy/src/Extension/PrivacyComponent.php b/administrator/components/com_privacy/src/Extension/PrivacyComponent.php index 8a473a3536ea9..d270d19b49cc0 100644 --- a/administrator/components/com_privacy/src/Extension/PrivacyComponent.php +++ b/administrator/components/com_privacy/src/Extension/PrivacyComponent.php @@ -11,6 +11,8 @@ \defined('JPATH_PLATFORM') or die; +use Joomla\CMS\Component\Router\RouterServiceInterface; +use Joomla\CMS\Component\Router\RouterServiceTrait; use Joomla\CMS\Extension\BootableExtensionInterface; use Joomla\CMS\Extension\MVCComponent; use Joomla\CMS\HTML\HTMLRegistryAwareTrait; @@ -22,9 +24,10 @@ * * @since 4.0.0 */ -class PrivacyComponent extends MVCComponent implements BootableExtensionInterface +class PrivacyComponent extends MVCComponent implements BootableExtensionInterface, RouterServiceInterface { use HTMLRegistryAwareTrait; + use RouterServiceTrait; /** * Booting the extension. This is the function to set up the environment of the extension like diff --git a/administrator/components/com_redirect/forms/link.xml b/administrator/components/com_redirect/forms/link.xml index 28eda985d6b10..12b8f37dd99cc 100644 --- a/administrator/components/com_redirect/forms/link.xml +++ b/administrator/components/com_redirect/forms/link.xml @@ -8,7 +8,7 @@ default="0" readonly="true" class="readonly" - /> + /> + /> getTemplate()) { $app = Factory::getApplication(); - $path = $this->getBasePath();; + $path = $this->getBasePath(); $fileName = File::makeSafe($file['name']); $err = null; diff --git a/administrator/components/com_users/config.xml b/administrator/components/com_users/config.xml index 076712da0eaaa..bd592e9b4d0d9 100644 --- a/administrator/components/com_users/config.xml +++ b/administrator/components/com_users/config.xml @@ -264,23 +264,23 @@ -
-
diff --git a/administrator/language/en-GB/com_installer.ini b/administrator/language/en-GB/com_installer.ini index cbddc1fa23709..612558a268461 100644 --- a/administrator/language/en-GB/com_installer.ini +++ b/administrator/language/en-GB/com_installer.ini @@ -156,7 +156,7 @@ COM_INSTALLER_MSG_INSTALL_WARNINSTALLZLIB="The installer can't continue until Zl COM_INSTALLER_MSG_LANGUAGES_CANT_FIND_REMOTE_MANIFEST="The installer can't get the URL to the XML manifest file of the %s language." COM_INSTALLER_MSG_LANGUAGES_CANT_FIND_REMOTE_PACKAGE="The installer can't get the URL to the remote %s language." COM_INSTALLER_MSG_LANGUAGES_NOLANGUAGES="There are no available languages to install at the moment. Please select the "Find languages" button to check for updates on the Joomla! Languages server. You will need an internet connection for this to work." -COM_INSTALLER_MSG_LANGUAGES_TRY_LATER="Try again later or contact the language team coordinator." +COM_INSTALLER_MSG_LANGUAGES_TRY_LATER="Try again later or contact the language team coordinator." COM_INSTALLER_MSG_N_DATABASE_ERROR_PANEL="%d Database Problems Found." COM_INSTALLER_MSG_N_DATABASE_ERROR_PANEL_1="One Database Problem Found." COM_INSTALLER_MSG_UPDATE_ERROR="Error updating %s." @@ -176,7 +176,7 @@ COM_INSTALLER_MSG_UPDATESITES_REBUILD_SUCCESS="Update sites have been rebuilt fr COM_INSTALLER_MSG_UPDATESITES_REBUILD_WARNING="Update sites have been rebuilt. No extension with updates sites discovered." COM_INSTALLER_MSG_WARNING_NO_LANGUAGES_UPDATESERVER="The update table is not up to date. Please rebuild your update server table" COM_INSTALLER_MSG_WARNINGFURTHERINFO="Further information on warnings" -COM_INSTALLER_MSG_WARNINGFURTHERINFODESC="For more information see the Joomla! Documentation Site." +COM_INSTALLER_MSG_WARNINGFURTHERINFODESC="For more information see the Joomla! Documentation Site." COM_INSTALLER_MSG_WARNINGS_FILEUPLOADISDISABLEDDESC="File uploads are required to upload extensions with the installer." COM_INSTALLER_MSG_WARNINGS_FILEUPLOADSDISABLED="File uploads disabled." COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTSET="The Joomla temporary folder is not set." diff --git a/administrator/language/en-GB/com_languages.ini b/administrator/language/en-GB/com_languages.ini index b3a3ad372aa82..c6c66ef2880ed 100644 --- a/administrator/language/en-GB/com_languages.ini +++ b/administrator/language/en-GB/com_languages.ini @@ -69,20 +69,22 @@ COM_LANGUAGES_MULTILANGSTATUS_CONTENT_LANGUAGE_MISSING="The %s COM_LANGUAGES_MULTILANGSTATUS_CONTENT_LANGUAGE_PUBLISHED="Published Content Languages" COM_LANGUAGES_MULTILANGSTATUS_CONTENT_LANGUAGE_SEF_MISSING="The \"URL Language Code\" is missing for the %s Content Language. The multilingual feature may not function properly or the site may not be reachable!" COM_LANGUAGES_MULTILANGSTATUS_CONTENT_LANGUAGE_TRASHED="The %s Content Language is trashed. The language will not display on the site." +COM_LANGUAGES_MULTILANGSTATUS_CONTENT_TABLE_CAPTION="Table of the status for each content language." COM_LANGUAGES_MULTILANGSTATUS_DEFAULT_HOME_MODULE_PUBLISHED="The menu module displaying the Home menu item set to language "All" should not be published." COM_LANGUAGES_MULTILANGSTATUS_ERROR_CONTENT_LANGUAGE="A Default Home page is assigned to the %s Content Language although a Site Language for this Content Language is not installed or enabled AND/OR the Content Language is not published. The language will not display on the site." COM_LANGUAGES_MULTILANGSTATUS_ERROR_DEFAULT_CONTENT_LANGUAGE="The Content Language for the %s default Site Language is unpublished or does not exist. The multilingual feature may not function properly or the site may not be reachable!" COM_LANGUAGES_MULTILANGSTATUS_ERROR_LANGUAGE_TAG="The Content Language tag %s does not have a matching Site Language tag. Check that the Site Language is installed and enabled AND the correct language tag is used for the Content Language. Example: for English (en-GB) both tags should be 'en-GB'. The language will not display on the site." -COM_LANGUAGES_MULTILANGSTATUS_HOME_UNPUBLISHED="The Default Home page assigned to the %s Content Language is unpublished. The language will not display on the site." COM_LANGUAGES_MULTILANGSTATUS_HOMES_PUBLISHED="Published Default Home pages" COM_LANGUAGES_MULTILANGSTATUS_HOMES_PUBLISHED_ALL="1 assigned to language 'All'." COM_LANGUAGES_MULTILANGSTATUS_HOMES_PUBLISHED_INCLUDING_ALL="Published Default Home pages (including 1 assigned to language "All")." +COM_LANGUAGES_MULTILANGSTATUS_HOME_UNPUBLISHED="The Default Home page assigned to the %s Content Language is unpublished. The language will not display on the site." COM_LANGUAGES_MULTILANGSTATUS_LANGSWITCHER_PUBLISHED="Published Language Switcher Modules." COM_LANGUAGES_MULTILANGSTATUS_LANGSWITCHER_UNPUBLISHED="At least one Language Switcher module set to language "All" has to be published. Otherwise, it will be impossible to switch languages on the site. Disregard this message if you do not use a language switcher module but direct links." COM_LANGUAGES_MULTILANGSTATUS_LANGUAGEFILTER="Language Filter Plugin" COM_LANGUAGES_MULTILANGSTATUS_LANGUAGEFILTER_DISABLED="The Language Filter plugin is not enabled although one or more Language Switcher modules AND/OR one or more specific Content language Default Home pages are published." COM_LANGUAGES_MULTILANGSTATUS_NONE="This site is not set as a multilingual site." COM_LANGUAGES_MULTILANGSTATUS_SITE_LANG_PUBLISHED="Enabled Site Languages" +COM_LANGUAGES_MULTILANGSTATUS_TABLE_CAPTION="Table of the multilingual status." COM_LANGUAGES_MULTILANGSTATUS_USELESS_HOMES="This site is not set as a multilingual site.
Note: at least one Default Home page is assigned to a Content Language. This will not break a monolingual site but is useless." COM_LANGUAGES_N_ITEMS_DELETED="%d Content Languages deleted." COM_LANGUAGES_N_ITEMS_DELETED_1="Content Language deleted." diff --git a/administrator/language/en-GB/com_media.ini b/administrator/language/en-GB/com_media.ini index d23c6c8f904f5..1a000702e8451 100644 --- a/administrator/language/en-GB/com_media.ini +++ b/administrator/language/en-GB/com_media.ini @@ -24,6 +24,11 @@ COM_MEDIA_DELETE_SUCCESS="Item deleted." COM_MEDIA_DROP_FILE="Drop file(s) to Upload" COM_MEDIA_EDIT="Media Edit" COM_MEDIA_ERROR="An error occurred." +COM_MEDIA_ERROR_ACCOUNT_NOT_FOUND="The account was not found" +COM_MEDIA_ERROR_ACCOUNT_NOT_SET="Account was not set." +COM_MEDIA_ERROR_MEDIA_PROVIDER_NOT_FOUND="Media Provider not found." +COM_MEDIA_ERROR_NO_ADAPTER_FOUND="No adapter found." +COM_MEDIA_ERROR_NO_CONTENT_AVAILABLE="No content available!" COM_MEDIA_ERROR_NO_PROVIDERS="No filesystem providers have been found. Please enable at least one filesystem plugin." COM_MEDIA_ERROR_NOT_AUTHENTICATED="You are not authenticated. Please login." COM_MEDIA_ERROR_NOT_AUTHORIZED="You are not authorised" diff --git a/administrator/language/en-GB/joomla.ini b/administrator/language/en-GB/joomla.ini index 5f96f9bbab9ec..e7ec82863bffc 100644 --- a/administrator/language/en-GB/joomla.ini +++ b/administrator/language/en-GB/joomla.ini @@ -202,6 +202,7 @@ JFIELD_ALIAS_LABEL="Alias" JFIELD_ALIAS_PLACEHOLDER="Auto-generate from title" JFIELD_ALT_COMPONENT_LAYOUT_DESC="Use a layout from the supplied component view or overrides in the templates." JFIELD_ALT_LAYOUT_LABEL="Layout" +; Deprecated, will be removed with 5.0 JFIELD_ALT_MODULE_LAYOUT_DESC="Use a layout from the supplied module or overrides in the templates." JFIELD_ALT_PAGE_TITLE_DESC="An optional alternative page title to set that will change the TITLE tag in the HTML output." JFIELD_ALT_PAGE_TITLE_LABEL="Alternative Page Title" @@ -645,7 +646,7 @@ JGLOBAL_SHOW_READMORE_LABEL=""Read More" Link" JGLOBAL_SHOW_READMORE_LIMIT_DESC="Set a limit of number of characters in Article Title to show in Read More button." JGLOBAL_SHOW_READMORE_LIMIT_LABEL="Read More Limit (characters)" JGLOBAL_SHOW_READMORE_TITLE_DESC="If set to show the title of the Article will be shown on the Read More button." -JGLOBAL_SHOW_READMORE_TITLE_LABEL="Title with Read More" +JGLOBAL_SHOW_READMORE_TITLE_LABEL="Read More with Title" JGLOBAL_SHOW_SUBCATEGORIES_DESCRIPTION_DESC="Show or hide the subcategories descriptions." JGLOBAL_SHOW_SUBCATEGORIES_DESCRIPTION_LABEL="Subcategories Descriptions" JGLOBAL_SHOW_SUBCATEGORY_CONTENT_DESC="If None, only articles from this category will show. If a number, all articles from the category and the subcategories up to and including that level will show in the blog." diff --git a/administrator/modules/mod_custom/mod_custom.xml b/administrator/modules/mod_custom/mod_custom.xml index 8da47896dc3fc..1eb2bd8c21539 100644 --- a/administrator/modules/mod_custom/mod_custom.xml +++ b/administrator/modules/mod_custom/mod_custom.xml @@ -44,7 +44,7 @@ type="modulelayout" label="JFIELD_ALT_LAYOUT_LABEL" class="form-select" - /> + /> + /> + /> + /> + /> diff --git a/administrator/modules/mod_loginsupport/mod_loginsupport.xml b/administrator/modules/mod_loginsupport/mod_loginsupport.xml index 36beb6c3c0452..cac87888b3c9e 100644 --- a/administrator/modules/mod_loginsupport/mod_loginsupport.xml +++ b/administrator/modules/mod_loginsupport/mod_loginsupport.xml @@ -55,18 +55,6 @@ class="form-select" /> - - - - - + + + + + + /> + /> + /> diff --git a/administrator/modules/mod_sampledata/mod_sampledata.xml b/administrator/modules/mod_sampledata/mod_sampledata.xml index 0aff7ad8ee3d7..5f948a4f5f24c 100644 --- a/administrator/modules/mod_sampledata/mod_sampledata.xml +++ b/administrator/modules/mod_sampledata/mod_sampledata.xml @@ -30,7 +30,6 @@ name="layout" type="modulelayout" label="JFIELD_ALT_LAYOUT_LABEL" - description="JFIELD_ALT_MODULE_LAYOUT_DESC" class="form-select" validate="moduleLayout" /> diff --git a/administrator/modules/mod_title/mod_title.xml b/administrator/modules/mod_title/mod_title.xml index 9fc51999312e1..0cca740153613 100644 --- a/administrator/modules/mod_title/mod_title.xml +++ b/administrator/modules/mod_title/mod_title.xml @@ -27,7 +27,7 @@ label="JFIELD_ALT_LAYOUT_LABEL" class="form-select" validate="moduleLayout" - /> + /> + /> + /> {}, false); @@ -127,7 +135,7 @@ if (container) { const ajaxOptions = { url, method: 'POST', - data: getOrderData(rows, inputRows, dragElementIndex, dropElementIndex).join('&'), + data: `${new URLSearchParams(formData).toString()}&${getOrderData(rows, inputRows, dragElementIndex, dropElementIndex).join('&')}`, perform: true, }; diff --git a/build/media_source/system/js/fields/joomla-media-select.w-c.es6.js b/build/media_source/system/js/fields/joomla-media-select.w-c.es6.js index f50ef67639081..eb57c56e50061 100644 --- a/build/media_source/system/js/fields/joomla-media-select.w-c.es6.js +++ b/build/media_source/system/js/fields/joomla-media-select.w-c.es6.js @@ -197,8 +197,7 @@ const insertAsImage = async (media, editor, fieldClass) => { Joomla.selectedMediaFile.width = 0; } } - editor.value = `${Joomla.selectedMediaFile.url}#joomlaImage://${media.path.replace(':', '')}?width=${Joomla.selectedMediaFile.width}&height=${Joomla.selectedMediaFile.height}`; - fieldClass.updatePreview(); + fieldClass.setValue(`${Joomla.selectedMediaFile.url}#joomlaImage://${media.path.replace(':', '')}?width=${Joomla.selectedMediaFile.width}&height=${Joomla.selectedMediaFile.height}`); } } }; @@ -256,9 +255,8 @@ const insertAsOther = (media, editor, fieldClass, type) => { Joomla.editors.instances[editor].replaceSelection(outputText); } else { - editor.value = Joomla.selectedMediaFile.url; fieldClass.givenType = type; - fieldClass.updatePreview(); + fieldClass.setValue(Joomla.selectedMediaFile.url); } } }; diff --git a/components/com_contact/tmpl/category/default.xml b/components/com_contact/tmpl/category/default.xml index d46edb7fda2ef..b398b62dc3503 100644 --- a/components/com_contact/tmpl/category/default.xml +++ b/components/com_contact/tmpl/category/default.xml @@ -326,22 +326,22 @@ - - - - - - - - - - + name="contacts_display_num" + type="list" + label="COM_CONTACT_NUMBER_CONTACTS_LIST_LABEL" + useglobal="true" + validate="options" + > + + + + + + + + + + - diff --git a/components/com_content/tmpl/categories/default.xml b/components/com_content/tmpl/categories/default.xml index e11f0c42b7527..1435e7d84372e 100644 --- a/components/com_content/tmpl/categories/default.xml +++ b/components/com_content/tmpl/categories/default.xml @@ -12,7 +12,7 @@
+ > JGLOBAL_TITLE - - + +
+ > active) && $item->active) : ?> text)); ?>
  • - +
  • diff --git a/libraries/src/Form/Field/CalendarField.php b/libraries/src/Form/Field/CalendarField.php index 428ca5a236f63..099c66b1d33a2 100644 --- a/libraries/src/Form/Field/CalendarField.php +++ b/libraries/src/Form/Field/CalendarField.php @@ -274,7 +274,17 @@ protected function getInput() { $tz = date_default_timezone_get(); date_default_timezone_set('UTC'); - $this->value = strftime($this->format, strtotime($this->value)); + + if ($this->filterFormat) + { + $date = \DateTimeImmutable::createFromFormat('U', strtotime($this->value)); + $this->value = $date->format($this->filterFormat); + } + else + { + $this->value = strftime($this->format, strtotime($this->value)); + } + date_default_timezone_set($tz); } else diff --git a/modules/mod_articles_popular/mod_articles_popular.xml b/modules/mod_articles_popular/mod_articles_popular.xml index 74f959edaad6a..3c0496cc10b69 100644 --- a/modules/mod_articles_popular/mod_articles_popular.xml +++ b/modules/mod_articles_popular/mod_articles_popular.xml @@ -121,7 +121,7 @@ label="JFIELD_ALT_LAYOUT_LABEL" class="form-select" validate="moduleLayout" - /> + /> app->getLanguage()->hasKey($messageLanguageKey)) { $messageLanguageKey = $defaultLanguageKey; @@ -172,7 +172,7 @@ public function onContentAfterDelete($context, $article): void return; } - // If the content type has it own language key, use it, otherwise, use default language key + // If the content type has its own language key, use it, otherwise, use default language key if ($this->app->getLanguage()->hasKey(strtoupper($params->text_prefix . '_' . $params->type_title . '_DELETED'))) { $messageLanguageKey = $params->text_prefix . '_' . $params->type_title . '_DELETED'; @@ -255,7 +255,7 @@ public function onContentChangeState($context, $pks, $value) break; } - // If the content type doesn't has it own language key, use default language key + // If the content type doesn't have its own language key, use default language key if (!$this->app->getLanguage()->hasKey($messageLanguageKey)) { $messageLanguageKey = $defaultLanguageKey; @@ -357,7 +357,7 @@ public function onExtensionAfterInstall($installer, $eid) $extensionType = $manifest->attributes()->type; - // If the extension type has it own language key, use it, otherwise, use default language key + // If the extension type has its own language key, use it, otherwise, use default language key if ($this->app->getLanguage()->hasKey(strtoupper('PLG_ACTIONLOG_JOOMLA_' . $extensionType . '_INSTALLED'))) { $messageLanguageKey = 'PLG_ACTIONLOG_JOOMLA_' . $extensionType . '_INSTALLED'; @@ -415,7 +415,7 @@ public function onExtensionAfterUninstall($installer, $eid, $result) $extensionType = $manifest->attributes()->type; - // If the extension type has it own language key, use it, otherwise, use default language key + // If the extension type has its own language key, use it, otherwise, use default language key if ($this->app->getLanguage()->hasKey(strtoupper('PLG_ACTIONLOG_JOOMLA_' . $extensionType . '_UNINSTALLED'))) { $messageLanguageKey = 'PLG_ACTIONLOG_JOOMLA_' . $extensionType . '_UNINSTALLED'; @@ -466,7 +466,7 @@ public function onExtensionAfterUpdate($installer, $eid) $extensionType = $manifest->attributes()->type; - // If the extension type has it own language key, use it, otherwise, use default language key + // If the extension type has its own language key, use it, otherwise, use default language key if ($this->app->getLanguage()->hasKey('PLG_ACTIONLOG_JOOMLA_' . $extensionType . '_UPDATED')) { $messageLanguageKey = 'PLG_ACTIONLOG_JOOMLA_' . $extensionType . '_UPDATED'; diff --git a/plugins/editors/tinymce/forms/setoptions.xml b/plugins/editors/tinymce/forms/setoptions.xml index 173057a45c543..990d5a79c30a2 100644 --- a/plugins/editors/tinymce/forms/setoptions.xml +++ b/plugins/editors/tinymce/forms/setoptions.xml @@ -326,7 +326,7 @@ icon="list" multiple="true" default='' - > + >
  • diff --git a/plugins/system/tasknotification/tasknotification.php b/plugins/system/tasknotification/tasknotification.php index 8be57ffd4faaf..2d4f57354cbee 100644 --- a/plugins/system/tasknotification/tasknotification.php +++ b/plugins/system/tasknotification/tasknotification.php @@ -242,7 +242,7 @@ public function notifyFatalRecovery(Event $event): void */ private function getDataFromTask(Task $task): array { - $lockOrExecTime = Factory::getDate($task->get('locked') ?? $task->get('last_execution'))->toRFC822(); + $lockOrExecTime = Factory::getDate($task->get('locked') ?? $task->get('last_execution'))->format(Text::_('DATE_FORMAT_LC2')); return [ 'TASK_ID' => $task->get('id'),