nodebb-theme-persona 11.3.20 → 11.3.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc +2 -2
- package/README.md +14 -14
- package/languages/de/persona.json +3 -3
- package/languages/en-GB/persona.json +2 -2
- package/languages/en-US/persona.json +2 -2
- package/languages/fr/persona.json +3 -3
- package/languages/pl/persona.json +3 -3
- package/languages/pt-PT/persona.json +2 -2
- package/languages/tr/persona.json +4 -4
- package/languages/zh-CN/persona.json +4 -4
- package/less/bootstrap/.csscomb.json +297 -297
- package/less/bootstrap/.csslintrc +19 -19
- package/less/bootstrap/alerts.less +73 -73
- package/less/bootstrap/badges.less +66 -66
- package/less/bootstrap/bootstrap.less +50 -50
- package/less/bootstrap/breadcrumbs.less +26 -26
- package/less/bootstrap/button-groups.less +243 -243
- package/less/bootstrap/buttons.less +160 -160
- package/less/bootstrap/carousel.less +269 -269
- package/less/bootstrap/close.less +34 -34
- package/less/bootstrap/code.less +69 -69
- package/less/bootstrap/component-animations.less +33 -33
- package/less/bootstrap/forms.less +574 -574
- package/less/bootstrap/glyphicons.less +305 -305
- package/less/bootstrap/grid.less +84 -84
- package/less/bootstrap/input-groups.less +166 -166
- package/less/bootstrap/jumbotron.less +50 -50
- package/less/bootstrap/labels.less +64 -64
- package/less/bootstrap/list-group.less +124 -124
- package/less/bootstrap/media.less +61 -61
- package/less/bootstrap/mixins/alerts.less +14 -14
- package/less/bootstrap/mixins/background-variant.less +8 -8
- package/less/bootstrap/mixins/border-radius.less +18 -18
- package/less/bootstrap/mixins/buttons.less +52 -52
- package/less/bootstrap/mixins/center-block.less +7 -7
- package/less/bootstrap/mixins/clearfix.less +22 -22
- package/less/bootstrap/mixins/forms.less +85 -85
- package/less/bootstrap/mixins/gradients.less +59 -59
- package/less/bootstrap/mixins/grid-framework.less +91 -91
- package/less/bootstrap/mixins/grid.less +122 -122
- package/less/bootstrap/mixins/hide-text.less +21 -21
- package/less/bootstrap/mixins/image.less +33 -33
- package/less/bootstrap/mixins/labels.less +12 -12
- package/less/bootstrap/mixins/list-group.less +29 -29
- package/less/bootstrap/mixins/nav-divider.less +10 -10
- package/less/bootstrap/mixins/nav-vertical-align.less +9 -9
- package/less/bootstrap/mixins/opacity.less +8 -8
- package/less/bootstrap/mixins/pagination.less +23 -23
- package/less/bootstrap/mixins/panels.less +24 -24
- package/less/bootstrap/mixins/progress-bar.less +10 -10
- package/less/bootstrap/mixins/reset-filter.less +8 -8
- package/less/bootstrap/mixins/resize.less +6 -6
- package/less/bootstrap/mixins/responsive-visibility.less +15 -15
- package/less/bootstrap/mixins/size.less +10 -10
- package/less/bootstrap/mixins/tab-focus.less +9 -9
- package/less/bootstrap/mixins/table-row.less +28 -28
- package/less/bootstrap/mixins/text-emphasis.less +8 -8
- package/less/bootstrap/mixins/text-overflow.less +8 -8
- package/less/bootstrap/mixins/vendor-prefixes.less +227 -227
- package/less/bootstrap/mixins.less +39 -39
- package/less/bootstrap/modals.less +150 -150
- package/less/bootstrap/navbar.less +660 -660
- package/less/bootstrap/navs.less +242 -242
- package/less/bootstrap/normalize.less +427 -427
- package/less/bootstrap/pager.less +54 -54
- package/less/bootstrap/pagination.less +88 -88
- package/less/bootstrap/panels.less +265 -265
- package/less/bootstrap/popovers.less +135 -135
- package/less/bootstrap/print.less +107 -107
- package/less/bootstrap/progress-bars.less +87 -87
- package/less/bootstrap/responsive-embed.less +35 -35
- package/less/bootstrap/responsive-utilities.less +194 -194
- package/less/bootstrap/scaffolding.less +161 -161
- package/less/bootstrap/tables.less +234 -234
- package/less/bootstrap/theme.less +273 -273
- package/less/bootstrap/thumbnails.less +36 -36
- package/less/bootstrap/tooltip.less +102 -102
- package/less/bootstrap/type.less +302 -302
- package/less/bootstrap/utilities.less +55 -55
- package/less/bootstrap/variables.less +861 -861
- package/less/bootstrap/wells.less +29 -29
- package/less/bootstrap-flipped.css +1550 -1550
- package/less/categories.less +235 -235
- package/less/flags.less +42 -42
- package/less/footer.less +17 -17
- package/less/ip-blacklist.less +6 -6
- package/less/keyframes.less +152 -152
- package/less/modules/composer-default.less +16 -16
- package/less/modules/cookie-consent.less +12 -12
- package/less/modules/fab.less +32 -32
- package/less/modules/morph.less +268 -268
- package/less/modules/necro-post.less +8 -8
- package/less/modules/nprogress.less +80 -80
- package/less/modules/usercard.less +64 -64
- package/less/noscript.less +82 -82
- package/less/notifications.less +37 -37
- package/less/outgoing.less +8 -8
- package/less/persona.less +47 -47
- package/less/post-queue.less +19 -19
- package/less/register.less +75 -75
- package/less/rtl.less +132 -132
- package/less/search.less +1 -0
- package/less/tags.less +36 -36
- package/less/users.less +72 -72
- package/less/variables.less +6 -6
- package/package.json +1 -1
- package/public/.eslintrc +2 -2
- package/public/modules/autohidingnavbar.js +220 -220
- package/templates/account/blocks.tpl +34 -34
- package/templates/account/categories.tpl +28 -28
- package/templates/account/consent.tpl +68 -68
- package/templates/account/edit/email.tpl +30 -30
- package/templates/account/edit/password.tpl +31 -31
- package/templates/account/edit/username.tpl +29 -29
- package/templates/account/followers.tpl +16 -16
- package/templates/account/following.tpl +16 -16
- package/templates/account/groups.tpl +16 -16
- package/templates/account/info.tpl +187 -187
- package/templates/account/posts.tpl +18 -18
- package/templates/account/sessions.tpl +31 -31
- package/templates/account/topics.tpl +30 -30
- package/templates/account/uploads.tpl +42 -42
- package/templates/admin/plugins/persona.tpl +28 -28
- package/templates/alert.tpl +15 -15
- package/templates/categories.tpl +31 -31
- package/templates/category.tpl +62 -62
- package/templates/chats.tpl +15 -15
- package/templates/flags/list.tpl +71 -71
- package/templates/footer.tpl +18 -18
- package/templates/groups/details.tpl +272 -272
- package/templates/groups/list.tpl +46 -46
- package/templates/groups/members.tpl +8 -8
- package/templates/ip-blacklist.tpl +55 -55
- package/templates/modules/taskbar.tpl +2 -2
- package/templates/modules/usercard.tpl +36 -36
- package/templates/notifications.tpl +64 -64
- package/templates/partials/acceptTos.tpl +8 -8
- package/templates/partials/account/category-item.tpl +22 -22
- package/templates/partials/account/header.tpl +46 -46
- package/templates/partials/breadcrumbs.tpl +18 -18
- package/templates/partials/buttons/newTopic.tpl +15 -15
- package/templates/partials/categories/item.tpl +46 -46
- package/templates/partials/categories/lastpost.tpl +26 -26
- package/templates/partials/categories/link.tpl +10 -10
- package/templates/partials/category/sort.tpl +14 -14
- package/templates/partials/category/subcategory.tpl +17 -17
- package/templates/partials/category/tags.tpl +4 -4
- package/templates/partials/category/tools.tpl +80 -80
- package/templates/partials/category/watch.tpl +22 -22
- package/templates/partials/category-filter-content.tpl +16 -16
- package/templates/partials/category-filter-right.tpl +2 -2
- package/templates/partials/category-filter.tpl +2 -2
- package/templates/partials/category-selector-right.tpl +2 -2
- package/templates/partials/category-selector.tpl +2 -2
- package/templates/partials/change_owner_modal.tpl +22 -22
- package/templates/partials/chats/dropdown.tpl +33 -33
- package/templates/partials/chats/messages.tpl +6 -6
- package/templates/partials/chats/recent_room.tpl +24 -24
- package/templates/partials/chats-menu.tpl +10 -10
- package/templates/partials/cookie-consent.tpl +4 -4
- package/templates/partials/delete_posts_modal.tpl +18 -18
- package/templates/partials/fork_thread_modal.tpl +21 -21
- package/templates/partials/groups/list.tpl +20 -20
- package/templates/partials/groups/memberlist.tpl +39 -39
- package/templates/partials/menu.tpl +247 -247
- package/templates/partials/merge_topics_modal.tpl +57 -57
- package/templates/partials/modals/flag_modal.tpl +44 -44
- package/templates/partials/modals/manage_room.tpl +10 -10
- package/templates/partials/modals/manage_room_users.tpl +6 -6
- package/templates/partials/modals/post_history.tpl +36 -36
- package/templates/partials/modals/rename_room.tpl +3 -3
- package/templates/partials/modals/votes_modal.tpl +10 -10
- package/templates/partials/move_thread_modal.tpl +16 -16
- package/templates/partials/paginator.tpl +44 -44
- package/templates/partials/post_bar.tpl +20 -20
- package/templates/partials/posts_list.tpl +7 -7
- package/templates/partials/quick-search-results.tpl +30 -30
- package/templates/partials/slideout-menu.tpl +26 -26
- package/templates/partials/tags_list.tpl +4 -4
- package/templates/partials/thread_tools.tpl +7 -7
- package/templates/partials/topic/badge.tpl +4 -4
- package/templates/partials/topic/browsing-users.tpl +12 -12
- package/templates/partials/topic/deleted-message.tpl +10 -10
- package/templates/partials/topic/navigation-post.tpl +11 -11
- package/templates/partials/topic/necro-post.tpl +2 -2
- package/templates/partials/topic/post-menu.tpl +4 -4
- package/templates/partials/topic/post.tpl +104 -104
- package/templates/partials/topic/quickreply.tpl +20 -20
- package/templates/partials/topic/reply-button.tpl +26 -26
- package/templates/partials/topic/selection-tooltip.tpl +2 -2
- package/templates/partials/topic/sort.tpl +9 -9
- package/templates/partials/topic/stats.tpl +11 -11
- package/templates/partials/topic/tags.tpl +4 -4
- package/templates/partials/topic/watch.tpl +20 -20
- package/templates/partials/users_list.tpl +39 -39
- package/templates/partials/users_list_menu.tpl +10 -10
- package/templates/popular.tpl +61 -61
- package/templates/post-queue.tpl +82 -82
- package/templates/recent.tpl +51 -51
- package/templates/reset.tpl +23 -23
- package/templates/reset_code.tpl +41 -41
- package/templates/tag.tpl +35 -35
- package/templates/tags.tpl +30 -30
- package/templates/top.tpl +61 -61
- package/templates/tos.tpl +4 -4
- package/templates/unread.tpl +49 -49
- package/templates/users.tpl +47 -47
- package/theme.json +6 -6
- package/theme.less +1 -1
|
@@ -1,188 +1,188 @@
|
|
|
1
|
-
<div class="account">
|
|
2
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
-
|
|
4
|
-
<!-- IF sessions.length -->
|
|
5
|
-
<div class="row">
|
|
6
|
-
<div class="col-xs-12 col-md-12">
|
|
7
|
-
<h4>[[global:sessions]]</h4>
|
|
8
|
-
<ul class="list-group" component="user/sessions">
|
|
9
|
-
{{{each sessions}}}
|
|
10
|
-
<li class="list-group-item" data-uuid="{../uuid}">
|
|
11
|
-
<div class="pull-right">
|
|
12
|
-
<!-- IF isSelfOrAdminOrGlobalModerator -->
|
|
13
|
-
<!-- IF !../current -->
|
|
14
|
-
<button class="btn btn-xs btn-default" type="button" data-action="revokeSession">Revoke Session</button>
|
|
15
|
-
<!-- ENDIF !../current -->
|
|
16
|
-
<!-- ENDIF isSelfOrAdminOrGlobalModerator -->
|
|
17
|
-
{function.userAgentIcons}
|
|
18
|
-
<i class="fa fa-circle text-<!-- IF ../current -->success<!-- ELSE -->muted<!-- ENDIF ../current -->"></i>
|
|
19
|
-
</div>
|
|
20
|
-
{../browser} {../version} on {../platform}<br />
|
|
21
|
-
<small class="timeago text-muted" title="{../datetimeISO}"></small>
|
|
22
|
-
<ul>
|
|
23
|
-
<li><strong>[[global:ip_address]]</strong>: {../ip}</li>
|
|
24
|
-
</ul>
|
|
25
|
-
</li>
|
|
26
|
-
{{{end}}}
|
|
27
|
-
</ul>
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
<!-- ENDIF sessions.length -->
|
|
31
|
-
|
|
32
|
-
<div class="row">
|
|
33
|
-
<div class="col-sm-6">
|
|
34
|
-
<div class="panel panel-default">
|
|
35
|
-
<div class="panel-heading">
|
|
36
|
-
<h3 class="panel-title">[[global:recentips]]</h3>
|
|
37
|
-
</div>
|
|
38
|
-
<div class="panel-body">
|
|
39
|
-
<ul>
|
|
40
|
-
{{{each ips}}}
|
|
41
|
-
<li>{@value}</li>
|
|
42
|
-
{{{end}}}
|
|
43
|
-
</ul>
|
|
44
|
-
</div>
|
|
45
|
-
</div>
|
|
46
|
-
|
|
47
|
-
<div class="panel panel-default">
|
|
48
|
-
<div class="panel-heading">
|
|
49
|
-
<h3 class="panel-title">[[user:info.username-history]]</h3>
|
|
50
|
-
</div>
|
|
51
|
-
<div class="panel-body">
|
|
52
|
-
<ul class="list-group">
|
|
53
|
-
{{{each usernames}}}
|
|
54
|
-
<li class="list-group-item">
|
|
55
|
-
{../value}
|
|
56
|
-
<small class="pull-right"><span class="timeago" title="{../timestampISO}"></span></small>
|
|
57
|
-
</li>
|
|
58
|
-
{{{end}}}
|
|
59
|
-
</ul>
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
|
|
63
|
-
<div class="panel panel-default">
|
|
64
|
-
<div class="panel-heading">
|
|
65
|
-
<h3 class="panel-title">[[user:info.email-history]]</h3>
|
|
66
|
-
</div>
|
|
67
|
-
<div class="panel-body">
|
|
68
|
-
<ul class="list-group">
|
|
69
|
-
{{{each emails}}}
|
|
70
|
-
<li class="list-group-item">
|
|
71
|
-
{../value}
|
|
72
|
-
<small class="pull-right"><span class="timeago" title="{../timestampISO}"></span></small>
|
|
73
|
-
</li>
|
|
74
|
-
{{{end}}}
|
|
75
|
-
</ul>
|
|
76
|
-
</div>
|
|
77
|
-
</div>
|
|
78
|
-
</div>
|
|
79
|
-
<div class="col-sm-6">
|
|
80
|
-
<div class="panel panel-default">
|
|
81
|
-
<div class="panel-heading">
|
|
82
|
-
<h3 class="panel-title">[[user:info.latest-flags]]</h3>
|
|
83
|
-
</div>
|
|
84
|
-
<div class="panel-body">
|
|
85
|
-
<!-- IF history.flags.length -->
|
|
86
|
-
<ul class="recent-flags">
|
|
87
|
-
{{{each history.flags}}}
|
|
88
|
-
<li>
|
|
89
|
-
<p>
|
|
90
|
-
{{{ if history.flags.targetPurged }}}
|
|
91
|
-
<div>[[flags:target-purged]]</div>
|
|
92
|
-
{{{ else }}}
|
|
93
|
-
<a class="title" href="{config.relative_path}/post/{../pid}">{../title}</a><br />
|
|
94
|
-
{{{ end }}}
|
|
95
|
-
<span class="timestamp">[[flags:flagged-timeago-readable, {../timestampISO}, {../timestampReadable}]]</span>
|
|
96
|
-
</p>
|
|
97
|
-
</li>
|
|
98
|
-
{{{end}}}
|
|
99
|
-
</ul>
|
|
100
|
-
<!-- ELSE -->
|
|
101
|
-
<div class="alert alert-success">[[user:info.no-flags]]</div>
|
|
102
|
-
<!-- ENDIF history.flags.length -->
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
|
|
106
|
-
<div class="panel panel-default">
|
|
107
|
-
<div class="panel-heading">
|
|
108
|
-
<h3 class="panel-title">
|
|
109
|
-
|
|
110
|
-
[[user:info.ban-history]]
|
|
111
|
-
|
|
112
|
-
<!-- IF !banned -->
|
|
113
|
-
<!-- IF !isSelf -->
|
|
114
|
-
<button class="btn btn-xs pull-right btn-danger" component="account/ban">[[user:ban_account]]</button>
|
|
115
|
-
<!-- ENDIF !isSelf -->
|
|
116
|
-
<!-- ELSE -->
|
|
117
|
-
<!-- IF !isSelf -->
|
|
118
|
-
<button class="btn btn-xs pull-right btn-success" component="account/unban">[[user:unban_account]]</button>
|
|
119
|
-
<!-- ENDIF !isSelf -->
|
|
120
|
-
<!-- ENDIF !banned -->
|
|
121
|
-
</h3>
|
|
122
|
-
</div>
|
|
123
|
-
<div class="panel-body">
|
|
124
|
-
<!-- IF history.bans.length -->
|
|
125
|
-
<ul class="ban-history">
|
|
126
|
-
{{{each history.bans}}}
|
|
127
|
-
<li>
|
|
128
|
-
<p>
|
|
129
|
-
<a href="{config.relative_path}/user/{history.bans.user.userslug}">{buildAvatar(history.bans.user, "sm", true)}</a>
|
|
130
|
-
<strong>
|
|
131
|
-
<a href="<!-- IF history.bans.user.userslug -->{config.relative_path}/user/{history.bans.user.userslug}<!-- ELSE -->#<!-- ENDIF history.bans.user.userslug -->" itemprop="author" data-username="{history.bans.user.username}" data-uid="{history.bans.user.uid}">{history.bans.user.username}</a>
|
|
132
|
-
</strong>
|
|
133
|
-
<span class="timestamp timeago" title="{../timestampISO}"></span> — {../timestampReadable}<br />
|
|
134
|
-
<!-- IF ../until -->
|
|
135
|
-
<span class="expiry">[[user:info.banned-until, {../untilReadable}]]</span><br />
|
|
136
|
-
<!-- ELSE -->
|
|
137
|
-
<span class="expiry">[[user:info.banned-permanently]]</span><br />
|
|
138
|
-
<!-- ENDIF ../until -->
|
|
139
|
-
<span class="reason"><strong>[[user:info.banned-reason-label]]</strong>: {../reason}</span>
|
|
140
|
-
</p>
|
|
141
|
-
</li>
|
|
142
|
-
{{{end}}}
|
|
143
|
-
</ul>
|
|
144
|
-
<!-- ELSE -->
|
|
145
|
-
<div class="alert alert-success">[[user:info.no-ban-history]]</div>
|
|
146
|
-
<!-- ENDIF history.bans.length -->
|
|
147
|
-
</div>
|
|
148
|
-
</div>
|
|
149
|
-
<!-- IF isAdminOrGlobalModerator -->
|
|
150
|
-
<div class="panel panel-default">
|
|
151
|
-
<div class="panel-heading">
|
|
152
|
-
<h3 class="panel-title">[[user:info.moderation-note]]</h3>
|
|
153
|
-
</div>
|
|
154
|
-
<div class="panel-body">
|
|
155
|
-
<textarea component="account/moderation-note" class="form-control"></textarea>
|
|
156
|
-
<br/>
|
|
157
|
-
<button class="btn btn-sm pull-right btn-success" component="account/save-moderation-note">[[user:info.moderation-note.add]]</button>
|
|
158
|
-
<br/>
|
|
159
|
-
<div component="account/moderation-note/list">
|
|
160
|
-
{{{each moderationNotes}}}
|
|
161
|
-
<hr/>
|
|
162
|
-
|
|
163
|
-
<div class="clearfix">
|
|
164
|
-
<div class="pull-left">
|
|
165
|
-
<a href="<!-- IF moderationNotes.user.userslug -->{config.relative_path}/user/{moderationNotes.user.userslug}<!-- ELSE -->#<!-- ENDIF moderationNotes.user.userslug -->">{buildAvatar(moderationNotes.user, "sm", true)}</a>
|
|
166
|
-
<strong>
|
|
167
|
-
<a href="<!-- IF moderationNotes.user.userslug -->{config.relative_path}/user/{moderationNotes.user.userslug}<!-- ELSE -->#<!-- ENDIF moderationNotes.user.userslug -->" itemprop="author" data-username="{moderationNotes.user.username}" data-uid="{moderationNotes.user.uid}">{moderationNotes.user.username}</a>
|
|
168
|
-
</strong>
|
|
169
|
-
|
|
170
|
-
<div class="visible-xs-inline-block visible-sm-inline-block visible-md-inline-block visible-lg-inline-block">
|
|
171
|
-
<span class="timeago" title="{moderationNotes.timestampISO}"></span>
|
|
172
|
-
</div>
|
|
173
|
-
<br />
|
|
174
|
-
|
|
175
|
-
<div class="content">
|
|
176
|
-
{moderationNotes.note}
|
|
177
|
-
</div>
|
|
178
|
-
</div>
|
|
179
|
-
</div>
|
|
180
|
-
{{{end}}}
|
|
181
|
-
</div>
|
|
182
|
-
<!-- IMPORT partials/paginator.tpl -->
|
|
183
|
-
</div>
|
|
184
|
-
</div>
|
|
185
|
-
<!-- ENDIF isAdminOrGlobalModerator -->
|
|
186
|
-
</div>
|
|
187
|
-
</div>
|
|
1
|
+
<div class="account">
|
|
2
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
+
|
|
4
|
+
<!-- IF sessions.length -->
|
|
5
|
+
<div class="row">
|
|
6
|
+
<div class="col-xs-12 col-md-12">
|
|
7
|
+
<h4>[[global:sessions]]</h4>
|
|
8
|
+
<ul class="list-group" component="user/sessions">
|
|
9
|
+
{{{each sessions}}}
|
|
10
|
+
<li class="list-group-item" data-uuid="{../uuid}">
|
|
11
|
+
<div class="pull-right">
|
|
12
|
+
<!-- IF isSelfOrAdminOrGlobalModerator -->
|
|
13
|
+
<!-- IF !../current -->
|
|
14
|
+
<button class="btn btn-xs btn-default" type="button" data-action="revokeSession">Revoke Session</button>
|
|
15
|
+
<!-- ENDIF !../current -->
|
|
16
|
+
<!-- ENDIF isSelfOrAdminOrGlobalModerator -->
|
|
17
|
+
{function.userAgentIcons}
|
|
18
|
+
<i class="fa fa-circle text-<!-- IF ../current -->success<!-- ELSE -->muted<!-- ENDIF ../current -->"></i>
|
|
19
|
+
</div>
|
|
20
|
+
{../browser} {../version} on {../platform}<br />
|
|
21
|
+
<small class="timeago text-muted" title="{../datetimeISO}"></small>
|
|
22
|
+
<ul>
|
|
23
|
+
<li><strong>[[global:ip_address]]</strong>: {../ip}</li>
|
|
24
|
+
</ul>
|
|
25
|
+
</li>
|
|
26
|
+
{{{end}}}
|
|
27
|
+
</ul>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
<!-- ENDIF sessions.length -->
|
|
31
|
+
|
|
32
|
+
<div class="row">
|
|
33
|
+
<div class="col-sm-6">
|
|
34
|
+
<div class="panel panel-default">
|
|
35
|
+
<div class="panel-heading">
|
|
36
|
+
<h3 class="panel-title">[[global:recentips]]</h3>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="panel-body">
|
|
39
|
+
<ul>
|
|
40
|
+
{{{each ips}}}
|
|
41
|
+
<li>{@value}</li>
|
|
42
|
+
{{{end}}}
|
|
43
|
+
</ul>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<div class="panel panel-default">
|
|
48
|
+
<div class="panel-heading">
|
|
49
|
+
<h3 class="panel-title">[[user:info.username-history]]</h3>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="panel-body">
|
|
52
|
+
<ul class="list-group">
|
|
53
|
+
{{{each usernames}}}
|
|
54
|
+
<li class="list-group-item">
|
|
55
|
+
{../value}
|
|
56
|
+
<small class="pull-right"><span class="timeago" title="{../timestampISO}"></span></small>
|
|
57
|
+
</li>
|
|
58
|
+
{{{end}}}
|
|
59
|
+
</ul>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div class="panel panel-default">
|
|
64
|
+
<div class="panel-heading">
|
|
65
|
+
<h3 class="panel-title">[[user:info.email-history]]</h3>
|
|
66
|
+
</div>
|
|
67
|
+
<div class="panel-body">
|
|
68
|
+
<ul class="list-group">
|
|
69
|
+
{{{each emails}}}
|
|
70
|
+
<li class="list-group-item">
|
|
71
|
+
{../value}
|
|
72
|
+
<small class="pull-right"><span class="timeago" title="{../timestampISO}"></span></small>
|
|
73
|
+
</li>
|
|
74
|
+
{{{end}}}
|
|
75
|
+
</ul>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
<div class="col-sm-6">
|
|
80
|
+
<div class="panel panel-default">
|
|
81
|
+
<div class="panel-heading">
|
|
82
|
+
<h3 class="panel-title">[[user:info.latest-flags]]</h3>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="panel-body">
|
|
85
|
+
<!-- IF history.flags.length -->
|
|
86
|
+
<ul class="recent-flags">
|
|
87
|
+
{{{each history.flags}}}
|
|
88
|
+
<li>
|
|
89
|
+
<p>
|
|
90
|
+
{{{ if history.flags.targetPurged }}}
|
|
91
|
+
<div>[[flags:target-purged]]</div>
|
|
92
|
+
{{{ else }}}
|
|
93
|
+
<a class="title" href="{config.relative_path}/post/{../pid}">{../title}</a><br />
|
|
94
|
+
{{{ end }}}
|
|
95
|
+
<span class="timestamp">[[flags:flagged-timeago-readable, {../timestampISO}, {../timestampReadable}]]</span>
|
|
96
|
+
</p>
|
|
97
|
+
</li>
|
|
98
|
+
{{{end}}}
|
|
99
|
+
</ul>
|
|
100
|
+
<!-- ELSE -->
|
|
101
|
+
<div class="alert alert-success">[[user:info.no-flags]]</div>
|
|
102
|
+
<!-- ENDIF history.flags.length -->
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
|
|
106
|
+
<div class="panel panel-default">
|
|
107
|
+
<div class="panel-heading">
|
|
108
|
+
<h3 class="panel-title">
|
|
109
|
+
|
|
110
|
+
[[user:info.ban-history]]
|
|
111
|
+
|
|
112
|
+
<!-- IF !banned -->
|
|
113
|
+
<!-- IF !isSelf -->
|
|
114
|
+
<button class="btn btn-xs pull-right btn-danger" component="account/ban">[[user:ban_account]]</button>
|
|
115
|
+
<!-- ENDIF !isSelf -->
|
|
116
|
+
<!-- ELSE -->
|
|
117
|
+
<!-- IF !isSelf -->
|
|
118
|
+
<button class="btn btn-xs pull-right btn-success" component="account/unban">[[user:unban_account]]</button>
|
|
119
|
+
<!-- ENDIF !isSelf -->
|
|
120
|
+
<!-- ENDIF !banned -->
|
|
121
|
+
</h3>
|
|
122
|
+
</div>
|
|
123
|
+
<div class="panel-body">
|
|
124
|
+
<!-- IF history.bans.length -->
|
|
125
|
+
<ul class="ban-history">
|
|
126
|
+
{{{each history.bans}}}
|
|
127
|
+
<li>
|
|
128
|
+
<p>
|
|
129
|
+
<a href="{config.relative_path}/user/{history.bans.user.userslug}">{buildAvatar(history.bans.user, "sm", true)}</a>
|
|
130
|
+
<strong>
|
|
131
|
+
<a href="<!-- IF history.bans.user.userslug -->{config.relative_path}/user/{history.bans.user.userslug}<!-- ELSE -->#<!-- ENDIF history.bans.user.userslug -->" itemprop="author" data-username="{history.bans.user.username}" data-uid="{history.bans.user.uid}">{history.bans.user.username}</a>
|
|
132
|
+
</strong>
|
|
133
|
+
<span class="timestamp timeago" title="{../timestampISO}"></span> — {../timestampReadable}<br />
|
|
134
|
+
<!-- IF ../until -->
|
|
135
|
+
<span class="expiry">[[user:info.banned-until, {../untilReadable}]]</span><br />
|
|
136
|
+
<!-- ELSE -->
|
|
137
|
+
<span class="expiry">[[user:info.banned-permanently]]</span><br />
|
|
138
|
+
<!-- ENDIF ../until -->
|
|
139
|
+
<span class="reason"><strong>[[user:info.banned-reason-label]]</strong>: {../reason}</span>
|
|
140
|
+
</p>
|
|
141
|
+
</li>
|
|
142
|
+
{{{end}}}
|
|
143
|
+
</ul>
|
|
144
|
+
<!-- ELSE -->
|
|
145
|
+
<div class="alert alert-success">[[user:info.no-ban-history]]</div>
|
|
146
|
+
<!-- ENDIF history.bans.length -->
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
<!-- IF isAdminOrGlobalModerator -->
|
|
150
|
+
<div class="panel panel-default">
|
|
151
|
+
<div class="panel-heading">
|
|
152
|
+
<h3 class="panel-title">[[user:info.moderation-note]]</h3>
|
|
153
|
+
</div>
|
|
154
|
+
<div class="panel-body">
|
|
155
|
+
<textarea component="account/moderation-note" class="form-control"></textarea>
|
|
156
|
+
<br/>
|
|
157
|
+
<button class="btn btn-sm pull-right btn-success" component="account/save-moderation-note">[[user:info.moderation-note.add]]</button>
|
|
158
|
+
<br/>
|
|
159
|
+
<div component="account/moderation-note/list">
|
|
160
|
+
{{{each moderationNotes}}}
|
|
161
|
+
<hr/>
|
|
162
|
+
|
|
163
|
+
<div class="clearfix">
|
|
164
|
+
<div class="pull-left">
|
|
165
|
+
<a href="<!-- IF moderationNotes.user.userslug -->{config.relative_path}/user/{moderationNotes.user.userslug}<!-- ELSE -->#<!-- ENDIF moderationNotes.user.userslug -->">{buildAvatar(moderationNotes.user, "sm", true)}</a>
|
|
166
|
+
<strong>
|
|
167
|
+
<a href="<!-- IF moderationNotes.user.userslug -->{config.relative_path}/user/{moderationNotes.user.userslug}<!-- ELSE -->#<!-- ENDIF moderationNotes.user.userslug -->" itemprop="author" data-username="{moderationNotes.user.username}" data-uid="{moderationNotes.user.uid}">{moderationNotes.user.username}</a>
|
|
168
|
+
</strong>
|
|
169
|
+
|
|
170
|
+
<div class="visible-xs-inline-block visible-sm-inline-block visible-md-inline-block visible-lg-inline-block">
|
|
171
|
+
<span class="timeago" title="{moderationNotes.timestampISO}"></span>
|
|
172
|
+
</div>
|
|
173
|
+
<br />
|
|
174
|
+
|
|
175
|
+
<div class="content">
|
|
176
|
+
{moderationNotes.note}
|
|
177
|
+
</div>
|
|
178
|
+
</div>
|
|
179
|
+
</div>
|
|
180
|
+
{{{end}}}
|
|
181
|
+
</div>
|
|
182
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
<!-- ENDIF isAdminOrGlobalModerator -->
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
188
|
</div>
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
<div class="account">
|
|
2
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
-
|
|
4
|
-
<div class="row">
|
|
5
|
-
<h1>{title}</h1>
|
|
6
|
-
|
|
7
|
-
<!-- IF !posts.length -->
|
|
8
|
-
<div class="alert alert-warning text-center">{noItemsFoundKey}</div>
|
|
9
|
-
<!-- ENDIF !posts.length -->
|
|
10
|
-
|
|
11
|
-
<div class="col-xs-12">
|
|
12
|
-
<!-- IMPORT partials/posts_list.tpl -->
|
|
13
|
-
|
|
14
|
-
<!-- IF config.usePagination -->
|
|
15
|
-
<!-- IMPORT partials/paginator.tpl -->
|
|
16
|
-
<!-- ENDIF config.usePagination -->
|
|
17
|
-
</div>
|
|
18
|
-
</div>
|
|
1
|
+
<div class="account">
|
|
2
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
+
|
|
4
|
+
<div class="row">
|
|
5
|
+
<h1>{title}</h1>
|
|
6
|
+
|
|
7
|
+
<!-- IF !posts.length -->
|
|
8
|
+
<div class="alert alert-warning text-center">{noItemsFoundKey}</div>
|
|
9
|
+
<!-- ENDIF !posts.length -->
|
|
10
|
+
|
|
11
|
+
<div class="col-xs-12">
|
|
12
|
+
<!-- IMPORT partials/posts_list.tpl -->
|
|
13
|
+
|
|
14
|
+
<!-- IF config.usePagination -->
|
|
15
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
16
|
+
<!-- ENDIF config.usePagination -->
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
19
|
</div>
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
<div class="account">
|
|
2
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
-
|
|
4
|
-
<!-- IF sessions.length -->
|
|
5
|
-
<div class="row">
|
|
6
|
-
<div class="col-xs-12 col-md-12">
|
|
7
|
-
<p class="lead">[[user:sessions.description]]</p>
|
|
8
|
-
<hr />
|
|
9
|
-
<ul class="list-group" component="user/sessions">
|
|
10
|
-
{{{each sessions}}}
|
|
11
|
-
<li class="list-group-item" data-uuid="{../uuid}">
|
|
12
|
-
<div class="pull-right">
|
|
13
|
-
<!-- IF isSelfOrAdminOrGlobalModerator -->
|
|
14
|
-
<!-- IF !../current -->
|
|
15
|
-
<button class="btn btn-xs btn-default" type="button" data-action="revokeSession">Revoke Session</button>
|
|
16
|
-
<!-- ENDIF !../current -->
|
|
17
|
-
<!-- ENDIF isSelfOrAdminOrGlobalModerator -->
|
|
18
|
-
{function.userAgentIcons}
|
|
19
|
-
<i class="fa fa-circle text-<!-- IF ../current -->success<!-- ELSE -->muted<!-- ENDIF ../current -->"></i>
|
|
20
|
-
</div>
|
|
21
|
-
{../browser} {../version} on {../platform}<br />
|
|
22
|
-
<small class="timeago text-muted" title="{../datetimeISO}"></small>
|
|
23
|
-
<ul>
|
|
24
|
-
<li><strong>[[global:ip_address]]</strong>: {../ip}</li>
|
|
25
|
-
</ul>
|
|
26
|
-
</li>
|
|
27
|
-
{{{end}}}
|
|
28
|
-
</ul>
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
31
|
-
<!-- ENDIF sessions.length -->
|
|
1
|
+
<div class="account">
|
|
2
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
+
|
|
4
|
+
<!-- IF sessions.length -->
|
|
5
|
+
<div class="row">
|
|
6
|
+
<div class="col-xs-12 col-md-12">
|
|
7
|
+
<p class="lead">[[user:sessions.description]]</p>
|
|
8
|
+
<hr />
|
|
9
|
+
<ul class="list-group" component="user/sessions">
|
|
10
|
+
{{{each sessions}}}
|
|
11
|
+
<li class="list-group-item" data-uuid="{../uuid}">
|
|
12
|
+
<div class="pull-right">
|
|
13
|
+
<!-- IF isSelfOrAdminOrGlobalModerator -->
|
|
14
|
+
<!-- IF !../current -->
|
|
15
|
+
<button class="btn btn-xs btn-default" type="button" data-action="revokeSession">Revoke Session</button>
|
|
16
|
+
<!-- ENDIF !../current -->
|
|
17
|
+
<!-- ENDIF isSelfOrAdminOrGlobalModerator -->
|
|
18
|
+
{function.userAgentIcons}
|
|
19
|
+
<i class="fa fa-circle text-<!-- IF ../current -->success<!-- ELSE -->muted<!-- ENDIF ../current -->"></i>
|
|
20
|
+
</div>
|
|
21
|
+
{../browser} {../version} on {../platform}<br />
|
|
22
|
+
<small class="timeago text-muted" title="{../datetimeISO}"></small>
|
|
23
|
+
<ul>
|
|
24
|
+
<li><strong>[[global:ip_address]]</strong>: {../ip}</li>
|
|
25
|
+
</ul>
|
|
26
|
+
</li>
|
|
27
|
+
{{{end}}}
|
|
28
|
+
</ul>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
<!-- ENDIF sessions.length -->
|
|
32
32
|
</div>
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
<div class="account">
|
|
2
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
-
|
|
4
|
-
<div class="row">
|
|
5
|
-
<h1>{title}</h1>
|
|
6
|
-
<!-- IF showSort -->
|
|
7
|
-
<div class="row clearfix">
|
|
8
|
-
<div class="pull-right btn-group bottom-sheet" component="thread/sort">
|
|
9
|
-
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button"><span>[[topic:sort_by]]</span> <span class="caret"></span></button>
|
|
10
|
-
<ul class="dropdown-menu dropdown-menu-right">
|
|
11
|
-
{{{each sortOptions }}}
|
|
12
|
-
<li><a href="{config.relative_path}{sortOptions.url}"><i class="fa fa-fw {{{if sortOptions.selected}}}fa-check{{{end}}}"></i>{sortOptions.name}</a></li>
|
|
13
|
-
{{{end}}}
|
|
14
|
-
</ul>
|
|
15
|
-
</div>
|
|
16
|
-
</div>
|
|
17
|
-
<!-- ENDIF showSort -->
|
|
18
|
-
|
|
19
|
-
<!-- IF !topics.length -->
|
|
20
|
-
<div class="alert alert-warning text-center">{noItemsFoundKey}</div>
|
|
21
|
-
<!-- ENDIF !topics.length -->
|
|
22
|
-
|
|
23
|
-
<div class="category">
|
|
24
|
-
<!-- IMPORT partials/topics_list.tpl -->
|
|
25
|
-
<!-- IF config.usePagination -->
|
|
26
|
-
<!-- IMPORT partials/paginator.tpl -->
|
|
27
|
-
<!-- ENDIF config.usePagination -->
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
1
|
+
<div class="account">
|
|
2
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
+
|
|
4
|
+
<div class="row">
|
|
5
|
+
<h1>{title}</h1>
|
|
6
|
+
<!-- IF showSort -->
|
|
7
|
+
<div class="row clearfix">
|
|
8
|
+
<div class="pull-right btn-group bottom-sheet" component="thread/sort">
|
|
9
|
+
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button"><span>[[topic:sort_by]]</span> <span class="caret"></span></button>
|
|
10
|
+
<ul class="dropdown-menu dropdown-menu-right">
|
|
11
|
+
{{{each sortOptions }}}
|
|
12
|
+
<li><a href="{config.relative_path}{sortOptions.url}"><i class="fa fa-fw {{{if sortOptions.selected}}}fa-check{{{end}}}"></i>{sortOptions.name}</a></li>
|
|
13
|
+
{{{end}}}
|
|
14
|
+
</ul>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
<!-- ENDIF showSort -->
|
|
18
|
+
|
|
19
|
+
<!-- IF !topics.length -->
|
|
20
|
+
<div class="alert alert-warning text-center">{noItemsFoundKey}</div>
|
|
21
|
+
<!-- ENDIF !topics.length -->
|
|
22
|
+
|
|
23
|
+
<div class="category">
|
|
24
|
+
<!-- IMPORT partials/topics_list.tpl -->
|
|
25
|
+
<!-- IF config.usePagination -->
|
|
26
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
27
|
+
<!-- ENDIF config.usePagination -->
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
<div class="account">
|
|
2
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
-
<div class="row">
|
|
4
|
-
<h1>{title}</h1>
|
|
5
|
-
|
|
6
|
-
<!-- IF privateUploads -->
|
|
7
|
-
<div class="alert alert-info text-center">[[uploads:private-uploads-info]]</div>
|
|
8
|
-
<!-- ELSE -->
|
|
9
|
-
<div class="alert alert-info text-center">[[uploads:public-uploads-info]]</div>
|
|
10
|
-
<!-- ENDIF privateUploads -->
|
|
11
|
-
|
|
12
|
-
<!-- IF !uploads.length -->
|
|
13
|
-
<div class="alert alert-warning text-center">[[uploads:no-uploads-found]]</div>
|
|
14
|
-
<!-- ENDIF !uploads.length -->
|
|
15
|
-
|
|
16
|
-
<div class="col-xs-12">
|
|
17
|
-
<table class="table table-striped">
|
|
18
|
-
<thead>
|
|
19
|
-
<tr>
|
|
20
|
-
<th></th>
|
|
21
|
-
<th></th>
|
|
22
|
-
</tr>
|
|
23
|
-
</thead>
|
|
24
|
-
<tbody>
|
|
25
|
-
{{{each uploads}}}
|
|
26
|
-
<tr data-name="{uploads.name}">
|
|
27
|
-
<td>
|
|
28
|
-
<a href="{config.relative_path}{uploads.url}">{uploads.url}</a>
|
|
29
|
-
</td>
|
|
30
|
-
<td>
|
|
31
|
-
<div class="btn-group ">
|
|
32
|
-
<button class="btn btn-danger btn-xs" data-action="delete"><i class="fa fa-trash"></i></button>
|
|
33
|
-
</div>
|
|
34
|
-
</td>
|
|
35
|
-
</tr>
|
|
36
|
-
{{{end}}}
|
|
37
|
-
</tbody>
|
|
38
|
-
</table>
|
|
39
|
-
|
|
40
|
-
<!-- IMPORT partials/paginator.tpl -->
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
1
|
+
<div class="account">
|
|
2
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
+
<div class="row">
|
|
4
|
+
<h1>{title}</h1>
|
|
5
|
+
|
|
6
|
+
<!-- IF privateUploads -->
|
|
7
|
+
<div class="alert alert-info text-center">[[uploads:private-uploads-info]]</div>
|
|
8
|
+
<!-- ELSE -->
|
|
9
|
+
<div class="alert alert-info text-center">[[uploads:public-uploads-info]]</div>
|
|
10
|
+
<!-- ENDIF privateUploads -->
|
|
11
|
+
|
|
12
|
+
<!-- IF !uploads.length -->
|
|
13
|
+
<div class="alert alert-warning text-center">[[uploads:no-uploads-found]]</div>
|
|
14
|
+
<!-- ENDIF !uploads.length -->
|
|
15
|
+
|
|
16
|
+
<div class="col-xs-12">
|
|
17
|
+
<table class="table table-striped">
|
|
18
|
+
<thead>
|
|
19
|
+
<tr>
|
|
20
|
+
<th></th>
|
|
21
|
+
<th></th>
|
|
22
|
+
</tr>
|
|
23
|
+
</thead>
|
|
24
|
+
<tbody>
|
|
25
|
+
{{{each uploads}}}
|
|
26
|
+
<tr data-name="{uploads.name}">
|
|
27
|
+
<td>
|
|
28
|
+
<a href="{config.relative_path}{uploads.url}">{uploads.url}</a>
|
|
29
|
+
</td>
|
|
30
|
+
<td>
|
|
31
|
+
<div class="btn-group ">
|
|
32
|
+
<button class="btn btn-danger btn-xs" data-action="delete"><i class="fa fa-trash"></i></button>
|
|
33
|
+
</div>
|
|
34
|
+
</td>
|
|
35
|
+
</tr>
|
|
36
|
+
{{{end}}}
|
|
37
|
+
</tbody>
|
|
38
|
+
</table>
|
|
39
|
+
|
|
40
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
43
|
</div>
|