+++ /dev/null
-<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® 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üsterhus</li>
- <li>Alexander Ebert</li>
- <li>Joshua Rü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 © 2001-{TIME_NOW|date:'Y'} WoltLab® GmbH. All rights reserved.</dd>
-</dl>
-
-<dl>
- <dt></dt>
- <dd>{lang}wcf.acp.index.credits.trademarks{/lang}</dd>
-</dl>
.acpDashboardBox {
background-color: var(--wcfContentContainerBackground);
border-radius: var(--wcfBorderRadius);
- box-shadow:
- 0 0 3px rgba(0, 0, 0, 0.12),
- 0 1px 2px rgba(0, 0, 0, 0.24);
+ box-shadow: var(--wcfBoxShadowCard);
+ display: flex;
+ flex-direction: column;
padding: 20px;
+ row-gap: 20px;
}
.acpDashboardBox__title {
- margin-bottom: 20px;
@include wcfFontHeadline;
@include wcfFontBold;
}
<?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;
use wcf\system\cronjob\CronjobScheduler;
use wcf\system\event\EventHandler;
$eventHandler->register(PackageUpdateListChanged::class, PackageUpdateListChangedLicenseListener::class);
$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());
+ $event->register(new \wcf\system\acp\dashboard\box\NewsAcpDashboardBox());
+ $event->register(new \wcf\system\acp\dashboard\box\SystemInfoAcpDashboardBox());
+ $event->register(new \wcf\system\acp\dashboard\box\CreditsAcpDashboardBox());
});
try {
{
return WCF::getTPL()->fetch('creditsAcpDashboardBox');
}
+
+ public function getName(): string
+ {
+ return 'com.woltlab.wcf.credits';
+ }
}
* Returns the content of this box.
*/
public function getContent(): string;
+
+ /**
+ * Returns the name (identifier) of this box.
+ */
+ public function getName(): string;
}
{
return WCF::getTPL()->fetch('newsAcpDashboardBox');
}
+
+ public function getName(): string
+ {
+ return 'com.woltlab.wcf.news';
+ }
}
return WCF::getTPL()->fetch('systemInfoAcpDashboardBox', 'wcf', $this->getVariables());
}
+ public function getName(): string
+ {
+ return 'com.woltlab.wcf.systemInfo';
+ }
+
private function getVariables(): array
{
return [
/**
* Registers a new box.
*/
- public function register(string $name, IAcpDashboardBox $box): void
+ public function register(IAcpDashboardBox $box): void
{
- $this->boxes[$name] = $box;
+ $this->boxes[$box->getName()] = $box;
}
/**