2016-12-20 00:19:10 +08:00
|
|
|
{{plugin-outlet name="admin-dashboard-top"}}
|
2015-11-03 03:38:07 +08:00
|
|
|
|
2016-08-04 03:36:41 +08:00
|
|
|
{{#conditional-loading-spinner condition=loading}}
|
|
|
|
<div class="dashboard-left">
|
|
|
|
{{#if showVersionChecks}}
|
|
|
|
{{partial 'admin/templates/version-checks'}}
|
|
|
|
{{/if}}
|
2013-03-01 04:35:34 +08:00
|
|
|
|
2016-08-04 03:36:41 +08:00
|
|
|
<div class="dashboard-stats trust-levels">
|
|
|
|
<table class="table table-condensed table-hover">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th> </th>
|
|
|
|
<th>0</th>
|
|
|
|
<th>1</th>
|
|
|
|
<th>2</th>
|
|
|
|
<th>3</th>
|
|
|
|
<th>4</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
2016-04-30 05:29:41 +08:00
|
|
|
{{#each user_reports as |r|}}
|
2015-06-25 08:42:08 +08:00
|
|
|
{{admin-report-trust-level-counts report=r}}
|
|
|
|
{{/each}}
|
2016-08-04 03:36:41 +08:00
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
2013-03-23 05:50:22 +08:00
|
|
|
|
2016-08-04 03:36:41 +08:00
|
|
|
<div class="dashboard-stats totals">
|
|
|
|
<table>
|
|
|
|
<tr>
|
2017-07-27 04:25:09 +08:00
|
|
|
<td class="title">{{d-icon "shield"}} {{i18n 'admin.dashboard.admins'}}</td>
|
2016-08-04 03:36:41 +08:00
|
|
|
<td class="value">{{#link-to 'adminUsersList.show' 'admins'}}{{admins}}{{/link-to}}</td>
|
2017-07-27 04:25:09 +08:00
|
|
|
<td class="title">{{d-icon "ban"}} {{i18n 'admin.dashboard.suspended'}}</td>
|
2016-08-04 03:36:41 +08:00
|
|
|
<td class="value">{{#link-to 'adminUsersList.show' 'suspended'}}{{suspended}}{{/link-to}}</td>
|
|
|
|
</tr>
|
2013-03-15 00:28:35 +08:00
|
|
|
<tr>
|
2017-07-27 04:25:09 +08:00
|
|
|
<td class="title">{{d-icon "shield"}} {{i18n 'admin.dashboard.moderators'}}</td>
|
2016-08-04 03:36:41 +08:00
|
|
|
<td class="value">{{#link-to 'adminUsersList.show' 'moderators'}}{{moderators}}{{/link-to}}</td>
|
2017-11-11 01:18:08 +08:00
|
|
|
<td class="title">{{d-icon "ban"}} {{i18n 'admin.dashboard.silenced'}}</td>
|
|
|
|
<td class="value">{{#link-to 'adminUsersList.show' 'silenced'}}{{silenced}}{{/link-to}}</td>
|
2013-03-15 00:28:35 +08:00
|
|
|
</tr>
|
2016-08-04 03:36:41 +08:00
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="dashboard-stats">
|
|
|
|
<table class="table table-condensed table-hover">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th> </th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.today'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.yesterday'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.last_7_days'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.last_30_days'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.all'}}</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
2016-04-30 05:29:41 +08:00
|
|
|
{{#each global_reports as |r|}}
|
2015-06-25 08:42:08 +08:00
|
|
|
{{admin-report-counts report=r}}
|
|
|
|
{{/each}}
|
2016-08-04 03:36:41 +08:00
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
2013-04-17 04:56:18 +08:00
|
|
|
|
2016-08-04 03:36:41 +08:00
|
|
|
<div class="dashboard-stats">
|
|
|
|
<table class="table table-condensed table-hover">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th class="title" title="{{i18n 'admin.dashboard.page_views'}}">{{i18n 'admin.dashboard.page_views_short'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.today'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.yesterday'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.last_7_days'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.last_30_days'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.all'}}</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
2016-04-30 05:29:41 +08:00
|
|
|
{{#each page_view_reports as |r|}}
|
2015-06-25 08:42:08 +08:00
|
|
|
{{admin-report-counts report=r}}
|
|
|
|
{{/each}}
|
2016-08-04 03:36:41 +08:00
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
2015-02-05 08:18:11 +08:00
|
|
|
|
2016-08-04 03:36:41 +08:00
|
|
|
<div class="dashboard-stats">
|
|
|
|
<table class="table table-condensed table-hover">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
2017-07-27 04:25:09 +08:00
|
|
|
<th class="title" title="{{i18n 'admin.dashboard.private_messages_title'}}">{{d-icon "envelope"}} {{i18n 'admin.dashboard.private_messages_short'}}</th>
|
2016-08-04 03:36:41 +08:00
|
|
|
<th>{{i18n 'admin.dashboard.reports.today'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.yesterday'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.last_7_days'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.last_30_days'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.all'}}</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
2016-04-30 05:29:41 +08:00
|
|
|
{{#each private_message_reports as |r|}}
|
2015-06-25 08:42:08 +08:00
|
|
|
{{admin-report-counts report=r}}
|
|
|
|
{{/each}}
|
2016-08-04 03:36:41 +08:00
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
2013-03-08 00:07:59 +08:00
|
|
|
|
2016-08-04 03:36:41 +08:00
|
|
|
<div class="dashboard-stats">
|
|
|
|
<table class="table table-condensed table-hover">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th class="title" title="{{i18n 'admin.dashboard.mobile_title'}}">{{i18n 'admin.dashboard.mobile_title'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.today'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.yesterday'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.last_7_days'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.last_30_days'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.all'}}</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
2016-04-30 05:29:41 +08:00
|
|
|
{{#each mobile_reports as |r|}}
|
2015-07-08 00:31:07 +08:00
|
|
|
{{admin-report-counts report=r}}
|
|
|
|
{{/each}}
|
2016-08-04 03:36:41 +08:00
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
2015-07-08 00:31:07 +08:00
|
|
|
|
2016-08-04 03:36:41 +08:00
|
|
|
<div class="dashboard-stats">
|
|
|
|
<table class="table table-condensed table-hover">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th> </th>
|
|
|
|
<th></th>
|
|
|
|
<th></th>
|
|
|
|
<th></th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
2015-02-04 15:05:17 +08:00
|
|
|
<tr>
|
|
|
|
<td>{{i18n 'admin.dashboard.uploads'}}</td>
|
|
|
|
<td>{{disk_space.uploads_used}} ({{i18n 'admin.dashboard.space_free' size=disk_space.uploads_free}})</td>
|
2015-09-28 22:51:12 +08:00
|
|
|
<td>{{#if currentUser.admin}}<a href="/admin/backups">{{i18n 'admin.dashboard.backups'}}</a>{{/if}}</td>
|
2015-02-04 15:25:37 +08:00
|
|
|
<td>{{disk_space.backups_used}} ({{i18n 'admin.dashboard.space_free' size=disk_space.backups_free}})</td>
|
2015-02-04 15:05:17 +08:00
|
|
|
</tr>
|
2016-08-04 03:36:41 +08:00
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
2015-02-06 11:39:04 +08:00
|
|
|
|
|
|
|
{{#if showTrafficReport}}
|
|
|
|
<div class="dashboard-stats">
|
|
|
|
<table class="table table-condensed table-hover">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th class="title" title="{{i18n 'admin.dashboard.traffic'}}">{{i18n 'admin.dashboard.traffic_short'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.today'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.yesterday'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.last_7_days'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.last_30_days'}}</th>
|
|
|
|
<th>{{i18n 'admin.dashboard.reports.all'}}</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
2015-05-15 00:53:33 +08:00
|
|
|
<tbody>
|
|
|
|
{{#unless loading}}
|
2016-04-30 05:29:41 +08:00
|
|
|
{{#each http_reports as |r|}}
|
2015-06-25 08:42:08 +08:00
|
|
|
{{admin-report-counts report=r}}
|
|
|
|
{{/each}}
|
2015-05-15 00:53:33 +08:00
|
|
|
{{/unless}}
|
|
|
|
</tbody>
|
2015-02-06 11:39:04 +08:00
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
{{else}}
|
2015-05-15 00:53:33 +08:00
|
|
|
<div class="dashboard-stats">
|
|
|
|
<a href {{action 'showTrafficReport'}}>{{i18n 'admin.dashboard.show_traffic_report'}}</a>
|
|
|
|
</div>
|
2015-02-06 11:39:04 +08:00
|
|
|
{{/if}}
|
2016-08-04 03:36:41 +08:00
|
|
|
</div>
|
2014-09-12 02:45:35 +08:00
|
|
|
|
2016-08-04 03:36:41 +08:00
|
|
|
<div class="dashboard-right">
|
|
|
|
{{#if foundProblems}}
|
2014-09-12 02:45:35 +08:00
|
|
|
<div class="dashboard-stats detected-problems">
|
2017-07-27 04:25:09 +08:00
|
|
|
<div class="look-here">{{d-icon "exclamation-triangle"}}</div>
|
2014-09-12 02:45:35 +08:00
|
|
|
<div class="problem-messages">
|
2016-08-04 03:36:41 +08:00
|
|
|
{{#conditional-loading-spinner condition=loadingProblems}}
|
|
|
|
<p>
|
|
|
|
{{i18n 'admin.dashboard.problems_found'}}
|
|
|
|
<ul class="{{if loadingProblems 'invisible'}}">
|
|
|
|
{{#each problems as |problem|}}
|
|
|
|
<li>{{{problem}}}</li>
|
|
|
|
{{/each}}
|
|
|
|
</ul>
|
|
|
|
</p>
|
|
|
|
<p class="actions">
|
|
|
|
<small>{{i18n 'admin.dashboard.last_checked'}}: {{problemsTimestamp}}</small>
|
|
|
|
{{d-button action="refreshProblems" class="btn-small" icon="refresh" label="admin.dashboard.refresh_problems"}}
|
|
|
|
</p>
|
|
|
|
{{/conditional-loading-spinner}}
|
2014-09-12 02:45:35 +08:00
|
|
|
</div>
|
|
|
|
<div class="clearfix"></div>
|
|
|
|
</div>
|
2016-08-04 03:36:41 +08:00
|
|
|
{{else}}
|
|
|
|
{{#if thereWereProblems}}
|
|
|
|
<div class="dashboard-stats detected-problems">
|
|
|
|
<div class="look-here"> </div>
|
|
|
|
<div class="problem-messages">
|
|
|
|
<p>
|
|
|
|
{{i18n 'admin.dashboard.no_problems'}}
|
|
|
|
{{d-button action="refreshProblems" class="btn-small" icon="refresh" label="admin.dashboard.refresh_problems"}}
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<div class="clearfix"></div>
|
|
|
|
</div>
|
|
|
|
{{/if}}
|
2014-09-12 02:45:35 +08:00
|
|
|
{{/if}}
|
2013-05-02 06:12:02 +08:00
|
|
|
|
2016-08-04 03:36:41 +08:00
|
|
|
<div class="dashboard-stats">
|
|
|
|
<table class="table table-condensed table-hover">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th class="title">{{top_referred_topics.title}} ({{i18n 'admin.dashboard.reports.last_30_days'}})</th>
|
|
|
|
<th>{{top_referred_topics.ytitles.num_clicks}}</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
2016-04-30 05:29:41 +08:00
|
|
|
{{#each top_referred_topics.data as |data|}}
|
2013-05-02 06:12:02 +08:00
|
|
|
<tbody>
|
|
|
|
<tr>
|
2013-07-31 02:45:03 +08:00
|
|
|
<td class="title">
|
|
|
|
<div class="referred-topic-title">
|
|
|
|
<div class="overflow-ellipsis">
|
2018-01-16 06:28:35 +08:00
|
|
|
<a href="{{unbound data.topic_url}}">{{data.topic_title}}</a>
|
2013-07-31 02:45:03 +08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</td>
|
2017-01-09 15:54:31 +08:00
|
|
|
<td class="value">{{number data.num_clicks}}</td>
|
2013-05-02 06:12:02 +08:00
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
{{/each}}
|
2016-08-04 03:36:41 +08:00
|
|
|
</table>
|
|
|
|
</div>
|
2013-05-02 06:12:02 +08:00
|
|
|
|
2016-08-04 03:36:41 +08:00
|
|
|
<div class="dashboard-stats">
|
|
|
|
<table class="table table-condensed table-hover">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th class="title">{{top_traffic_sources.title}} ({{i18n 'admin.dashboard.reports.last_30_days'}})</th>
|
|
|
|
<th>{{top_traffic_sources.ytitles.num_clicks}}</th>
|
|
|
|
<th>{{top_traffic_sources.ytitles.num_topics}}</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
2016-04-30 05:29:41 +08:00
|
|
|
{{#each top_traffic_sources.data as |s|}}
|
2013-05-02 06:12:02 +08:00
|
|
|
<tbody>
|
|
|
|
<tr>
|
2014-12-13 02:28:20 +08:00
|
|
|
<td class="title">{{s.domain}}</td>
|
2017-01-09 15:54:31 +08:00
|
|
|
<td class="value">{{number s.num_clicks}}</td>
|
|
|
|
<td class="value">{{number s.num_topics}}</td>
|
2013-05-02 06:12:02 +08:00
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
{{/each}}
|
2016-08-04 03:36:41 +08:00
|
|
|
</table>
|
|
|
|
</div>
|
2013-05-02 06:12:02 +08:00
|
|
|
|
2016-08-04 03:36:41 +08:00
|
|
|
<div class="dashboard-stats">
|
|
|
|
<table class="table table-condensed table-hover">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th class="title">{{top_referrers.title}} ({{i18n 'admin.dashboard.reports.last_30_days'}})</th>
|
2017-02-16 22:58:45 +08:00
|
|
|
<th>{{top_referrers.ytitles.num_clicks}}</th>
|
|
|
|
<th>{{top_referrers.ytitles.num_topics}}</th>
|
2016-08-04 03:36:41 +08:00
|
|
|
</tr>
|
|
|
|
</thead>
|
2016-04-30 05:29:41 +08:00
|
|
|
{{#each top_referrers.data as |r|}}
|
2013-05-02 06:12:02 +08:00
|
|
|
<tbody>
|
|
|
|
<tr>
|
2016-02-23 03:30:58 +08:00
|
|
|
<td class="title">{{#link-to 'adminUser' r.user_id r.username}}{{unbound r.username}}{{/link-to}}</td>
|
2017-01-09 15:54:31 +08:00
|
|
|
<td class="value">{{number r.num_clicks}}</td>
|
|
|
|
<td class="value">{{number r.num_topics}}</td>
|
2013-05-02 06:12:02 +08:00
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
{{/each}}
|
2016-08-04 03:36:41 +08:00
|
|
|
</table>
|
|
|
|
</div>
|
2013-05-02 06:12:02 +08:00
|
|
|
</div>
|
2016-08-04 03:36:41 +08:00
|
|
|
<div class='clearfix'></div>
|
2013-08-03 06:31:25 +08:00
|
|
|
|
2016-08-04 03:36:41 +08:00
|
|
|
<div class="dashboard-stats pull-right">
|
|
|
|
<div class="pull-right">{{i18n 'admin.dashboard.last_updated'}} {{updatedTimestamp}}</div>
|
|
|
|
<div class='clearfix'></div>
|
|
|
|
</div>
|
2013-08-03 06:31:25 +08:00
|
|
|
<div class='clearfix'></div>
|
2016-08-04 03:36:41 +08:00
|
|
|
{{/conditional-loading-spinner}}
|