Commit | Line | Data |
---|---|---|
320f4a6d MW |
1 | {include file='documentHeader'} |
2 | ||
3 | <head> | |
4 | <title>{lang}wcf.user.notification.notifications{/lang} - {lang}wcf.user.usercp{/lang} - {PAGE_TITLE|language}</title> | |
5 | {include file='headInclude'} | |
6 | ||
9543d9fe | 7 | <script data-relocate="true"> |
320f4a6d MW |
8 | //<![CDATA[ |
9 | $(function() { | |
078256b5 | 10 | WCF.Language.addObject({ |
4c750013 AE |
11 | 'wcf.user.notification.markAsConfirmed': '{lang}wcf.user.notification.markAsConfirmed{/lang}', |
12 | 'wcf.user.notification.markAllAsConfirmed.confirmMessage': '{lang}wcf.user.notification.markAllAsConfirmed.confirmMessage{/lang}' | |
320f4a6d | 13 | }); |
078256b5 AE |
14 | |
15 | new WCF.Notification.List(); | |
320f4a6d MW |
16 | }); |
17 | //]]> | |
18 | </script> | |
19 | </head> | |
20 | ||
887a3153 | 21 | <body id="tpl{$templateName|ucfirst}" data-template="{$templateName}" data-application="{$templateNameApplication}"> |
320f4a6d MW |
22 | |
23 | {include file='userMenuSidebar'} | |
24 | ||
25 | {include file='header' sidebarOrientation='left'} | |
26 | ||
27 | <header class="boxHeadline"> | |
3dc91d25 | 28 | <h1>{lang}wcf.user.notification.notifications{/lang} <span class="badge jsNotificationsBadge">{#$__wcf->getUserNotificationHandler()->countAllNotifications()}</span></h1> |
320f4a6d MW |
29 | </header> |
30 | ||
31 | {include file='userNotice'} | |
32 | ||
33 | <div class="contentNavigation"> | |
34 | {pages print=true assign=pagesLinks controller='NotificationList' link="pageNo=%d"} | |
35 | ||
36 | {hascontent} | |
37 | <nav> | |
38 | <ul> | |
39 | {content} | |
3dc91d25 | 40 | {if $__wcf->getUserNotificationHandler()->getNotificationCount()}<li class="jsOnly"><a class="button jsMarkAllAsConfirmed"><span class="icon icon16 fa-check"></span> <span>{lang}wcf.user.notification.markAllAsConfirmed{/lang}</span></a></li>{/if} |
320f4a6d MW |
41 | |
42 | {event name='contentNavigationButtonsTop'} | |
43 | {/content} | |
44 | </ul> | |
45 | </nav> | |
46 | {/hascontent} | |
47 | </div> | |
48 | ||
49 | {if $notifications[notifications]} | |
aa6fcadf AE |
50 | {assign var=lastPeriod value=''} |
51 | ||
52 | {foreach from=$notifications[notifications] item=$notification} | |
53 | {if $notification[event]->getPeriod() != $lastPeriod} | |
54 | {if $lastPeriod} | |
55 | </ul> | |
56 | </div> | |
57 | {/if} | |
58 | {assign var=lastPeriod value=$notification[event]->getPeriod()} | |
59 | ||
60 | <header class="boxHeadline boxSubHeadline"> | |
61 | <h2>{$lastPeriod}</h2> | |
62 | </header> | |
63 | ||
64 | <div class="container marginTop"> | |
078256b5 | 65 | <ul class="containerList userNotificationItemList"> |
aa6fcadf | 66 | {/if} |
1a6e8c52 | 67 | <li class="jsNotificationItem notificationItem{if $notification[authors] > 1} groupedNotificationItem{/if}{if !$notification[event]->isConfirmed()} notificationUnconfirmed{/if}" data-link="{if $notification[event]->isConfirmed()}{$notification[event]->getLink()}{else}{link controller='NotificationConfirm' id=$notification[notificationID]}{/link}{/if}" data-link-replace-all="{if $notification[event]->isConfirmed()}false{else}true{/if}" data-object-id="{@$notification[notificationID]}" data-is-read="{if $notification[event]->isConfirmed()}true{else}false{/if}" data-is-grouped="{if $notification[authors] > 1}true{else}false{/if}"> |
0d42c1c1 | 68 | <div class="box32"> |
8a4289f5 | 69 | {if $notification[authors] < 2} |
b2d96d9f | 70 | <div class="framed jsTooltip" title="{$notification[event]->getAuthor()->username}"> |
0d42c1c1 | 71 | {@$notification[event]->getAuthor()->getAvatar()->getImageTag(32)} |
078256b5 | 72 | </div> |
320f4a6d | 73 | |
8a4289f5 | 74 | <div class="details"> |
aac6a148 MW |
75 | <p> |
76 | {if !$notification[confirmed]}<span class="badge label newContentBadge">{lang}wcf.message.new{/lang}</span>{/if} | |
77 | {@$notification[event]->getMessage()} | |
78 | </p> | |
79 | <p><small>{@$notification[time]|time}</small></p> | |
8a4289f5 AE |
80 | </div> |
81 | {else} | |
078256b5 | 82 | <div class="framed"> |
0d42c1c1 | 83 | <span class="icon icon32 fa-users"></span> |
078256b5 | 84 | </div> |
320f4a6d | 85 | |
8a4289f5 | 86 | <div class="details"> |
aac6a148 MW |
87 | <p> |
88 | {if !$notification[confirmed]}<span class="badge label newContentBadge">{lang}wcf.message.new{/lang}</span>{/if} | |
89 | {@$notification[event]->getMessage()} | |
90 | </p> | |
91 | <p><small>{@$notification[time]|time}</small></p> | |
8a4289f5 | 92 | |
afb18fa2 | 93 | <ul class="marginTopTiny"> |
8a4289f5 | 94 | {foreach from=$notification[event]->getAuthors() item=author} |
afb18fa2 MS |
95 | {if $author->userID} |
96 | <li style="display: inline-block" class="jsTooltip" title="{$author->username}"><a href="{link controller='User' object=$author}{/link}" class="framed">{@$author->getAvatar()->getImageTag(24)}</a></li> | |
97 | {/if} | |
8a4289f5 AE |
98 | {/foreach} |
99 | </ul> | |
8a4289f5 AE |
100 | </div> |
101 | {/if} | |
320f4a6d MW |
102 | </div> |
103 | </li> | |
aa6fcadf | 104 | {/foreach} |
320f4a6d MW |
105 | </ul> |
106 | </div> | |
107 | ||
108 | <div class="contentNavigation"> | |
109 | {@$pagesLinks} | |
110 | ||
111 | {hascontent} | |
112 | <nav> | |
113 | <ul> | |
114 | {content} | |
115 | {event name='contentNavigationButtonsBottom'} | |
116 | {/content} | |
117 | </ul> | |
118 | </nav> | |
119 | {/hascontent} | |
120 | </div> | |
121 | {else} | |
122 | <p class="info">{lang}wcf.user.notification.noNotifications{/lang}</p> | |
123 | {/if} | |
124 | ||
125 | {include file='footer'} | |
126 | ||
127 | </body> | |
128 | </html> |