fix: #11756, fix unique visitor stats in acp table

isekai-main
Barış Soner Uşaklı 2 years ago
parent 2514aace4e
commit 638e098f30

@ -237,23 +237,26 @@ Analytics.getDailyStatsForSet = async function (set, day, numDays) {
set = `analytics:${set}`; set = `analytics:${set}`;
} }
const daysArr = [];
day = new Date(day); day = new Date(day);
// set the date to tomorrow, because getHourlyStatsForSet steps *backwards* 24 hours to sum up the values // set the date to tomorrow, because getHourlyStatsForSet steps *backwards* 24 hours to sum up the values
day.setDate(day.getDate() + 1); day.setDate(day.getDate() + 1);
day.setHours(0, 0, 0, 0); day.setHours(0, 0, 0, 0);
while (numDays > 0) { async function getHourlyStats(hour) {
/* eslint-disable no-await-in-loop */
const dayData = await Analytics.getHourlyStatsForSet( const dayData = await Analytics.getHourlyStatsForSet(
set, set,
day.getTime() - (1000 * 60 * 60 * 24 * (numDays - 1)), hour,
24 24
); );
daysArr.push(dayData.reduce((cur, next) => cur + next)); return dayData.reduce((cur, next) => cur + next);
}
const hours = [];
while (numDays > 0) {
hours.push(day.getTime() - (1000 * 60 * 60 * 24 * (numDays - 1)));
numDays -= 1; numDays -= 1;
} }
return daysArr;
return await Promise.all(hours.map(getHourlyStats));
}; };
Analytics.getUnwrittenPageviews = function () { Analytics.getUnwrittenPageviews = function () {

@ -128,12 +128,13 @@ async function getStats() {
} }
let results = await Promise.all([ let results = await Promise.all([
getStatsForSet('ip:recent', 'uniqueIPCount'), getStatsFromAnalytics('uniquevisitors', 'uniqueIPCount'),
getStatsFromAnalytics('logins', 'loginCount'), getStatsFromAnalytics('logins', 'loginCount'),
getStatsForSet('users:joindate', 'userCount'), getStatsForSet('users:joindate', 'userCount'),
getStatsForSet('posts:pid', 'postCount'), getStatsForSet('posts:pid', 'postCount'),
getStatsForSet('topics:tid', 'topicCount'), getStatsForSet('topics:tid', 'topicCount'),
]); ]);
results[0].name = '[[admin/dashboard:unique-visitors]]'; results[0].name = '[[admin/dashboard:unique-visitors]]';
results[1].name = '[[admin/dashboard:logins]]'; results[1].name = '[[admin/dashboard:logins]]';

Loading…
Cancel
Save