<category name="message.general.imageProxy">
<parent>message.general</parent>
</category>
+ <category name="message.general.unfurl">
+ <parent>message.general</parent>
+ </category>
<category name="message.attachment">
<parent>message</parent>
</category>
<optiontype>lineBreakSeparatedText</optiontype>
</option>
<!-- /message.general.image -->
+ <!-- message.general.unfurl -->
+ <option name="module_url_unfurling">
+ <categoryname>message.general.unfurl</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>1</defaultvalue>
+ </option>
+ <!-- /message.general.unfurl -->
<!-- message.censorship -->
<option name="enable_censorship">
<categoryname>message.censorship</categoryname>
\define('MESSAGE_ENABLE_USER_CONSENT', 1);
\define('MODIFICATION_LOG_EXPIRATION', 0);
\define('INTERNAL_HOSTNAMES', '');
+\define('MODULE_URL_UNFURLING', 1);
EventHandler::getInstance()->fireAction($this, 'convertPlainLinks');
$isWorkerAction = \class_exists(AbstractWorker::class, false);
- if (!$isWorkerAction) {
+ if (MODULE_URL_UNFURLING && !$isWorkerAction) {
foreach ($this->plainLinks as $plainLink) {
if ($plainLink->isPristine()) {
HtmlNodeUnfurlLink::setUnfurl($plainLink);
$this->invokeHtmlNode(new HtmlOutputNodeWoltlabMetacode());
- $this->invokeHtmlNode(new HtmlOutputUnfurlUrlNode());
+ if (MODULE_URL_UNFURLING) {
+ $this->invokeHtmlNode(new HtmlOutputUnfurlUrlNode());
+ }
// dynamic node handlers
$this->invokeNodeHandlers('wcf\system\html\output\node\HtmlOutputNode', ['woltlab-metacode']);
<item name="wcf.acp.option.type.lineBreakSeparatedText.placeholder"><![CDATA[Neuen Eintrag hinzufügen]]></item>
<item name="wcf.acp.option.type.lineBreakSeparatedText.error.duplicate"><![CDATA[Der Eintrag <strong>{$item}</strong> existiert bereits.]]></item>
<item name="wcf.acp.option.type.lineBreakSeparatedText.clearList.confirmMessage"><![CDATA[{if LANGUAGE_USE_INFORMAL_VARIANT}Willst du{else}Wollen Sie{/if} alle Einträge wirklich löschen?]]></item>
+ <item name="wcf.acp.option.category.message.general.unfurl"><![CDATA[Rich Embeds]]></item>
+ <item name="wcf.acp.option.module_url_unfurling"><![CDATA[Rich Embeds aktivieren]]></item>
+ <item name="wcf.acp.option.module_url_unfurling.description"><![CDATA[Erzeugt eine Vorschau mit Titel, Beschreibung und Bild für externe Links in Nachrichten.]]></item>
</category>
<category name="wcf.acp.customOption">
<item name="wcf.acp.customOption.list"><![CDATA[Eingabefelder]]></item>
<item name="wcf.acp.option.show_update_notice_frontend"><![CDATA[Display a notice for outstanding updates on the frontend]]></item>
<item name="wcf.acp.option.url_omit_index_php"><![CDATA[Enable url-rewrite]]></item>
<item name="wcf.acp.option.url_omit_index_php.button.runTestAgain"><![CDATA[Rerun Test]]></item>
- <item name="wcf.acp.option.url_omit_index_php.description"><![CDATA[Attention! This option requires a rewrite module installed on your webserver and an appropriate configuration; It will not work without any prior configuration applied by you! Please read the following article for instructions: <a href="https://www.woltlab.com/article/25-setting-up-user-friendly-urls/" class="externalURL">Setting up user friendly URLs</a>. Enabling this option will rewrite URLs into a better readable representation. Examples:
+ <item name="wcf.acp.option.url_omit_index_php.description"><![CDATA[Attention! This option requires a rewrite module installed on your webserver and an appropriate configuration; It will not work without any prior configuration applied by you! Please read the following article for instructions: <a href="https://www.woltlab.com/article/25-setting-up-user-friendly-urls/" class="externalURL">Setting up user friendly URLs</a>. Enabling this option will rewrite URLs into a better readable representation. Examples:
<ul class="nativeList">
<li>the link “https://example.com/index.php?thread/1-hello-i-am-john-doe/” will turn into “https://example.com/thread/1-hello-i-am-john-doe/”</li>
<li>the link “https://example.com/index.php?members-list/” will turn into “https://example.com/members-list/”</li>
<item name="wcf.acp.option.type.lineBreakSeparatedText.placeholder"><![CDATA[Add new entry]]></item>
<item name="wcf.acp.option.type.lineBreakSeparatedText.error.duplicate"><![CDATA[The entry <strong>{$item}</strong> already exists.]]></item>
<item name="wcf.acp.option.type.lineBreakSeparatedText.clearList.confirmMessage"><![CDATA[Do you really want to delete all entries?]]></item>
+ <item name="wcf.acp.option.category.message.general.unfurl"><![CDATA[Rich Embeds]]></item>
+ <item name="wcf.acp.option.module_url_unfurling"><![CDATA[Enable Rich Embeds]]></item>
+ <item name="wcf.acp.option.module_url_unfurling.description"><![CDATA[Creates a preview with title, description and image for external links in messages.]]></item>
</category>
<category name="wcf.acp.customOption">
<item name="wcf.acp.customOption.list"><![CDATA[Option Fields]]></item>