From: Alexander Ebert Date: Sat, 17 Nov 2018 23:31:13 +0000 (+0100) Subject: User sortable list of articles X-Git-Tag: 5.2.0_Alpha_1~537 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=63adbb9578006ae2d0764ad0344f1007b8587fb7;p=GitHub%2FWoltLab%2FWCF.git User sortable list of articles Closes #2603 --- diff --git a/com.woltlab.wcf/templates/articleList.tpl b/com.woltlab.wcf/templates/articleList.tpl index 452b398d38..8480e577b7 100644 --- a/com.woltlab.wcf/templates/articleList.tpl +++ b/com.woltlab.wcf/templates/articleList.tpl @@ -20,11 +20,21 @@ {/if} {/capture} -{if $__wcf->getSession()->getPermission('admin.content.article.canManageArticle') || $__wcf->getSession()->getPermission('admin.content.article.canContributeArticle')} - {capture assign='contentHeaderNavigation'} +{capture assign='contentHeaderNavigation'} + + + {if $__wcf->getSession()->getPermission('admin.content.article.canManageArticle') || $__wcf->getSession()->getPermission('admin.content.article.canContributeArticle')}
  • {lang}wcf.acp.article.add{/lang}
  • - {/capture} -{/if} + {/if} +{/capture} {capture assign='sidebarRight'} {if !$labelGroups|empty} diff --git a/wcfsetup/install/files/lib/page/ArticleListPage.class.php b/wcfsetup/install/files/lib/page/ArticleListPage.class.php index 8911063f0d..48f438f2a5 100644 --- a/wcfsetup/install/files/lib/page/ArticleListPage.class.php +++ b/wcfsetup/install/files/lib/page/ArticleListPage.class.php @@ -20,7 +20,7 @@ use wcf\util\HeaderUtil; * @package WoltLabSuite\Core\Page * @since 3.0 */ -class ArticleListPage extends MultipleLinkPage { +class ArticleListPage extends SortablePage { /** * @inheritDoc */ @@ -76,6 +76,21 @@ class ArticleListPage extends MultipleLinkPage { */ public $user; + /** + * @inheritDoc + */ + public $defaultSortField = 'time'; + + /** + * @inheritDoc + */ + public $defaultSortOrder = 'DESC'; + + /** + * @inheritDoc + */ + public $validSortFields = ['title', 'time']; + /** * @inheritDoc */ @@ -134,6 +149,10 @@ class ArticleListPage extends MultipleLinkPage { parent::initObjectList(); $this->applyFilters(); + + if ($this->sortField === 'title') { + $this->objectList->sqlSelects = "(SELECT title FROM wcf".WCF_N."_article_content WHERE articleID = article.articleID AND (languageID IS NULL OR languageID = ".WCF::getLanguage()->languageID.") LIMIT 1) AS title"; + } } protected function applyFilters() { diff --git a/wcfsetup/install/lang/de.xml b/wcfsetup/install/lang/de.xml index 2195b1454b..a0c7bb3d71 100644 --- a/wcfsetup/install/lang/de.xml +++ b/wcfsetup/install/lang/de.xml @@ -2452,6 +2452,7 @@ Benutzerkontos nun in vollem Umfang nutzen.]]> username}]]> getLink()}">{$article->getTitle()} verfasst.]]> + filesize|filesize}, {#$attachment->downloads} Mal heruntergeladen{if $attachment->downloads > 0}, zuletzt: {@$attachment->lastDownloadTime|time}{/if})]]> diff --git a/wcfsetup/install/lang/en.xml b/wcfsetup/install/lang/en.xml index 41655660d2..ecda00c69c 100644 --- a/wcfsetup/install/lang/en.xml +++ b/wcfsetup/install/lang/en.xml @@ -2799,6 +2799,7 @@ full extend.]]> username}]]> getLink()}">{$article->getTitle()}.]]> + filesize|filesize}, downloaded {#$attachment->downloads} times{if $attachment->downloads > 0}, last: {@$attachment->lastDownloadTime|time}{/if})]]>