From d6dcbb150a03ade1f34f56807f2eef58c9c14259 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Fri, 9 Jun 2023 16:37:22 +0200 Subject: [PATCH] wip #5877 @2 --- app/Fluidbook/Stats.php | 3 +- .../FluidbookPublication/StatsOperation.php | 18 +- .../views/fluidbook_stats/loader.blade.php | 180 ++------ .../views/fluidbook_stats/summary.blade.php | 413 +++++++++--------- 4 files changed, 255 insertions(+), 359 deletions(-) diff --git a/app/Fluidbook/Stats.php b/app/Fluidbook/Stats.php index aea014eeb..fda57ad22 100644 --- a/app/Fluidbook/Stats.php +++ b/app/Fluidbook/Stats.php @@ -333,6 +333,7 @@ class Stats extends Reporting 'formatted_date' => self::getPeriods()[$this->getPeriod()]['singular'], 'nb_uniq_visitors' => __('Visiteurs uniques'), 'nb_visits' => __('Visites'), + 'nb_openings' => __('Ouvertures'), 'nb_hits' => __('Pages vues'), 'nb_links' => __('Liens sortants'), 'nb_downloads' => __('Téléchargements'), @@ -357,7 +358,7 @@ class Stats extends Reporting } - protected function _supportUniqueVisitors() + protected function _supportUniqueVisitors(): bool { return $this->fluidbook_id >= self::SHOW_VISITORS_CUTOFF && !in_array($this->getPeriod(), ['year', 'range']); } diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/StatsOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/StatsOperation.php index 55056d2e8..3de818811 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/StatsOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/StatsOperation.php @@ -20,17 +20,10 @@ trait StatsOperation ->withoutMiddleware([CheckIfAdmin::class])->name('statsmatomo'); // Named route is used to generate URLs more consistently using route helper // Main route is only secured by hash (security by obscurity) - Route::get($segment . '/stats/{fluidbook_id}_{hash}/{date?}/{period_override?}', $controller . '@statsLoader') + Route::get($segment . '/stats/{fluidbook_id}_{hash}/{date?}/{period_override?}', $controller . '@statsSummary') ->withoutMiddleware([CheckIfAdmin::class]) ->name('stats'); // Named route is used to generate URLs more consistently using route helper - - // Since the stats can sometimes be slow to generate, the initial URL displays - // a loader while the actual report is fetched via AJAX and injected into the page. - Route::get($segment . '/stats-data/{fluidbook_id}_{hash}/{date?}/{period_override?}', $controller . '@statsSummary') - ->withoutMiddleware([CheckIfAdmin::class]) - ->name('stats-report'); - // API testing tool (intended for superadmins only) Route::get($segment . '/stats/API/{id?}', $controller . '@statsAPI'); } @@ -40,13 +33,6 @@ trait StatsOperation $this->crud->addButtonFromView('line', 'stats', 'fluidbook_publication.stats', 'end'); } - - protected function statsLoader($fluidbook_id, $hash, $date = null, $period_override = null) - { - $report_URL = route('stats-report', compact('fluidbook_id', 'hash', 'date', 'period_override')); - return view('fluidbook_stats.loader', compact('report_URL')); - } - protected function statsSummary($fluidbook_id, $hash, $date = null, $period_override = null) { $fluidbook = FluidbookPublication::withoutGlobalScopes()->where('id', $fluidbook_id)->where('hash', $hash)->firstOrFail(); @@ -54,7 +40,7 @@ trait StatsOperation $data = $stats->processData($period_override); $data['locale'] = app()->getLocale(); $data['fluidbook'] = $fluidbook; - return view('fluidbook_stats.summary', $data); + return view('fluidbook_stats.loader', $data); } diff --git a/resources/views/fluidbook_stats/loader.blade.php b/resources/views/fluidbook_stats/loader.blade.php index 75107959f..5d8b5ebeb 100644 --- a/resources/views/fluidbook_stats/loader.blade.php +++ b/resources/views/fluidbook_stats/loader.blade.php @@ -1,105 +1,56 @@ {{-- __('!! Statistiques') --}} @extends(backpack_view('blank')) +@push('after_scripts') + {{-- Include the base libraries for the chart and the date picker here so that they're ready + when the report HTML and extra scripts are injected --}} -@section('after_styles') - -