Skip to content

Commit d36925a

Browse files
authored
Merge pull request #6250 from WoltLab/6.2-list-view
List views
2 parents f38a214 + 404344c commit d36925a

55 files changed

Lines changed: 3771 additions & 847 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

com.woltlab.wcf/option.xml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1355,11 +1355,6 @@ DESC:wcf.global.sortOrder.descending</selectoptions>
13551355
<defaultvalue>1</defaultvalue>
13561356
<options>module_trophy</options>
13571357
</option>
1358-
<option name="message_sidebar_enable_articles">
1359-
<categoryname>message.sidebar</categoryname>
1360-
<optiontype>boolean</optiontype>
1361-
<defaultvalue>1</defaultvalue>
1362-
</option>
13631358
<option name="message_sidebar_user_options">
13641359
<categoryname>message.sidebar</categoryname>
13651360
<optiontype>useroptions</optiontype>
@@ -1637,6 +1632,7 @@ DESC:wcf.global.sortOrder.descending</selectoptions>
16371632
<option name="enable_woltlab_news"/>
16381633
<option name="users_online_record_no_guests"/>
16391634
<option name="blacklist_sfs_action"/>
1635+
<option name="message_sidebar_enable_articles"/>
16401636
<category name="security.blacklist"/>
16411637
<category name="security.blacklist.custom"/>
16421638
</delete>

com.woltlab.wcf/templates/articleList.tpl

Lines changed: 17 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -1,139 +1,47 @@
11
{capture append='headContent'}
2-
{if $pageNo < $pages}
3-
<link rel="next" href="{link controller='ArticleList'}pageNo={@$pageNo+1}{/link}">
2+
{if $listView->getPageNo() < $listView->countPages()}
3+
<link rel="next" href="{link controller='ArticleList'}pageNo={$listView->getPageNo() + 1}{/link}">
44
{/if}
5-
{if $pageNo > 1}
6-
<link rel="prev" href="{link controller='ArticleList'}{if $pageNo > 2}pageNo={@$pageNo-1}{/if}{/link}">
5+
{if $listView->getPageNo() > 1}
6+
<link rel="prev" href="{link controller='ArticleList'}{if $listView->getPageNo() > 2}pageNo={$listView->getPageNo() - 1}{/if}{/link}">
77
{/if}
88

9-
{if $__wcf->getUser()->userID}
10-
<link rel="alternate" type="application/rss+xml" title="{lang}wcf.global.button.rss{/lang}" href="{link controller='ArticleRssFeed'}at={@$__wcf->getUser()->userID}-{@$__wcf->getUser()->accessToken}{/link}">
9+
{if $__wcf->user->userID}
10+
<link rel="alternate" type="application/rss+xml" title="{lang}wcf.global.button.rss{/lang}" href="{link controller='ArticleRssFeed'}at={$__wcf->user->userID}-{$__wcf->user->accessToken}{/link}">
1111
{else}
1212
<link rel="alternate" type="application/rss+xml" title="{lang}wcf.global.button.rss{/lang}" href="{link controller='ArticleRssFeed'}{/link}">
1313
{/if}
1414
{/capture}
1515

1616
{capture assign='contentHeaderNavigation'}
17-
{if $__wcf->getSession()->getPermission('admin.content.article.canManageArticle') || $__wcf->getSession()->getPermission('admin.content.article.canManageOwnArticles') || $__wcf->getSession()->getPermission('admin.content.article.canContributeArticle')}
17+
{if $canManageArticles}
1818
{if $availableLanguages|count > 1}
19-
<li><a href="#" class="button buttonPrimary jsButtonArticleAdd">{icon name='plus'} <span>{lang}wcf.acp.article.add{/lang}</span></a></li>
19+
<li><button type="button" class="button buttonPrimary jsButtonArticleAdd">{icon name='plus'} <span>{lang}wcf.acp.article.add{/lang}</span></a></li>
2020
{else}
2121
<li><a href="{link controller='ArticleAdd'}{/link}" class="button buttonPrimary">{icon name='plus'} <span>{lang}wcf.acp.article.add{/lang}</span></a></li>
2222
{/if}
2323
{/if}
2424
{/capture}
2525

26-
{capture assign='sidebarRight'}
27-
{if !$labelGroups|empty}
28-
<form id="sidebarForm" method="post" action="{link application='wcf' controller=$controllerName object=$controllerObject}{/link}">
29-
<section class="box">
30-
<h2 class="boxTitle">{lang}wcf.label.label{/lang}</h2>
31-
32-
<div class="boxContent">
33-
<dl>
34-
{include file='__labelSelection'}
35-
</dl>
36-
<div class="formSubmit">
37-
<input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s">
38-
</div>
39-
</div>
40-
</section>
41-
</form>
42-
43-
<script data-relocate="true">
44-
$(function() {
45-
WCF.Language.addObject({
46-
'wcf.label.none': '{jslang}wcf.label.none{/jslang}',
47-
'wcf.label.withoutSelection': '{jslang}wcf.label.withoutSelection{/jslang}'
48-
});
49-
50-
new WCF.Label.Chooser({ {implode from=$labelIDs key=groupID item=labelID}{@$groupID}: {@$labelID}{/implode} }, '#sidebarForm', undefined, true);
51-
});
52-
</script>
53-
{/if}
54-
{/capture}
55-
56-
{assign var='additionalLinkParameters' value=''}
57-
{if $user}{capture append='additionalLinkParameters'}&userID={@$user->userID}{/capture}{/if}
58-
{if $labelIDs|count}{capture append='additionalLinkParameters'}{foreach from=$labelIDs key=labelGroupID item=labelID}&labelIDs[{@$labelGroupID}]={@$labelID}{/foreach}{/capture}{/if}
59-
60-
{capture assign='contentInteractionPagination'}
61-
{pages print=true assign='pagesLinks' controller='ArticleList' link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder$additionalLinkParameters"}
62-
{/capture}
63-
6426
{capture assign='contentInteractionButtons'}
65-
<div class="contentInteractionButton dropdown jsOnly">
66-
<button type="button" class="button small dropdownToggle">
67-
{if $sortOrder === 'ASC'}
68-
{icon name='arrow-down-short-wide'}
69-
{else}
70-
{icon name='arrow-down-wide-short'}
71-
{/if}
72-
<span>{lang}wcf.article.button.sort{/lang}</span>
73-
</button>
74-
<ul class="dropdownMenu">
75-
<li>
76-
<a href="{link controller='ArticleList'}pageNo={@$pageNo}{if $user}&userID={@$user->userID}{/if}&sortField=title&sortOrder={if $sortField == 'title' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">
77-
{lang}wcf.global.title{/lang}
78-
{if $sortField == 'title'}
79-
{if $sortOrder === 'ASC'}
80-
{icon name='caret-up' type='solid'}
81-
{else}
82-
{icon name='caret-down' type='solid'}
83-
{/if}
84-
{/if}
85-
</a>
86-
</li>
87-
<li>
88-
<a href="{link controller='ArticleList'}pageNo={@$pageNo}{if $user}&userID={@$user->userID}{/if}&sortField=time&sortOrder={if $sortField == 'time' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">
89-
{lang}wcf.global.date{/lang}
90-
{if $sortField == 'time'}
91-
{if $sortOrder === 'ASC'}
92-
{icon name='caret-up' type='solid'}
93-
{else}
94-
{icon name='caret-down' type='solid'}
95-
{/if}
96-
{/if}
97-
</a>
98-
</li>
99-
100-
{event name='sortOptions'}
101-
</ul>
102-
</div>
10327
{if $__wcf->user->userID}
10428
<button type="button" class="markAllAsReadButton contentInteractionButton button small jsOnly">{icon name='check'} <span>{lang}wcf.global.button.markAllAsRead{/lang}</span></button>
10529
{/if}
10630
{/capture}
10731

10832
{capture assign='contentInteractionDropdownItems'}
109-
<li><a rel="alternate" href="{if $__wcf->getUser()->userID}{link controller='ArticleRssFeed'}at={@$__wcf->getUser()->userID}-{@$__wcf->getUser()->accessToken}{/link}{else}{link controller='ArticleRssFeed'}{/link}{/if}" class="rssFeed">{lang}wcf.global.button.rss{/lang}</a></li>
33+
{if $__wcf->user->userID}
34+
<li><a rel="alternate" href="{link controller='ArticleRssFeed'}at={$__wcf->user->userID}-{$__wcf->user->accessToken}{/link}" class="rssFeed">{lang}wcf.global.button.rss{/lang}</a></li>
35+
{else}
36+
<li><a rel="alternate" href="{link controller='ArticleRssFeed'}{/link}" class="rssFeed">{lang}wcf.global.button.rss{/lang}</a></li>
37+
{/if}
11038
{/capture}
11139

11240
{include file='header'}
11341

114-
{if $objects|count}
115-
<div class="section">
116-
{include file='articleListItems'}
117-
</div>
118-
{else}
119-
<woltlab-core-notice type="info">{lang}wcf.global.noItems{/lang}</woltlab-core-notice>
120-
{/if}
121-
122-
<footer class="contentFooter">
123-
{hascontent}
124-
<div class="paginationBottom">
125-
{content}{@$pagesLinks}{/content}
126-
</div>
127-
{/hascontent}
128-
129-
{hascontent}
130-
<nav class="contentFooterNavigation">
131-
<ul>
132-
{content}{event name='contentFooterNavigation'}{/content}
133-
</ul>
134-
</nav>
135-
{/hascontent}
136-
</footer>
42+
<div class="section">
43+
{unsafe:$listView->render()}
44+
</div>
13745

13846
{if $__wcf->user->userID}
13947
<script data-relocate="true">
@@ -143,7 +51,7 @@
14351
</script>
14452
{/if}
14553

146-
{if $__wcf->getSession()->getPermission('admin.content.article.canManageArticle') || $__wcf->getSession()->getPermission('admin.content.article.canManageOwnArticles') || $__wcf->getSession()->getPermission('admin.content.article.canContributeArticle')}
54+
{if $canManageArticles}
14755
{include file='shared_articleAddDialog'}
14856
{/if}
14957

0 commit comments

Comments
 (0)