| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- <?php
- /** @var FreshRSS_View $this */
- $this->partial('aside_subscription');
- ?>
- <main class="post">
- <div class="link-back-wrapper">
- <a class="link-back" href="<?= _url('index', 'index') ?>"><?= _t('gen.action.back_to_rss_feeds') ?></a>
- </div>
- <h1><?= _t('admin.stats.main') ?></h1>
- <div class="stat-grid">
- <div class="stat half">
- <h2><?= _t('admin.stats.entry_repartition') ?></h2>
- <table>
- <thead>
- <tr>
- <th> </th>
- <th><?= _t('admin.stats.main_stream') ?></th>
- <th><?= _t('admin.stats.all_feeds') ?></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th><?= _t('admin.stats.status_total') ?></th>
- <td class="numeric"><?= format_number($this->repartition['main_stream']['total']) ?></td>
- <td class="numeric"><?= format_number($this->repartition['all_feeds']['total']) ?></td>
- </tr>
- <tr>
- <th><?= _t('admin.stats.status_read') ?></th>
- <td class="numeric"><?= format_number($this->repartition['main_stream']['count_reads']) ?></td>
- <td class="numeric"><?= format_number($this->repartition['all_feeds']['count_reads']) ?></td>
- </tr>
- <tr>
- <th><?= _t('admin.stats.status_unread') ?></th>
- <td class="numeric"><?= format_number($this->repartition['main_stream']['count_unreads']) ?></td>
- <td class="numeric"><?= format_number($this->repartition['all_feeds']['count_unreads']) ?></td>
- </tr>
- <tr>
- <th><?= _t('admin.stats.status_favorites') ?></th>
- <td class="numeric"><?= format_number($this->repartition['main_stream']['count_favorites']) ?></td>
- <td class="numeric"><?= format_number($this->repartition['all_feeds']['count_favorites']) ?></td>
- </tr>
- </tbody>
- </table>
- </div><!--
- --><div class="stat half">
- <h2><?= _t('admin.stats.top_feed') ?></h2>
- <table>
- <thead>
- <tr>
- <th><?= _t('admin.stats.feed') ?></th>
- <th><?= _t('admin.stats.category') ?></th>
- <th><?= _t('admin.stats.entry_count') ?></th>
- <th><?= _t('admin.stats.percent_of_total') ?></th>
- </tr>
- </thead>
- <tbody>
- <?php foreach ($this->topFeed as $feed) { ?>
- <tr>
- <td><a href="<?= _url('stats', 'repartition', 'id', $feed['id']) ?>"><?= $feed['name'] ?></a></td>
- <td><?= $feed['category'] ?></td>
- <td class="numeric"><?= format_number($feed['count']) ?></td>
- <td class="numeric"><?= format_number($feed['count'] / $this->repartition['all_feeds']['total'] * 100, 1) ?></td>
- </tr>
- <?php } ?>
- </tbody>
- </table>
- </div>
- <div class="stat">
- <h2><?= _t('admin.stats.entry_per_day') ?></h2>
- <div>
- <canvas id="statsEntriesPerDay"></canvas>
- <script class="jsonData-stats" type="application/json">
- <?php
- echo json_encode(array(
- 'canvasID' => 'statsEntriesPerDay',
- 'charttype' => 'barWithAverage',
- 'labelBarChart' => _t('admin.stats.entry_count'),
- 'dataBarChart' => $this->entryCount,
- 'labelAverage' => 'Average ('.$this->average.')',
- 'dataAverage' => $this->average,
- 'xAxisLabels' => $this->last30DaysLabels,
- ), JSON_UNESCAPED_UNICODE);
- ?></script>
- </div>
- </div>
- <div class="stat half">
- <h2><?= _t('admin.stats.feed_per_category') ?></h2>
- <div>
- <canvas id="statsFeedsPerCategory"></canvas>
- <script class="jsonData-stats" type="application/json">
- <?php
- echo json_encode(array(
- 'canvasID' => 'statsFeedsPerCategory',
- 'charttype' => 'doughnut',
- 'data' => $this->feedByCategory['data'],
- 'labels' => $this->feedByCategory['label'],
- ), JSON_UNESCAPED_UNICODE);
- ?></script>
- </div>
- </div>
- <div class="stat half">
- <h2><?= _t('admin.stats.entry_per_category') ?></h2>
- <div>
- <canvas id="statsEntriesPerCategory"></canvas>
- <script class="jsonData-stats" type="application/json">
- <?php
- echo json_encode(array(
- 'canvasID' => 'statsEntriesPerCategory',
- 'charttype' => 'doughnut',
- 'data' => $this->entryByCategory['data'],
- 'labels' => $this->entryByCategory['label'],
- ), JSON_UNESCAPED_UNICODE);
- ?></script>
- </div>
- </div>
- </div>
- </main>
- <script src="../scripts/statsWithChartjs.js?<?= @filemtime(PUBLIC_PATH . '/scripts/statsWithChartjs.js') ?>"></script>
|