Redundancy filter

This commit is contained in:
Daniel Brendel
2023-03-25 15:50:15 +01:00
parent ddd7a59987
commit f8869899ef
4 changed files with 16 additions and 10 deletions

View File

@ -101,17 +101,12 @@ class StatsController extends BaseController
$referrers = HitsModel::getReferrers($start, $end); $referrers = HitsModel::getReferrers($start, $end);
$refar = [];
foreach ($referrers as $ref) {
$refar[] = $ref->get('referrer');
}
return json([ return json([
'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[HitsModel::HITTYPE_MODULE_WORKSHOP] + $count_total[HitsModel::HITTYPE_MODULE_GROUP], '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] + $count_total[HitsModel::HITTYPE_MODULE_GROUP],
'referrers' => $refar, 'referrers' => $referrers,
'start' => $start, 'start' => $start,
'end' => $end, 'end' => $end,
'day_diff' => $dayDiff 'day_diff' => $dayDiff

View File

@ -92,11 +92,20 @@ class HitsModel extends \Asatru\Database\Model
public static function getReferrers($start, $end) public static function getReferrers($start, $end)
{ {
try { try {
$result = HitsModel::raw('SELECT DISTINCT referrer FROM `' . self::tableName() . '` WHERE DATE(created_at) >= ? AND DATE(created_at) <= ? ORDER BY referrer ASC', [ $items = HitsModel::raw('SELECT DISTINCT referrer FROM `' . self::tableName() . '` WHERE DATE(created_at) >= ? AND DATE(created_at) <= ? ORDER BY referrer ASC', [
$start, $start,
$end $end
]); ]);
$result = [];
foreach ($items as $item) {
$furl = parse_url($item->get('referrer'), PHP_URL_HOST);
if (!in_array($furl, $result)) {
$result[] = $furl;
}
}
return $result; return $result;
} catch (\Exception $e) { } catch (\Exception $e) {
throw $e; throw $e;

View File

@ -214,8 +214,10 @@ window.vue = new Vue({
let refcode = '<ul>'; let refcode = '<ul>';
response.referrers.forEach(function(referrer, index) { response.referrers.forEach(function(referrer, index) {
if (referrer.length > 0) { if (referrer !== null) {
refcode += '<li>' + referrer + '</li>'; if (referrer.length > 0) {
refcode += '<li>' + referrer + '</li>';
}
} }
}); });
refcode += '</ul>'; refcode += '</ul>';

File diff suppressed because one or more lines are too long