diff options
| author | 2014-01-27 21:51:24 +0100 | |
|---|---|---|
| committer | 2014-01-27 21:51:24 +0100 | |
| commit | 7f51bf0d02b410c482fff60c39c4af532fbc683e (patch) | |
| tree | fa1a418b0b1be15c8703fc211ac373c873561b5a /app/views/index/stats.phtml | |
| parent | 4e4b0f717fe0a8378e2b751393a8c19d1ada6eb2 (diff) | |
| parent | 16fffc16dd4cfddc15d3edb224c27147e7661e13 (diff) | |
Merge branch 'dev' into beta
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..ae9db172b --- /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 $this->repartition['main_stream']['total']?></td> + <td class="numeric"><?php echo $this->repartition['all_feeds']['total']?></td> + </tr> + <tr> + <th><?php echo Minz_Translate::t ('status_read')?></th> + <td class="numeric"><?php echo $this->repartition['main_stream']['read']?></td> + <td class="numeric"><?php echo $this->repartition['all_feeds']['read']?></td> + </tr> + <tr> + <th><?php echo Minz_Translate::t ('status_unread')?></th> + <td class="numeric"><?php echo $this->repartition['main_stream']['unread']?></td> + <td class="numeric"><?php echo $this->repartition['all_feeds']['unread']?></td> + </tr> + <tr> + <th><?php echo Minz_Translate::t ('status_favorites')?></th> + <td class="numeric"><?php echo $this->repartition['main_stream']['favorite']?></td> + <td class="numeric"><?php echo $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 $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 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 + ' - '+ 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 + ' - '+ obj.y + ' ('+ (obj.fraction * 100).toFixed(1) + '%)';}}, + legend: {container: document.getElementById('statsEntryPerCategoryLegend'), noColumns: 3} + }); +} +initStats(); +</script> |
