Add dashboard box for credits
authorMarcel Werk <burntime@woltlab.com>
Sun, 1 Oct 2023 14:28:45 +0000 (16:28 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Sun, 24 Dec 2023 16:05:10 +0000 (17:05 +0100)
com.woltlab.wcf/templates/creditsAcpDashboardBox.tpl [new file with mode: 0644]
wcfsetup/install/files/acp/templates/creditsAcpDashboardBox.tpl [new file with mode: 0644]
wcfsetup/install/files/acp/templates/index.tpl
wcfsetup/install/files/lib/bootstrap/com.woltlab.wcf.php
wcfsetup/install/files/lib/system/acp/dashboard/box/CreditsAcpDashboardBox.class.php [new file with mode: 0644]
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml

diff --git a/com.woltlab.wcf/templates/creditsAcpDashboardBox.tpl b/com.woltlab.wcf/templates/creditsAcpDashboardBox.tpl
new file mode 100644 (file)
index 0000000..e6b216b
--- /dev/null
@@ -0,0 +1,59 @@
+<dl>
+       <dt>{lang}wcf.acp.index.credits.developedBy{/lang}</dt>
+       <dd><a href="https://www.woltlab.com/{if $__wcf->getLanguage()->getFixedLanguageCode() === 'de'}de/{/if}" class="externalURL"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank" rel="noopener"{/if}>WoltLab&reg; GmbH</a></dd>
+</dl>
+
+<dl>
+       <dt>{lang}wcf.acp.index.credits.productManager{/lang}</dt>
+       <dd>
+               <ul class="inlineList commaSeparated">
+                       <li>Marcel Werk</li>
+               </ul>
+       </dd>
+</dl>
+
+<dl>
+       <dt>{lang}wcf.acp.index.credits.developer{/lang}</dt>
+       <dd>
+               <ul class="inlineList commaSeparated">
+                       <li>Tim D&uuml;sterhus</li>
+                       <li>Alexander Ebert</li>
+                       <li>Joshua R&uuml;sweg</li>
+                       <li>Matthias Schmidt</li>
+                       <li>Marcel Werk</li>
+               </ul>
+       </dd>
+</dl>
+
+<dl>
+       <dt>{lang}wcf.acp.index.credits.designer{/lang}</dt>
+       <dd>
+               <ul class="inlineList commaSeparated">
+                       <li>Alexander Ebert</li>
+                       <li>Marcel Werk</li>
+               </ul>
+       </dd>
+</dl>
+
+<dl>
+       <dt>{lang}wcf.acp.index.credits.contributor{/lang}</dt>
+       <dd>
+               <ul class="inlineList commaSeparated">
+                       <li>Andrea Berg</li>
+                       <li>Thorsten Buitkamp</li>
+                       <li>
+                               <a href="https://github.com/WoltLab/WCF/contributors" class="externalURL"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank" rel="noopener"{/if}>{lang}wcf.acp.index.credits.contributor.more{/lang}</a>
+                       </li>
+               </ul>
+       </dd>
+</dl>
+
+<dl>
+       <dt></dt>
+       <dd>Copyright &copy; 2001-{TIME_NOW|date:'Y'} WoltLab&reg; GmbH. All rights reserved.</dd>
+</dl>
+
+<dl>
+       <dt></dt>
+       <dd>{lang}wcf.acp.index.credits.trademarks{/lang}</dd>
+</dl>
diff --git a/wcfsetup/install/files/acp/templates/creditsAcpDashboardBox.tpl b/wcfsetup/install/files/acp/templates/creditsAcpDashboardBox.tpl
new file mode 100644 (file)
index 0000000..8326d9a
--- /dev/null
@@ -0,0 +1,59 @@
+<dl>
+       <dt>{lang}wcf.acp.dashboard.box.credits.developedBy{/lang}</dt>
+       <dd><a href="https://www.woltlab.com/{if $__wcf->getLanguage()->getFixedLanguageCode() === 'de'}de/{/if}" class="externalURL"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank" rel="noopener"{/if}>WoltLab&reg; GmbH</a></dd>
+</dl>
+
+<dl>
+       <dt>{lang}wcf.acp.dashboard.box.credits.productManager{/lang}</dt>
+       <dd>
+               <ul class="inlineList commaSeparated">
+                       <li>Marcel Werk</li>
+               </ul>
+       </dd>
+</dl>
+
+<dl>
+       <dt>{lang}wcf.acp.dashboard.box.credits.developer{/lang}</dt>
+       <dd>
+               <ul class="inlineList commaSeparated">
+                       <li>Tim D&uuml;sterhus</li>
+                       <li>Alexander Ebert</li>
+                       <li>Joshua R&uuml;sweg</li>
+                       <li>Matthias Schmidt</li>
+                       <li>Marcel Werk</li>
+               </ul>
+       </dd>
+</dl>
+
+<dl>
+       <dt>{lang}wcf.acp.dashboard.box.credits.designer{/lang}</dt>
+       <dd>
+               <ul class="inlineList commaSeparated">
+                       <li>Alexander Ebert</li>
+                       <li>Marcel Werk</li>
+               </ul>
+       </dd>
+</dl>
+
+<dl>
+       <dt>{lang}wcf.acp.dashboard.box.credits.contributor{/lang}</dt>
+       <dd>
+               <ul class="inlineList commaSeparated">
+                       <li>Andrea Berg</li>
+                       <li>Thorsten Buitkamp</li>
+                       <li>
+                               <a href="https://github.com/WoltLab/WCF/contributors" class="externalURL"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank" rel="noopener"{/if}>{lang}wcf.acp.dashboard.box.credits.contributor.more{/lang}</a>
+                       </li>
+               </ul>
+       </dd>
+</dl>
+
+<dl>
+       <dt></dt>
+       <dd>Copyright &copy; 2001-{TIME_NOW|date:'Y'} WoltLab&reg; GmbH. All rights reserved.</dd>
+</dl>
+
+<dl>
+       <dt></dt>
+       <dd>{lang}wcf.acp.dashboard.box.credits.trademarks{/lang}</dd>
+</dl>
index a8477dda74b7f3bc777ac05ad191a173300a1edd..c8415a182c536548526827ebfc5d484ef5736265 100644 (file)
        {/foreach}
 </div>
 
-<div class="section tabMenuContainer" data-active="credits" data-store="activeTabMenuItem">
-       <nav class="tabMenu">
-               <ul>
-                       <li><a href="#credits">{lang}wcf.acp.index.credits{/lang}</a></li>
-                       
-                       {event name='tabMenuTabs'}
-               </ul>
-       </nav>
-       
-       <div id="credits" class="hidden tabMenuContent">
-               <section class="section">
-                       <dl>
-                               <dt>{lang}wcf.acp.index.credits.developedBy{/lang}</dt>
-                               <dd><a href="https://www.woltlab.com/{if $__wcf->getLanguage()->getFixedLanguageCode() === 'de'}de/{/if}" class="externalURL"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank" rel="noopener"{/if}>WoltLab&reg; GmbH</a></dd>
-                       </dl>
-                       
-                       <dl>
-                               <dt>{lang}wcf.acp.index.credits.productManager{/lang}</dt>
-                               <dd>
-                                       <ul class="inlineList commaSeparated">
-                                               <li>Marcel Werk</li>
-                                       </ul>
-                               </dd>
-                       </dl>
-                       
-                       <dl>
-                               <dt>{lang}wcf.acp.index.credits.developer{/lang}</dt>
-                               <dd>
-                                       <ul class="inlineList commaSeparated">
-                                               <li>Tim D&uuml;sterhus</li>
-                                               <li>Alexander Ebert</li>
-                                               <li>Joshua R&uuml;sweg</li>
-                                               <li>Matthias Schmidt</li>
-                                               <li>Marcel Werk</li>
-                                       </ul>
-                               </dd>
-                       </dl>
-                       
-                       <dl>
-                               <dt>{lang}wcf.acp.index.credits.designer{/lang}</dt>
-                               <dd>
-                                       <ul class="inlineList commaSeparated">
-                                               <li>Alexander Ebert</li>
-                                               <li>Marcel Werk</li>
-                                       </ul>
-                               </dd>
-                       </dl>
-                       
-                       <dl>
-                               <dt>{lang}wcf.acp.index.credits.contributor{/lang}</dt>
-                               <dd>
-                                       <ul class="inlineList commaSeparated">
-                                               <li>Andrea Berg</li>
-                                               <li>Thorsten Buitkamp</li>
-                                               <li>
-                                                       <a href="https://github.com/WoltLab/WCF/contributors" class="externalURL"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank" rel="noopener"{/if}>{lang}wcf.acp.index.credits.contributor.more{/lang}</a>
-                                               </li>
-                                       </ul>
-                               </dd>
-                       </dl>
-                       
-                       <dl>
-                               <dt></dt>
-                               <dd>Copyright &copy; 2001-{TIME_NOW|date:'Y'} WoltLab&reg; GmbH. All rights reserved.</dd>
-                       </dl>
-                       
-                       <dl>
-                               <dt></dt>
-                               <dd>{lang}wcf.acp.index.credits.trademarks{/lang}</dd>
-                       </dl>
-               </section>
-       </div>
-       
-       {event name='tabMenuContents'}
-</div>
-
 {include file='footer'}
index 7fbf589183edb38badf94c7b86bc715b86140597..6ca2b95c95d8913c062f7e4d25b56ea19f480922 100644 (file)
@@ -1,5 +1,6 @@
 <?php
 
+use wcf\system\acp\dashboard\box\CreditsAcpDashboardBox;
 use wcf\system\acp\dashboard\box\NewsAcpDashboardBox;
 use wcf\system\acp\dashboard\box\SystemInfoAcpDashboardBox;
 use wcf\system\acp\dashboard\event\AcpDashboardCollecting;
@@ -79,6 +80,7 @@ return static function (): void {
     $eventHandler->register(AcpDashboardCollecting::class, static function (AcpDashboardCollecting $event) {
         $event->register('com.woltlab.wcf.news', new NewsAcpDashboardBox());
         $event->register('com.woltlab.wcf.systemInfo', new SystemInfoAcpDashboardBox());
+        $event->register('com.woltlab.wcf.credits', new CreditsAcpDashboardBox());
     });
 
     try {
diff --git a/wcfsetup/install/files/lib/system/acp/dashboard/box/CreditsAcpDashboardBox.class.php b/wcfsetup/install/files/lib/system/acp/dashboard/box/CreditsAcpDashboardBox.class.php
new file mode 100644 (file)
index 0000000..cbbb6f5
--- /dev/null
@@ -0,0 +1,25 @@
+<?php
+
+namespace wcf\system\acp\dashboard\box;
+
+use wcf\system\WCF;
+
+/**
+ * ACP dashboard box that shows credits.
+ *
+ * @author      Marcel Werk
+ * @copyright   2001-2023 WoltLab GmbH
+ * @license     GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ */
+final class CreditsAcpDashboardBox extends AbstractAcpDashboardBox
+{
+    public function getTitle(): string
+    {
+        return WCF::getLanguage()->get('wcf.acp.dashboard.box.credits');
+    }
+
+    public function getContent(): string
+    {
+        return WCF::getTPL()->fetch('creditsAcpDashboardBox');
+    }
+}
index b68846096de8d359540bfb541d95178a7ca39b69..6a16aff6bbeb4d39ed06f8d3783ff6f64ff7057c 100644 (file)
@@ -952,16 +952,16 @@ Sie erreichen das Fehlerprotokoll unter: {link controller='ExceptionLogView' isE
                <item name="wcf.acp.dashboard.box.systemInfo.php.version"><![CDATA[PHP-Version]]></item>
                <item name="wcf.acp.dashboard.box.systemInfo.mySQLVersion"><![CDATA[MySQL-Version]]></item>
                <item name="wcf.acp.dashboard.box.systemInfo.load"><![CDATA[Aktueller UNIX Load]]></item>
+               <item name="wcf.acp.dashboard.box.credits"><![CDATA[Über WoltLab Suite]]></item>
+               <item name="wcf.acp.dashboard.box.credits.contributor"><![CDATA[Mitwirkende]]></item>
+               <item name="wcf.acp.dashboard.box.credits.designer"><![CDATA[Design]]></item>
+               <item name="wcf.acp.dashboard.box.credits.developedBy"><![CDATA[Software entwickelt von]]></item>
+               <item name="wcf.acp.dashboard.box.credits.developer"><![CDATA[Programmierung]]></item>
+               <item name="wcf.acp.dashboard.box.credits.productManager"><![CDATA[Projektleitung]]></item>
+               <item name="wcf.acp.dashboard.box.credits.trademarks"><![CDATA[„WoltLab&reg;“ und „Burning Board&reg;“ sind eingetragene Unionsmarken beim Amt der Europäischen Union für geistiges Eigentum (EUIPO) in Alicante, Spanien.]]></item>
+               <item name="wcf.acp.dashboard.box.credits.contributor.more"><![CDATA[Weitere]]></item>
        </category>
        <category name="wcf.acp.index">
-               <item name="wcf.acp.index.credits"><![CDATA[Über WoltLab Suite&trade;]]></item>
-               <item name="wcf.acp.index.credits.contributor"><![CDATA[Mitwirkende]]></item>
-               <item name="wcf.acp.index.credits.designer"><![CDATA[Design]]></item>
-               <item name="wcf.acp.index.credits.developedBy"><![CDATA[Software entwickelt von]]></item>
-               <item name="wcf.acp.index.credits.developer"><![CDATA[Programmierung]]></item>
-               <item name="wcf.acp.index.credits.productManager"><![CDATA[Projektleitung]]></item>
-               <item name="wcf.acp.index.credits.trademarks"><![CDATA[„WoltLab&reg;“ und „Burning Board&reg;“ sind eingetragene Unionsmarken beim Amt der Europäischen Union für geistiges Eigentum (EUIPO) in Alicante, Spanien.]]></item>
-               <item name="wcf.acp.index.credits.contributor.more"><![CDATA[Weitere]]></item>
                <item name="wcf.acp.index.inRescueMode"><![CDATA[{if LANGUAGE_USE_INFORMAL_VARIANT}Du rufst{else}Sie rufen{/if} diese Installation über eine abweichende Domain auf, etwa aufgrund eines Umzuges. Bitte {if LANGUAGE_USE_INFORMAL_VARIANT}korrigiere{else}korrigieren Sie{/if} die Einstellungen unter <a href="{link controller='ApplicationManagement'}{/link}">Apps verwalten</a>.]]></item>
                <item name="wcf.acp.index.setup.notice"><![CDATA[Die Installation wird in wenigen Augenblicken automatisch gestartet, bitte {if LANGUAGE_USE_INFORMAL_VARIANT}lade{else}laden Sie{/if} diese Seite nicht neu.]]></item>
                <item name="wcf.acp.index.setup.title"><![CDATA[Bitte warten]]></item>
index 4d788ba89d26abd91b3a2cdfbb8c5a6467dceb41..0365eee2471641a30878a040878419c7b4a46371 100644 (file)
@@ -930,16 +930,16 @@ You can access the error log at: {link controller='ExceptionLogView' isEmail=tru
                <item name="wcf.acp.dashboard.box.systemInfo.php.version"><![CDATA[PHP Version]]></item>
                <item name="wcf.acp.dashboard.box.systemInfo.mySQLVersion"><![CDATA[MySQL Version]]></item>
                <item name="wcf.acp.dashboard.box.systemInfo.load"><![CDATA[Current UNIX Load]]></item>
+               <item name="wcf.acp.dashboard.box.credits"><![CDATA[About WoltLab Suite]]></item>
+               <item name="wcf.acp.dashboard.box.credits.contributor"><![CDATA[Contributions]]></item>
+               <item name="wcf.acp.dashboard.box.credits.designer"><![CDATA[Designer]]></item>
+               <item name="wcf.acp.dashboard.box.credits.developedBy"><![CDATA[Software developed by]]></item>
+               <item name="wcf.acp.dashboard.box.credits.developer"><![CDATA[Developer]]></item>
+               <item name="wcf.acp.dashboard.box.credits.productManager"><![CDATA[Product Manager]]></item>
+               <item name="wcf.acp.dashboard.box.credits.trademarks"><![CDATA[“WoltLab&reg;” and “Burning Board&reg;” are registered European Union trade marks at the European Union Intellectual Property Office (EUIPO) in Alicante, Spain.]]></item>
+               <item name="wcf.acp.dashboard.box.credits.contributor.more"><![CDATA[More]]></item>
        </category>
        <category name="wcf.acp.index">
-               <item name="wcf.acp.index.credits"><![CDATA[About WoltLab Suite&trade;]]></item>
-               <item name="wcf.acp.index.credits.contributor"><![CDATA[Contributions]]></item>
-               <item name="wcf.acp.index.credits.designer"><![CDATA[Designer]]></item>
-               <item name="wcf.acp.index.credits.developedBy"><![CDATA[Software developed by]]></item>
-               <item name="wcf.acp.index.credits.developer"><![CDATA[Developer]]></item>
-               <item name="wcf.acp.index.credits.productManager"><![CDATA[Product Manager]]></item>
-               <item name="wcf.acp.index.credits.trademarks"><![CDATA[“WoltLab&reg;” and “Burning Board&reg;” are registered European Union trade marks at the European Union Intellectual Property Office (EUIPO) in Alicante, Spain.]]></item>
-               <item name="wcf.acp.index.credits.contributor.more"><![CDATA[More]]></item>
                <item name="wcf.acp.index.inRescueMode"><![CDATA[You are accessing this installation from an unknown domain, possibly caused by moving to a new host. Please update the settings on <a href="{link controller='ApplicationManagement'}{/link}">Manage Apps</a>.]]></item>
                <item name="wcf.acp.index.setup.notice"><![CDATA[The installation will be continued within a few moments, please do not reload this page.]]></item>
                <item name="wcf.acp.index.setup.title"><![CDATA[Please Wait]]></item>