mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-06 22:15:48 +01:00
This commit is contained in:
@@ -14,6 +14,9 @@ var Analytics = module.exports;
|
||||
var counters = {};
|
||||
|
||||
var pageViews = 0;
|
||||
var pageViewsRegistered = 0;
|
||||
var pageViewsGuest = 0;
|
||||
var pageViewsBot = 0;
|
||||
var uniqueIPCount = 0;
|
||||
var uniquevisitors = 0;
|
||||
|
||||
@@ -51,6 +54,14 @@ Analytics.increment = function (keys, callback) {
|
||||
Analytics.pageView = function (payload) {
|
||||
pageViews += 1;
|
||||
|
||||
if (payload.uid > 0) {
|
||||
pageViewsRegistered += 1;
|
||||
} else if (payload.uid < 0) {
|
||||
pageViewsBot += 1;
|
||||
} else {
|
||||
pageViewsGuest += 1;
|
||||
}
|
||||
|
||||
if (payload.ip) {
|
||||
// Retrieve hash or calculate if not present
|
||||
let hash = ipCache.get(payload.ip + nconf.get('secret'));
|
||||
@@ -92,6 +103,24 @@ Analytics.writeData = function (callback) {
|
||||
pageViews = 0;
|
||||
}
|
||||
|
||||
if (pageViewsRegistered > 0) {
|
||||
dbQueue.push(async.apply(db.sortedSetIncrBy, 'analytics:pageviews:registered', pageViewsRegistered, today.getTime()));
|
||||
dbQueue.push(async.apply(db.sortedSetIncrBy, 'analytics:pageviews:month:registered', pageViewsRegistered, month.getTime()));
|
||||
pageViewsRegistered = 0;
|
||||
}
|
||||
|
||||
if (pageViewsGuest > 0) {
|
||||
dbQueue.push(async.apply(db.sortedSetIncrBy, 'analytics:pageviews:guest', pageViewsGuest, today.getTime()));
|
||||
dbQueue.push(async.apply(db.sortedSetIncrBy, 'analytics:pageviews:month:guest', pageViewsGuest, month.getTime()));
|
||||
pageViewsGuest = 0;
|
||||
}
|
||||
|
||||
if (pageViewsBot > 0) {
|
||||
dbQueue.push(async.apply(db.sortedSetIncrBy, 'analytics:pageviews:bot', pageViewsBot, today.getTime()));
|
||||
dbQueue.push(async.apply(db.sortedSetIncrBy, 'analytics:pageviews:month:bot', pageViewsBot, month.getTime()));
|
||||
pageViewsBot = 0;
|
||||
}
|
||||
|
||||
if (uniquevisitors > 0) {
|
||||
dbQueue.push(async.apply(db.sortedSetIncrBy, 'analytics:uniquevisitors', uniquevisitors, today.getTime()));
|
||||
uniquevisitors = 0;
|
||||
|
||||
Reference in New Issue
Block a user