mirror of
https://github.com/SophiaAtkinson/steamwidgets-web.git
synced 2025-06-27 10:17:41 -07:00
Resolves #2
This commit is contained in:
@ -79,6 +79,7 @@ class StatsController extends BaseController
|
|||||||
$data[HitsModel::HITTYPE_MODULE_APP] = [];
|
$data[HitsModel::HITTYPE_MODULE_APP] = [];
|
||||||
$data[HitsModel::HITTYPE_MODULE_SERVER] = [];
|
$data[HitsModel::HITTYPE_MODULE_SERVER] = [];
|
||||||
$data[HitsModel::HITTYPE_MODULE_USER] = [];
|
$data[HitsModel::HITTYPE_MODULE_USER] = [];
|
||||||
|
$data[HitsModel::HITTYPE_MODULE_WORKSHOP] = [];
|
||||||
|
|
||||||
$hits = HitsModel::getHitsPerDay($start, $end);
|
$hits = HitsModel::getHitsPerDay($start, $end);
|
||||||
|
|
||||||
@ -88,6 +89,7 @@ class StatsController extends BaseController
|
|||||||
$count_total[HitsModel::HITTYPE_MODULE_APP] = 0;
|
$count_total[HitsModel::HITTYPE_MODULE_APP] = 0;
|
||||||
$count_total[HitsModel::HITTYPE_MODULE_SERVER] = 0;
|
$count_total[HitsModel::HITTYPE_MODULE_SERVER] = 0;
|
||||||
$count_total[HitsModel::HITTYPE_MODULE_USER] = 0;
|
$count_total[HitsModel::HITTYPE_MODULE_USER] = 0;
|
||||||
|
$count_total[HitsModel::HITTYPE_MODULE_WORKSHOP] = 0;
|
||||||
|
|
||||||
for ($i = 0; $i < $hits->count(); $i++) {
|
for ($i = 0; $i < $hits->count(); $i++) {
|
||||||
$count_total[$hits->get($i)->get('hittype')] += $hits->get($i)->get('count');
|
$count_total[$hits->get($i)->get('hittype')] += $hits->get($i)->get('count');
|
||||||
@ -99,7 +101,7 @@ class StatsController extends BaseController
|
|||||||
'code' => 200,
|
'code' => 200,
|
||||||
'data' => $data,
|
'data' => $data,
|
||||||
'counts' => $count_total,
|
'counts' => $count_total,
|
||||||
'count_total' => $count_total[HitsModel::HITTYPE_MODULE_APP] + $count_total[HitsModel::HITTYPE_MODULE_SERVER] + $count_total[HitsModel::HITTYPE_MODULE_USER],
|
'count_total' => $count_total[HitsModel::HITTYPE_MODULE_APP] + $count_total[HitsModel::HITTYPE_MODULE_SERVER] + $count_total[HitsModel::HITTYPE_MODULE_USER] + $count_total[HitsModel::HITTYPE_MODULE_WORKSHOP],
|
||||||
'start' => $start,
|
'start' => $start,
|
||||||
'end' => $end,
|
'end' => $end,
|
||||||
'day_diff' => $dayDiff
|
'day_diff' => $dayDiff
|
||||||
|
@ -67,6 +67,7 @@ window.vue = new Vue({
|
|||||||
document.getElementById('count-app').innerHTML = response.counts.mod_app;
|
document.getElementById('count-app').innerHTML = response.counts.mod_app;
|
||||||
document.getElementById('count-server').innerHTML = response.counts.mod_server;
|
document.getElementById('count-server').innerHTML = response.counts.mod_server;
|
||||||
document.getElementById('count-user').innerHTML = response.counts.mod_user;
|
document.getElementById('count-user').innerHTML = response.counts.mod_user;
|
||||||
|
document.getElementById('count-workshop').innerHTML = response.counts.mod_workshop;
|
||||||
|
|
||||||
let content = document.getElementById(elem);
|
let content = document.getElementById(elem);
|
||||||
if (content) {
|
if (content) {
|
||||||
@ -74,6 +75,7 @@ window.vue = new Vue({
|
|||||||
let data_app = [];
|
let data_app = [];
|
||||||
let data_server = [];
|
let data_server = [];
|
||||||
let data_user = [];
|
let data_user = [];
|
||||||
|
let data_workshop = [];
|
||||||
|
|
||||||
let day = 60 * 60 * 24 * 1000;
|
let day = 60 * 60 * 24 * 1000;
|
||||||
let dt = new Date(Date.parse(start));
|
let dt = new Date(Date.parse(start));
|
||||||
@ -95,6 +97,7 @@ window.vue = new Vue({
|
|||||||
data_app.push(0);
|
data_app.push(0);
|
||||||
data_server.push(0);
|
data_server.push(0);
|
||||||
data_user.push(0);
|
data_user.push(0);
|
||||||
|
data_workshop.push(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const [key, value] of Object.entries(response.data.mod_app)) {
|
for (const [key, value] of Object.entries(response.data.mod_app)) {
|
||||||
@ -121,6 +124,14 @@ window.vue = new Vue({
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (const [key, value] of Object.entries(response.data.mod_workshop)) {
|
||||||
|
labels.forEach(function(lblElem, lblIndex){
|
||||||
|
if (lblElem == key) {
|
||||||
|
data_workshop[lblIndex] = parseInt(value[0]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const config = {
|
const config = {
|
||||||
type: 'line',
|
type: 'line',
|
||||||
data: {
|
data: {
|
||||||
@ -143,6 +154,12 @@ window.vue = new Vue({
|
|||||||
backgroundColor: 'rgb(240, 155, 90)',
|
backgroundColor: 'rgb(240, 155, 90)',
|
||||||
borderColor: 'rgb(240, 155, 90)',
|
borderColor: 'rgb(240, 155, 90)',
|
||||||
data: data_user,
|
data: data_user,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Workshop',
|
||||||
|
backgroundColor: 'rgb(24, 125, 54)',
|
||||||
|
borderColor: 'rgb(24, 125, 54)',
|
||||||
|
data: data_workshop,
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
<div>App count: <div class="is-inline-block" id="count-app"></div></div>
|
<div>App count: <div class="is-inline-block" id="count-app"></div></div>
|
||||||
<div>Server count: <div class="is-inline-block" id="count-server"></div></div>
|
<div>Server count: <div class="is-inline-block" id="count-server"></div></div>
|
||||||
<div>User count: <div class="is-inline-block" id="count-user"></div></div>
|
<div>User count: <div class="is-inline-block" id="count-user"></div></div>
|
||||||
|
<div>Workshop count: <div class="is-inline-block" id="count-workshop"></div></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
|
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user