Make use of Mailbox::getAddressForMailto()
authorTim Düsterhus <duesterhus@woltlab.com>
Tue, 19 Sep 2023 09:03:28 +0000 (11:03 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Tue, 19 Sep 2023 09:03:28 +0000 (11:03 +0200)
see WoltLab/WCF#5660

files/lib/page/LegalNoticePage.class.php

index 380166725bc0ccf3f7ba0592f2b5651d3e4711ea..6c7a65ee43ca93340eb8112044962715d47356e3 100644 (file)
@@ -2,6 +2,7 @@
 
 namespace wcf\page;
 
+use wcf\system\email\Mailbox;
 use wcf\system\request\LinkHandler;
 use wcf\system\WCF;
 use wcf\util\StringUtil;
@@ -10,7 +11,7 @@ use wcf\util\StringUtil;
  * Shows the legal notice page.
  *
  * @author  Marcel Werk
- * @copyright   2001-2022 WoltLab GmbH
+ * @copyright   2001-2023 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  */
 final class LegalNoticePage extends AbstractPage
@@ -34,9 +35,16 @@ final class LegalNoticePage extends AbstractPage
     {
         parent::assignVariables();
 
+        try {
+            $uri = (new Mailbox(LEGAL_NOTICE_EMAIL_ADDRESS))
+                ->getAddressForMailto();
+        } catch (\DomainException) {
+            $uri = LEGAL_NOTICE_EMAIL_ADDRESS;
+        }
+
         WCF::getTPL()->assign([
             'encodedEmailAddress' => StringUtil::encodeAllChars(LEGAL_NOTICE_EMAIL_ADDRESS),
-            'encodedUriEmailAddress' => StringUtil::encodeAllChars(\rawurlencode(LEGAL_NOTICE_EMAIL_ADDRESS)),
+            'encodedUriEmailAddress' => StringUtil::encodeAllChars($uri),
         ]);
     }
 }