Merge branch '6.0'
authorAlexander Ebert <ebert@woltlab.com>
Sun, 10 Mar 2024 14:14:32 +0000 (15:14 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Sun, 10 Mar 2024 14:14:32 +0000 (15:14 +0100)
14 files changed:
1  2 
com.woltlab.wcf/package.xml
com.woltlab.wcf/templates/messageOptionType.tpl
ts/WoltLabSuite/Core/Ajax/Backend.ts
wcfsetup/install/files/acp/templates/userAdd.tpl
wcfsetup/install/files/js/WCF.Message.js
wcfsetup/install/files/js/WoltLabSuite/Core/Ajax/Backend.js
wcfsetup/install/files/lib/acp/form/UserAddForm.class.php
wcfsetup/install/files/lib/acp/form/UserEditForm.class.php
wcfsetup/install/files/lib/system/WCF.class.php
wcfsetup/install/files/lib/system/html/node/HtmlNodeUnfurlLink.class.php
wcfsetup/install/files/lib/system/option/RadioButtonOptionType.class.php
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml
wcfsetup/setup/db/install.sql

Simple merge
index c176a4ea42b43edc1b0fbc9ad0ac9aed8bc7ffb5,7e5127f1162e7b3acf285eb18c79e15e0b0fdcbb..3647f324626b7107bc0619258a499cda88408262
@@@ -1,5 -1,5 +1,5 @@@
- <textarea id="{$option->optionName}" name="values[{$option->optionName}]" cols="40" rows="10"{if $option->required} required{/if} class="wysiwygTextarea" data-disable-attachments="true">{$value}</textarea>
+ <textarea id="{$option->optionName}" name="values[{$option->optionName}]" cols="40" rows="10" class="wysiwygTextarea" data-disable-attachments="true">{$value}</textarea>
 -{include file='wysiwyg' wysiwygSelector=$option->optionName}
 +{include file='shared_wysiwyg' wysiwygSelector=$option->optionName}
  
  <script data-relocate="true">
  $(function() {
Simple merge
index 4db76324efc86d912b755e342b05a5f99786d676,91d9ec924d63084763f2a93755b0160bce4d50d8..62ab6118f6dba15864885b0cb777ebd14bde0ab6
                                                                </small>
                                                        {/if}
  
 -                                                      {include file='wysiwyg' wysiwygSelector='signature'}
 +                                                      {include file='shared_wysiwyg' wysiwygSelector='signature'}
+                                                       {include file='messageFormTabs' wysiwygContainerID='signature'}
                                                </dd>
                                        </dl>
  
index 1e9b727451ba52241ccba95661e6144081beffe5,b538d0459132f828e38965b7cb116eda26f9bab6..fd1094c61f5d9d3fb9d71c525b90dd88f2c050c1
@@@ -11,7 -14,7 +14,8 @@@ use wcf\system\database\util\PreparedSt
  use wcf\system\exception\UserInputException;
  use wcf\system\html\input\HtmlInputProcessor;
  use wcf\system\language\LanguageFactory;
+ use wcf\system\message\embedded\object\MessageEmbeddedObjectManager;
 +use wcf\system\option\user\UserOptionHandler;
  use wcf\system\request\LinkHandler;
  use wcf\system\WCF;
  use wcf\util\ArrayUtil;
@@@ -302,8 -358,14 +341,14 @@@ class UserAddForm extends UserOptionLis
          $this->signature = $this->disableSignatureReason = '';
          $this->groupIDs = [];
          $this->languageID = $this->getDefaultFormLanguageID();
 -        /** @noinspection PhpUndefinedMethodInspection */
 +        \assert($this->optionHandler instanceof UserOptionHandler);
          $this->optionHandler->resetOptionValues();
+         // Reload attachment handler to reset the uploaded attachments.
+         $this->attachmentHandler = new AttachmentHandler(
+             $this->attachmentObjectType,
+             $this->attachmentObjectID,
+             $this->tmpHash
+         );
      }
  
      /**
index 594a816a79949071eaf2818b6181eae5ce521397,36d29c391f0a3dfe3989661c96e28e0987de2ba7..052a05cd949e465f412225fd87bc602e8176bf4b
@@@ -16,8 -16,8 +16,9 @@@ use wcf\system\cache\runtime\UserProfil
  use wcf\system\exception\IllegalLinkException;
  use wcf\system\exception\PermissionDeniedException;
  use wcf\system\exception\UserInputException;
+ use wcf\system\message\embedded\object\MessageEmbeddedObjectManager;
  use wcf\system\moderation\queue\ModerationQueueManager;
 +use wcf\system\option\user\UserOptionHandler;
  use wcf\system\style\StyleHandler;
  use wcf\system\user\command\SetColorScheme;
  use wcf\system\user\multifactor\Setup;
index ecbda8bb969ea31aa4104fc9af830b73efd47ea5,58e10a641ec8d34f9cbb51bf3f53c4dbf66dcbb9..8cfd051fba1faa42267b836193c5ebbd43299f36
@@@ -1953,8 -1953,9 +1953,9 @@@ Die Datenbestände werden sorgfältig g
                <item name="wcf.acp.package.validation.errorCode.28"><![CDATA[Die &lt;packageinformation&gt; enthalten das doppelte Element „{$tag}“.]]></item>
                <item name="wcf.acp.package.validation.errorCode.29"><![CDATA[Es wurde keine Paketversion angegeben.]]></item>
                <item name="wcf.acp.package.validation.errorCode.30"><![CDATA[Es wurde keine Paketdatum angegeben.]]></item>
+               <item name="wcf.acp.package.validation.errorCode.31"><![CDATA[Die Datei „package.xml“ ist ungültig{if $libxmlOutput}: {$libxmlOutput}{/if}.]]></item>
                <item name="wcf.acp.package.validation.failed"><![CDATA[Das hochgeladene Paket kann nicht installiert werden, bitte {if LANGUAGE_USE_INFORMAL_VARIANT}beachte{else}beachten Sie{/if} das unten stehende Prüfungsergebnis.]]></item>
 -              <item name="wcf.acp.package.evaluation.expired"><![CDATA[Die Testphase von <strong>{$packageName}</strong> ist abgelaufen. Bitte aktualisiere{if !LANGUAGE_USE_INFORMAL_VARIANT}n Sie{/if} auf die aktuelle Version, um diese Software weiterhin legal betreiben zu können.{if $pluginStoreFileID || $isWoltLab}<br>{if LANGUAGE_USE_INFORMAL_VARIANT}Du kannst{else}Sie können{/if} die aktuelle Version sicher und bequem <strong>{if $pluginStoreFileID}<a href="https://pluginstore.woltlab.com/file/{$pluginStoreFileID}/">im WoltLab Plugin-Store</a>{else}<a href="https://www.woltlab.com/de/kaufen/">auf WoltLab.com</a>{/if}</strong> erwerben.{/if}]]></item>
 +              <item name="wcf.acp.package.evaluation.expired"><![CDATA[Die Testphase von <strong>{$packageName}</strong> ist abgelaufen. {if $pluginStoreFileID || $isWoltLab}<br>{if LANGUAGE_USE_INFORMAL_VARIANT}Du kannst{else}Sie können{/if} die aktuelle Version sicher und bequem <strong>{if $pluginStoreFileID}<a href="https://pluginstore.woltlab.com/file/{$pluginStoreFileID}/">im WoltLab Plugin-Store</a>{else}<a href="https://www.woltlab.com/de/kaufen/">auf WoltLab.com</a>{/if}</strong> erwerben.{/if}]]></item>
                <item name="wcf.acp.package.evaluation.pending"><![CDATA[Bei den folgenden installierten Apps handelt es sich um Testversionen, die am <strong>{$evaluationEndDate|plainTime}</strong> ({@$evaluationEndDate|dateDiff:TIME_NOW:true}) ablaufen. Mit Ablauf der Frist deaktiviert sich die App automatisch, es ist dann notwendig diese auf die endgültige Version zu aktualisieren, um den legalen Betrieb fortzusetzen.
  <ul class="nativeList">
        {foreach from=$pendingApps item=pendingApp}
index a1a976a4709a77a4c6ad348e1596e54fd3a53ef4,db07c7fc71c105c2ae2fe145014012d7911ea456..dac14004be8bb7be6e3e3f78a6d596fb59989655
@@@ -1936,8 -1936,9 +1936,9 @@@ The database is carefully maintained, b
                <item name="wcf.acp.package.validation.errorCode.28"><![CDATA[The &lt;packageinformation&gt; contain the duplicate child element “{$tag}”.]]></item>
                <item name="wcf.acp.package.validation.errorCode.29"><![CDATA[No package version was given.]]></item>
                <item name="wcf.acp.package.validation.errorCode.30"><![CDATA[No package date was given.]]></item>
+               <item name="wcf.acp.package.validation.errorCode.31"><![CDATA[The file “package.xml” is invalid{if $libxmlOutput}: {$libxmlOutput}{/if}.]]></item>
                <item name="wcf.acp.package.validation.failed"><![CDATA[The package cannot be installed, please review the validation results below.]]></item>
 -              <item name="wcf.acp.package.evaluation.expired"><![CDATA[The evaluation period of <strong>{$packageName}</strong> has expired. For a legal use of this software, please update to the latest available version.{if $pluginStoreFileID || $isWoltLab}<br>The latest version can be purchased quickly and securely <strong>{if $pluginStoreFileID}<a href="https://pluginstore.woltlab.com/file/{$pluginStoreFileID}/">in the WoltLab Plugin-Store</a>{else}<a href="https://www.woltlab.com/en/purchase/">on WoltLab.com</a>{/if}</strong>.{/if}]]></item>
 +              <item name="wcf.acp.package.evaluation.expired"><![CDATA[The evaluation period of <strong>{$packageName}</strong> has expired. {if $pluginStoreFileID || $isWoltLab}<br>The latest version can be purchased quickly and securely <strong>{if $pluginStoreFileID}<a href="https://pluginstore.woltlab.com/file/{$pluginStoreFileID}/">in the WoltLab Plugin-Store</a>{else}<a href="https://www.woltlab.com/en/purchase/">on WoltLab.com</a>{/if}</strong>.{/if}]]></item>
                <item name="wcf.acp.package.evaluation.pending"><![CDATA[The evaluation period of the apps listed below will expire on <strong>{$evaluationEndDate|plainTime}</strong> ({@$evaluationEndDate|dateDiff:TIME_NOW:true}). The apps will automatically disable themselves after this date and become unusable, you'll need to install the latest versions of the apps to active them again.
  <ul class="nativeList">
        {foreach from=$pendingApps item=pendingApp}
Simple merge