diff options
| author | 2014-01-29 21:26:19 +0100 | |
|---|---|---|
| committer | 2014-01-29 21:26:19 +0100 | |
| commit | 165eb57459a152b3cc6aa3fd15ca990c3d908829 (patch) | |
| tree | 640ddacbc6eabc985646dd65b0578f369ea92321 /app/views/index/stats.phtml | |
| parent | 75096e6a39fe5d34d3951991f296f616e62a9fd8 (diff) | |
| parent | c053825ff8f9792e692c101585481129b006937b (diff) | |
Sortie de la version 0.70.7.0
Diffstat (limited to 'app/views/index/stats.phtml')
| -rw-r--r-- | app/views/index/stats.phtml | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/app/views/index/stats.phtml b/app/views/index/stats.phtml new file mode 100644 index 000000000..b5c18813d --- /dev/null +++ b/app/views/index/stats.phtml @@ -0,0 +1,125 @@ +<div class="post content"> + <a href="<?php echo _url ('index', 'index'); ?>"><?php echo Minz_Translate::t ('back_to_rss_feeds'); ?></a> + + <h1><?php echo Minz_Translate::t ('stats'); ?></h1> + + <div class="stat"> + <h2><?php echo Minz_Translate::t ('stats_entry_repartition'); ?></h2> + <table> + <thead> + <tr> + <th> </th> + <th><?php echo Minz_Translate::t ('main_stream'); ?></th> + <th><?php echo Minz_Translate::t ('all_feeds'); ?></th> + </tr> + </thead> + <tbody> + <tr> + <th><?php echo Minz_Translate::t ('status_total'); ?></th> + <td class="numeric"><?php echo formatNumber($this->repartition['main_stream']['total']); ?></td> + <td class="numeric"><?php echo formatNumber($this->repartition['all_feeds']['total']); ?></td> + </tr> + <tr> + <th><?php echo Minz_Translate::t ('status_read'); ?></th> + <td class="numeric"><?php echo formatNumber($this->repartition['main_stream']['read']); ?></td> + <td class="numeric"><?php echo formatNumber($this->repartition['all_feeds']['read']); ?></td> + </tr> + <tr> + <th><?php echo Minz_Translate::t ('status_unread'); ?></th> + <td class="numeric"><?php echo formatNumber($this->repartition['main_stream']['unread']); ?></td> + <td class="numeric"><?php echo formatNumber($this->repartition['all_feeds']['unread']); ?></td> + </tr> + <tr> + <th><?php echo Minz_Translate::t ('status_favorites'); ?></th> + <td class="numeric"><?php echo formatNumber($this->repartition['main_stream']['favorite']); ?></td> + <td class="numeric"><?php echo formatNumber($this->repartition['all_feeds']['favorite']); ?></td> + </tr> + </tbody> + </table> + </div> + + <div class="stat"> + <h2><?php echo Minz_Translate::t ('stats_entry_per_day'); ?></h2> + <div id="statsEntryPerDay" style="height: 300px"></div> + </div> + + <div class="stat"> + <h2><?php echo Minz_Translate::t ('stats_feed_per_category'); ?></h2> + <div id="statsFeedPerCategory" style="height: 300px"></div> + <div id="statsFeedPerCategoryLegend"></div> + </div> + + <div class="stat"> + <h2><?php echo Minz_Translate::t ('stats_entry_per_category'); ?></h2> + <div id="statsEntryPerCategory" style="height: 300px"></div> + <div id="statsEntryPerCategoryLegend"></div> + </div> + + <div class="stat"> + <h2><?php echo Minz_Translate::t ('stats_top_feed'); ?></h2> + <table> + <thead> + <tr> + <th><?php echo Minz_Translate::t ('feed'); ?></th> + <th><?php echo Minz_Translate::t ('category'); ?></th> + <th><?php echo Minz_Translate::t ('stats_entry_count'); ?></th> + </tr> + </thead> + <tbody> + <?php foreach ($this->topFeed as $feed): ?> + <tr> + <td><?php echo $feed['name']; ?></td> + <td><?php echo $feed['category']; ?></td> + <td class="numeric"><?php echo formatNumber($feed['count']); ?></td> + </tr> + <?php endforeach;?> + </tbody> + </table> + </div> +</div> + +<script> +"use strict"; +function initStats() { + if (!window.Flotr) { + if (window.console) { + console.log('FreshRSS waiting for Flotr…'); + } + window.setTimeout(initStats, 50); + return; + } + // Entry per day + Flotr.draw(document.getElementById('statsEntryPerDay'), + [<?php echo $this->count ?>], + { + grid: {verticalLines: false}, + bars: {horizontal: false, show: true}, + xaxis: {noTicks: 6, showLabels: false, tickDecimals: 0}, + yaxis: {min: 0}, + mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return numberFormat(obj.y);}} + }); + // Feed per category + Flotr.draw(document.getElementById('statsFeedPerCategory'), + <?php echo $this->feedByCategory ?>, + { + grid: {verticalLines: false, horizontalLines: false}, + pie: {explode: 10, show: true, labelFormatter: function(){return '';}}, + xaxis: {showLabels: false}, + yaxis: {showLabels: false}, + mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return obj.series.label + ' - '+ numberFormat(obj.y) + ' ('+ (obj.fraction * 100).toFixed(1) + '%)';}}, + legend: {container: document.getElementById('statsFeedPerCategoryLegend'), noColumns: 3} + }); + // Entry per category + Flotr.draw(document.getElementById('statsEntryPerCategory'), + <?php echo $this->entryByCategory ?>, + { + grid: {verticalLines: false, horizontalLines: false}, + pie: {explode: 10, show: true, labelFormatter: function(){return '';}}, + xaxis: {showLabels: false}, + yaxis: {showLabels: false}, + mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return obj.series.label + ' - '+ numberFormat(obj.y) + ' ('+ (obj.fraction * 100).toFixed(1) + '%)';}}, + legend: {container: document.getElementById('statsEntryPerCategoryLegend'), noColumns: 3} + }); +} +initStats(); +</script> |
