From d126b1160a07117244a3069536d44a7fdf53574d Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Fri, 26 May 2023 15:56:34 +0200 Subject: [PATCH] wip #5877 @1 --- app/Fluidbook/Stats.php | 13 +++++++---- .../FluidbookPublication/StatsOperation.php | 20 ++++------------ .../views/fluidbook_stats/summary.blade.php | 23 +++++++++++++------ 3 files changed, 29 insertions(+), 27 deletions(-) diff --git a/app/Fluidbook/Stats.php b/app/Fluidbook/Stats.php index b8ca0832a..2f00d0e9e 100644 --- a/app/Fluidbook/Stats.php +++ b/app/Fluidbook/Stats.php @@ -23,7 +23,7 @@ class Stats extends Reporting // - https://redmine.cubedesigners.com/issues/5473 const SHOW_VISITORS_CUTOFF = 20687; - const TOKENS=[ + const TOKENS = [ 'stats3.fluidbook.com' => '9df722a0bd30878ddc4d737352427502', 'stats4.fluidbook.com' => '3ffdbe052ae625f065573df9fa9515df', 'stats5.fluidbook.com' => '85e9cc307b6e5083249949e9472a80b8', @@ -76,7 +76,7 @@ class Stats extends Reporting $this->hash = $this->fluidbook->hash; $this->setLanguage(app()->getLocale()); - $this->viewData = new Data(['fluidbook_id' => $fluidbook->id, 'hash' => $this->hash, 'title' => $fluidbook->title,'page_count'=>$fluidbook->getPagesNumber()]); + $this->viewData = new Data(['fluidbook_id' => $fluidbook->id, 'hash' => $this->hash, 'title' => $fluidbook->title, 'page_count' => $fluidbook->getPagesNumber(), 'base_URL' => route('stats', ['fluidbook_id' => $this->fluidbook_id, 'hash' => $this->hash])]); parent::__construct('https://' . static::getMatomoServer($this->fluidbook->id) . '/', null, $this->fluidbook_id); } @@ -212,6 +212,12 @@ class Stats extends Reporting { $this->setDatesAndPeriod($period_override); + $this->viewData->visits_summary = $this->getVisitsSummary(); + if($this->fluidbook_idviewData->visits_summary['nb_uniq_visitors'])){ + unset($this->viewData->visits_summary['nb_uniq_visitors']); + } + dd($this->viewData->visits_summary); + $this->_eventsByPeriod = $this->_processEventsByPeriod(); $this->_eventsByPage = $this->_processEventsByPage(); @@ -238,6 +244,7 @@ class Stats extends Reporting // The goal is to find the non-empty results and create a list of Carbon date classes from those // This list is used to generate the links / formatted dates list + detailed data table $this->viewData->period_details = $this->_pagesByPeriod->filter(fn($value, $key) => !empty($value)); // Remove any empty periods + //dd($this->viewData->period_details); $this->viewData->chart_datasets = $this->_processCharts(); @@ -310,8 +317,6 @@ class Stats extends Reporting // Main summary table 'summary' => [ 'formatted_date' => self::getPeriods()[$this->getPeriod()]['singular'], - 'nb_uniq_visitors' => __('Visiteurs uniques'), - 'nb_visits' => __('Visites'), 'nb_hits' => __('Pages vues'), 'nb_links' => __('Liens sortants'), 'nb_downloads' => __('Téléchargements'), diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/StatsOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/StatsOperation.php index 923f91989..83d9119ef 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/StatsOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/StatsOperation.php @@ -50,22 +50,10 @@ trait StatsOperation protected function statsSummary($fluidbook_id, $hash, $date = null, $period_override = null) { $fluidbook = FluidbookPublication::withoutGlobalScopes()->where('id', $fluidbook_id)->where('hash', $hash)->firstOrFail(); - - $locale = app()->getLocale(); - $base_URL = route('stats', compact('fluidbook_id', 'hash')); // Used by date range picker to update report URL - - $data = compact( - 'fluidbook_id', - 'hash', - 'date', - 'fluidbook', - 'locale', - 'base_URL', - ); - - $stats = new Stats($fluidbook, $date); - $data = array_merge($data, $stats->processData($period_override)); - + $stats = new Stats($fluidbook); + $data = $stats->processData($period_override); + $data['locale'] = app()->getLocale(); + $data['fluidbook'] = $fluidbook; return view('fluidbook_stats.summary', $data); } diff --git a/resources/views/fluidbook_stats/summary.blade.php b/resources/views/fluidbook_stats/summary.blade.php index e759c1100..5537356a9 100644 --- a/resources/views/fluidbook_stats/summary.blade.php +++ b/resources/views/fluidbook_stats/summary.blade.php @@ -38,6 +38,15 @@
{{ __('Nombre de pages') }}
{{ $page_count }}
+ @if(isset($visits_summary['nb_uniq_visitors'])) +
{{ __('Visiteurs uniques') }}
+
{{ $visits_summary['nb_uniq_visitors'] }}
+ @endif + +
{{ __('Visites') }}
+
{{ $visits_summary['nb_visits'] }}
+ + {{-- Summary of totals --}} @if($period_details->isNotEmpty()) @foreach ($table_map['summary'] as $summary_key => $summary_heading) @@ -293,15 +302,15 @@ arrow.className = 'arrow-right'; rangeInputs.insertBefore(arrow, rangeInputs.children[1]); // Insert in 2nd position -@can('fluidbook-publication:admin') + @can('fluidbook-publication:admin')
- {{__('Voir les données brutes sur Matomo')}} - @can('superadmin') - | {{__('API Matomo')}} - @endcan + {{__('Voir les données brutes sur Matomo')}} + @can('superadmin') + | {{__('API Matomo')}} + @endcan
-@endcan + @endcan -- 2.39.5