summaryrefslogtreecommitdiff
path: root/app/views/stats/repartition.phtml
diff options
context:
space:
mode:
authorGravatar Alexis Degrugillier <github@ainw.org> 2014-07-24 21:57:59 -0400
committerGravatar Alexis Degrugillier <github@ainw.org> 2014-07-24 21:57:59 -0400
commitd049c1bc806dc0677a4b2b17faf06080600c372f (patch)
treefa33bdca9b49e1cd3cc74de68a983f9a14b32272 /app/views/stats/repartition.phtml
parentd5d3f6dcfa21e7defb26f3d470289e957bdb3dde (diff)
Add article repartition in stats
Add article repartition per hour, per day of week, per month for all feeds but also for individual feeds.
Diffstat (limited to 'app/views/stats/repartition.phtml')
-rw-r--r--app/views/stats/repartition.phtml100
1 files changed, 100 insertions, 0 deletions
diff --git a/app/views/stats/repartition.phtml b/app/views/stats/repartition.phtml
new file mode 100644
index 000000000..4455abe2a
--- /dev/null
+++ b/app/views/stats/repartition.phtml
@@ -0,0 +1,100 @@
+<?php $this->partial('aside_stats'); ?>
+
+<div class="post content">
+ <a href="<?php echo _url ('index', 'index'); ?>"><?php echo _t ('back_to_rss_feeds'); ?></a>
+
+ <?php if ($this->feed) {?>
+ <h1>
+ <?php echo _t ('stats_repartition'), " - "; ?>
+ <a href="<?php echo _url('configure', 'feed', 'id', $this->feed->id()); ?>"
+ title="<?php echo date('Y-m-d', $feed['last_date']); ?>">
+ <?php echo $this->feed->name(); ?>
+ </a>
+ </h1>
+ <?php } else {?>
+ <h1><?php echo _t ('stats_repartition'); ?></h1>
+ <?php }?>
+
+ <div class="stat">
+ <h2><?php echo _t ('stats_entry_per_hour'); ?></h2>
+ <div id="statsEntryPerHour" style="height: 300px"></div>
+ </div>
+
+ <div class="stat">
+ <h2><?php echo _t ('stats_entry_per_day_of_week'); ?></h2>
+ <div id="statsEntryPerDayOfWeek" style="height: 300px"></div>
+ </div>
+
+ <div class="stat">
+ <h2><?php echo _t ('stats_entry_per_month'); ?></h2>
+ <div id="statsEntryPerMonth" style="height: 300px"></div>
+ </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 hour
+ Flotr.draw(document.getElementById('statsEntryPerHour'),
+ [<?php echo $this->repartitionHour ?>],
+ {
+ grid: {verticalLines: false},
+ bars: {horizontal: false, show: true},
+ xaxis: {noTicks: 23,
+ tickFormatter: function(x) {
+ var x = parseInt(x);
+ return x + 1;
+ },
+ min: -0.9,
+ max: 23.9,
+ tickDecimals: 0},
+ yaxis: {min: 0},
+ mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return numberFormat(obj.y);}}
+ });
+ // Entry per day of week
+ Flotr.draw(document.getElementById('statsEntryPerDayOfWeek'),
+ [<?php echo $this->repartitionDayOfWeek ?>],
+ {
+ grid: {verticalLines: false},
+ bars: {horizontal: false, show: true},
+ xaxis: {noTicks: 6,
+ tickFormatter: function(x) {
+ var x = parseInt(x),
+ days = <?php echo $this->days?>;
+ return days[x];
+ },
+ min: -0.9,
+ max: 6.9,
+ tickDecimals: 0},
+ yaxis: {min: 0},
+ mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return numberFormat(obj.y);}}
+ });
+ // Entry per month
+ Flotr.draw(document.getElementById('statsEntryPerMonth'),
+ [<?php echo $this->repartitionMonth ?>],
+ {
+ grid: {verticalLines: false},
+ bars: {horizontal: false, show: true},
+ xaxis: {noTicks: 12,
+ tickFormatter: function(x) {
+ var x = parseInt(x),
+ months = <?php echo $this->months?>;
+ return months[(x - 1)];
+ },
+ min: 0.1,
+ max: 12.9,
+ tickDecimals: 0},
+ yaxis: {min: 0},
+ mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return numberFormat(obj.y);}}
+ });
+
+}
+initStats();
+</script> \ No newline at end of file