Initial version (work in progress)
[GitHub/WoltLab/com.woltlab.wcf.conversation.git] / templates / conversationList.tpl
CommitLineData
9544b6b4
MW
1{include file='documentHeader'}
2
3<head>
4 <title>{lang}wcf.conversation.conversations{/lang} {if $pageNo > 1}- {lang}wcf.page.pageNo{/lang} {/if}- {PAGE_TITLE|language}</title>
5
6 {include file='headInclude' sandbox=false}
7</head>
8
9<body id="tpl{$templateName|ucfirst}">
10
11{capture assign='sidebar'}
12 <nav id="sidebarContent" class="sidebarContent">
13 <ul>
14 <li class="menuGroup">
15 <h1>{lang}wcf.conversation.folders{/lang}</h1>
16 <div class="menuGroupItems">
17 <ul>
18 <li{if $filter == ''} class="active"{/if}><a href="{link controller='ConversationList'}{/link}">{lang}wcf.conversation.conversations{/lang}</a></li>
19 <li{if $filter == 'draft'} class="active"{/if}><a href="{link controller='ConversationList'}filter=draft{/link}">{lang}wcf.conversation.folder.draft{/lang}</a></li>
20 <li{if $filter == 'outbox'} class="active"{/if}><a href="{link controller='ConversationList'}filter=outbox{/link}">{lang}wcf.conversation.folder.outbox{/lang}</a></li>
21 <li{if $filter == 'hidden'} class="active"{/if}><a href="{link controller='ConversationList'}filter=hidden{/link}">{lang}wcf.conversation.folder.hidden{/lang}</a></li>
22 </ul>
23 </div>
24 </li>
25 </ul>
26 </nav>
27{/capture}
28
29{include file='header' sandbox=false sidebarOrientation='left'}
30
31<header class="boxHeadline">
32 <hgroup>
33 <h1>{if $filter}{lang}wcf.conversation.folder.{$filter}{/lang}{else}{lang}wcf.conversation.conversations{/lang}{/if}</h1>
34 </hgroup>
35</header>
36
37{include file='userNotice'}
38
39<div class="contentNavigation">
40 {pages print=true assign=pagesLinks controller='ConversationList' link="filter=$filter&pageNo=%d&sortField=$sortField&sortOrder=$sortOrder"}
41
42 {hascontent}
43 <nav>
44 <ul>
45 {content}
46 <li><a href="{link controller='ConversationAdd'}{/link}" title="{lang}wcf.conversation.add{/lang}" class="button"><img src="{icon size='M'}asterisk{/icon}" alt="" class="icon24" /> <span>{lang}wcf.conversation.button.add{/lang}</span></a></li>
47 {event name='largeButtonsTop'}
48 {/content}
49 </ul>
50 </nav>
51 {/hascontent}
52</div>
53
54{if !$items}
55 <p class="info">{lang}wcf.conversation.noConversations{/lang}</p>
56{else}
57 <div class="marginTop tabularBox tabularBoxTitle shadow wbbThreadList"> {*todo: use generic css class*}
58 <hgroup>
59 <h1>{lang}wcf.conversation.conversations{/lang} <span class="badge badgeInverse">{#$items}</span></h1>
60 </hgroup>
61
62 <table class="table">
63 <thead>
64 <tr>
65 <th colspan="2" class="columnTitle columnSubject{if $sortField == 'subject'} active{/if}"><a href="{link controller='ConversationList'}{if $filter}filter={@$filter}&{/if}pageNo={@$pageNo}&sortField=subject&sortOrder={if $sortField == 'subject' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.conversation.subject{/lang}{if $sortField == 'subject'} <img src="{icon size='S'}sort{@$sortOrder}{/icon}" alt="" />{/if}</a></th>
66 <th class="columnDigits columnReplies{if $sortField == 'replies'} active{/if}"><a href="{link controller='ConversationList'}{if $filter}filter={@$filter}&{/if}pageNo={@$pageNo}&sortField=replies&sortOrder={if $sortField == 'replies' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.conversation.replies{/lang}{if $sortField == 'replies'} <img src="{icon size='S'}sort{@$sortOrder}{/icon}" alt="" />{/if}</a></th>
67 <th class="columnDigits columnParticipants{if $sortField == 'participants'} active{/if}"><a href="{link controller='ConversationList'}{if $filter}filter={@$filter}&{/if}pageNo={@$pageNo}&sortField=participants&sortOrder={if $sortField == 'participants' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.conversation.participants{/lang}{if $sortField == 'participants'} <img src="{icon size='S'}sort{@$sortOrder}{/icon}" alt="" />{/if}</a></th>
68 <th class="columnText columnLastPost{if $sortField == 'lastPostTime'} active{/if}"><a href="{link controller='ConversationList'}{if $filter}filter={@$filter}&{/if}pageNo={@$pageNo}&sortField=lastPostTime&sortOrder={if $sortField == 'lastPostTime' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.conversation.lastPostTime{/lang}{if $sortField == 'lastPostTime'} <img src="{icon size='S'}sort{@$sortOrder}{/icon}" alt="" />{/if}</a></th>
69 </tr>
70 </thead>
71
72 <tbody>
73 {foreach from=$objects item=conversation}
74 <tr class="wbbThread {if $conversation->isNew()} new{/if}">
75 <td class="columnIcon columnAvatar">
76 {if $conversation->getUserProfile()->getAvatar()}
77 <div>
78 <p class="framed">{@$conversation->getUserProfile()->getAvatar()->getImageTag(32)}</p>
79
80 {if $conversation->ownPosts && $conversation->userID != $__wcf->user->userID}
81 {if $__wcf->getUserProfileHandler()->getAvatar()}
82 <small class="framed myAvatar" title="{lang}wcf.conversation.ownPosts{/lang}">{@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(16)}</small>
83 {/if}
84 {/if}
85 </div>
86 {/if}
87 </td>
88 <td class="columnText columnTopic">
89 <h1>
90 {*todo:if $thread->hasLabels()}
91 <ul class="labelList">
92 {foreach from=$thread->getLabels() item=label}
93 <li><a href="#" class="badge label{if $label->cssClassName} {$label->cssClassName}{/if}">{lang}{$label->label}{/lang}</a></li>
94 {/foreach}
95 </ul>
96 {/if*}
97
98 {if $conversation->isNew()}
99 <a href="{link controller='Conversation' object=$conversation}action=firstNew{/link}" class="jsTooltip" title="{lang}wcf.conversation.gotoFirstNewPost{/lang}"><img src="{icon size='S'}circleArrowDown{/icon}" alt="" class="wbbFirstNewPost icon16" /></a>
100 {/if}
101
102 <a href="{link controller='Conversation' object=$conversation}{/link}" class="conversationLink" data-conversation-id="{@$conversation->threadID}">{$conversation->subject}</a>
103 </h1>
104
105 <aside class="statusDisplay">
106 {smallpages pages=$conversation->getPages() controller='Conversation' object=$conversation link='pageNo=%d'}
107 <ul class="statusIcons">
108 {if $conversation->isClosed}<li><img src="{icon size='S'}lock{/icon}" alt="" title="{lang}wcf.conversation.closed{/lang}" class="jsIconLock jsTooltip icon16" /></li>{/if}
109 {if $conversation->attachments}<li><img src="{icon size='S'}attachment{/icon}" alt="" title="{lang}wcf.conversation.attachments{/lang}" class="jsIconAttachment jsTooltip icon16" /></li>{/if}
110 </ul>
111 </aside>
112
113 <small>
114 <a href="{link controller='User' object=$conversation->getUserProfile()->getDecoratedObject()}{/link}" class="userLink" data-user-id="{@$conversation->userID}">{$conversation->username}</a>
115 - {@$conversation->time|time}
116 </small>
117
118 <small>
119 {lang}wcf.conversation.participants{/lang}: {implode from=$conversation->getParticipantSummary() item=participant}<a href="{link controller='User' object=$participant}{/link}" class="userLink" data-user-id="{@$participant->userID}"{if $participant->hideConversation == 2} style="text-decoration: line-through"{/if}>{$participant->username}</a>{/implode}
120 {if $conversation->getParticipantSummary()|count < $conversation->participants - 1}{lang}wcf.conversation.participants.other{/lang}{/if}
121 </small>
122 </td>
123 <td class="columnDigits columnReplies"><p>{#$conversation->replies}</p></td>
124 <td class="columnDigits columnParticipants"><p>{#$conversation->participants}</p></td>
125 <td class="columnText columnLastPost">
126 {if $conversation->replies != 0}
127 <div class="box24 wbbLastPost">
128 <a href="{link controller='Conversation' object=$conversation}action=lastPost{/link}" class="framed jsTooltip" title="{lang}wcf.conversation.gotoLastPost{/lang}">{@$conversation->getLastPosterProfile()->getAvatar()->getImageTag(24)}</a>
129
130 <hgroup>
131 <h1>
132 <a href="{link controller='User' object=$conversation->getLastPosterProfile()->getDecoratedObject()}{/link}" class="userLink" data-user-id="{@$conversation->getLastPosterProfile()->userID}">{$conversation->lastPoster}</a>
133 </h1>
134 <h2>{@$conversation->lastPostTime|time}</h2>
135 </hgroup>
136 </div>
137 {/if}
138 </td>
139 </tr>
140 {/foreach}
141 </tbody>
142 </table>
143 </div>
144{/if}
145
146<div class="contentNavigation">
147 {@$pagesLinks}
148
149 {hascontent}
150 <nav>
151 <ul>
152 {content}
153 <li><a href="{link controller='ConversationAdd'}{/link}" title="{lang}wcf.conversation.add{/lang}" class="button"><img src="{icon size='M'}asterisk{/icon}" alt="" class="icon24" /> <span>{lang}wcf.conversation.button.add{/lang}</span></a></li>
154 {event name='largeButtonsBottom'}
155 {/content}
156 </ul>
157 </nav>
158 {/hascontent}
159</div>
160
161{include file='footer' sandbox=false}
162
163</body>
164</html>