diff --git a/com.woltlab.wcf/files_pre_check.tar b/com.woltlab.wcf/files_pre_check.tar index 9c2ddaae91c..bcd5a8c02a3 100644 Binary files a/com.woltlab.wcf/files_pre_check.tar and b/com.woltlab.wcf/files_pre_check.tar differ diff --git a/com.woltlab.wcf/mediaProvider.xml b/com.woltlab.wcf/mediaProvider.xml index d6f9ad599e1..1229a439f66 100644 --- a/com.woltlab.wcf/mediaProvider.xml +++ b/com.woltlab.wcf/mediaProvider.xml @@ -47,7 +47,7 @@ https?://vimeo\.com/groups/[^/]+/videos/(?P\d+)/?(?P(?(?<=/)[a-zA-Z0-9 Spotify [a-zA-Z]+)/(?[0-9a-zA-Z]+) https?://open.spotify.com/(.*/|)(?[a-zA-Z]+)/(?[0-9a-zA-Z]+)]]> - ]]> + ]]> Twitch diff --git a/com.woltlab.wcf/package.xml b/com.woltlab.wcf/package.xml index f0fb6364698..46ae275bc2c 100644 --- a/com.woltlab.wcf/package.xml +++ b/com.woltlab.wcf/package.xml @@ -53,6 +53,7 @@ acp/update_com.woltlab.wcf_6.0_initBootstrap.php + + acp/update_com.woltlab.wcf_6.0_articleOrphans.php + @@ -94,11 +98,8 @@ tar cvf com.woltlab.wcf/files_pre_check.tar -C wcfsetup/install/files/ \ acp/update_com.woltlab.wcf_6.0_landingPage.php - - acp/update_com.woltlab.wcf_6.0_articleOrphans.php - - acp/database/update_com.woltlab.wcf_6.0_reaction_fk_step1.php + acp/update_com.woltlab.wcf_6.0_reaction_fk_step1.php acp/database/update_com.woltlab.wcf_6.0_reaction_fk_step2.php acp/database/update_com.woltlab.wcf_6.0.php diff --git a/com.woltlab.wcf/templates/article.tpl b/com.woltlab.wcf/templates/article.tpl index b47c55bf03f..329e1864352 100644 --- a/com.woltlab.wcf/templates/article.tpl +++ b/com.woltlab.wcf/templates/article.tpl @@ -157,7 +157,7 @@ {event name='beforeArticleContent'}
getReactionHandler()->getDataAttributes('com.woltlab.wcf.likeableArticle', $article->articleID)}> -
+
{if MODULE_WCF_AD} {@$__wcf->getAdHandler()->getAds('com.woltlab.wcf.article.inArticle')} {/if} diff --git a/ts/WoltLabSuite/Core/Date/Util.ts b/ts/WoltLabSuite/Core/Date/Util.ts index 508320715d3..4ed39a5d3c9 100644 --- a/ts/WoltLabSuite/Core/Date/Util.ts +++ b/ts/WoltLabSuite/Core/Date/Util.ts @@ -13,7 +13,6 @@ const dateFormatter = new Intl.DateTimeFormat(locale, { dateStyle: "long" }); const timeFormatter = new Intl.DateTimeFormat(locale, { hour: "numeric", minute: "numeric", - second: "numeric", }); const dateTimeFormatter = new Intl.DateTimeFormat(locale, { year: "numeric", @@ -21,7 +20,6 @@ const dateTimeFormatter = new Intl.DateTimeFormat(locale, { month: "long", hour: "numeric", minute: "numeric", - second: "numeric", }); /** diff --git a/ts/WoltLabSuite/Core/Language/Input.ts b/ts/WoltLabSuite/Core/Language/Input.ts index 81c0381f4e7..b4eaf2601b2 100644 --- a/ts/WoltLabSuite/Core/Language/Input.ts +++ b/ts/WoltLabSuite/Core/Language/Input.ts @@ -28,7 +28,7 @@ type Values = Map; export type InputOrTextarea = HTMLInputElement | HTMLTextAreaElement; -type CallbackEvent = "select" | "submit"; +type CallbackEvent = "beforeSelect" | "select" | "submit"; type Callback = (element: InputOrTextarea) => void; interface ElementData { @@ -194,6 +194,11 @@ function select(elementId: string, languageId: number, isInit: boolean): void { const values = _values.get(elementId)!; if (data.languageId) { + const beforeSelect = data.callbacks.get("beforeSelect"); + if (beforeSelect) { + beforeSelect(data.element); + } + values.set(data.languageId, data.element.value); } diff --git a/ts/WoltLabSuite/Core/Language/Text.ts b/ts/WoltLabSuite/Core/Language/Text.ts index 2755bfc53b8..1b69af96a21 100644 --- a/ts/WoltLabSuite/Core/Language/Text.ts +++ b/ts/WoltLabSuite/Core/Language/Text.ts @@ -42,4 +42,7 @@ export function init( LanguageInput.registerCallback(elementId, "select", callbackSelect); LanguageInput.registerCallback(elementId, "submit", callbackSubmit); + + // CKEditor does not permanently mirror the contents to the