$undefined = ['Nom d\'évènement indéfini'];
$res = [];
- foreach ($types as $type => $actions) {
- $data = $this->apiCall('Events.getName', ['segment' => 'eventCategory==' . $type, 'secondaryDimension' => 'eventAction', 'flat' => 1, 'expanded' => 1]);
- foreach ($data as $day => $events) {
- foreach ($events as $event) {
- if (!in_array($event['Events_EventAction'], $actions)) {
- continue;
- }
- if (in_array($event['Events_EventName'], $undefined)) {
- continue;
- }
- $e = explode('|:|', $event['Events_EventName'], 2);
- $page = '';
- if (count($e) == 2) {
- $page = $e[1];
- $label = $e[0];
- } else {
- $label = $e[0];
- }
- if($page){
- $page=$this->_getPageGroup($page);
- }
- if (!isset($res[$label])) {
- $res[$label] = ['type' => $type, 'nb' => 0, 'pages' => []];
- }
- $res[$label]['nb'] += $event['nb_events'];
- if ($page && !in_array($page, $res[$label]['pages'])) {
- $res[$label]['pages'][] = $page;
- sort($res[$label]['pages']);
- }
+
+ $categoryByName = [];
+ $data = $this->apiCall('Events.getCategory', ['flat' => 1, 'expanded' => 1, 'secondaryDimension' => 'eventName']);
+ foreach ($data as $day => $events) {
+ foreach ($events as $event) {
+ if (!isset($types[$event['Events_EventCategory']])) {
+ continue;
+ }
+ if (!isset($categoryByName[$event['Events_EventName']])) {
+ $categoryByName[$event['Events_EventName']] = $event['Events_EventCategory'];
}
+ }
+ }
+ $data = $this->apiCall('Events.getName', ['flat' => 1, 'expanded' => 1, 'secondaryDimension' => 'eventAction']);
+
+ foreach ($data as $day => $events) {
+ foreach ($events as $event) {
+ $name = $event['Events_EventName'];
+
+ if (in_array($event['Events_EventName'], $undefined)) {
+ continue;
+ }
+ if (!isset($categoryByName[$name])) {
+ continue;
+ }
+ $type = $categoryByName[$name];
+ $actions = $types[$type];
+ $action = $event['Events_EventAction'];
+ if (!in_array($action, $actions)) {
+ continue;
+ }
+ $e = explode('|:|', $name, 2);
+ $page = '';
+ if (count($e) == 2) {
+ $page = $e[1];
+ $label = $e[0];
+ } else {
+ $label = $e[0];
+ }
+ if ($page) {
+ $page = $this->_getPageGroup($page);
+ }
+ if (!isset($res[$label])) {
+ $res[$label] = ['type' => $type, 'nb' => 0, 'pages' => []];
+ }
+ $res[$label]['nb'] += $event['nb_events'];
+ if ($page && !in_array($page, $res[$label]['pages'])) {
+ $res[$label]['pages'][] = $page;
+ sort($res[$label]['pages']);
+ }
}
+
}
return collect($res)->sortByDesc('nb');
@if($summary_key === 'page_group')
@include('fluidbook_stats.pagelink',['group'=>$page_data[$summary_key]])
@else
- <td data-name="{{ $summary_key }}"
- {!! is_int($page_data[$summary_key]) ? $formatter->format($page_data[$summary_key]) : $page_data[$summary_key] !!}
+ <td data-name="{{ $summary_key }}">
+ {!! is_int($page_data[$summary_key]) ? $formatter->format($page_data[$summary_key]) : $page_data[$summary_key] !!}
</td>
@endif
@endforeach
</tbody>
</table>
+ @if($multimedia->isNotEmpty())
+ @php
+ $icons=['slideshow'=>'las la-image','video'=>'las la-video'];
+ @endphp
+
+ <h3 class="mt-5">{{ __('Contenus multimédia') }}</h3>
+
+ <table class="{!! $tableClasses !!}">
+ <thead>
+ <tr>
+ <th style="width: 45%;">{{ __('Contenu') }}</th>
+ <th style="width: 40%;">{{ __('Page') }}</th>
+ <th style="width: 15%;" class="sorttable_sorted_reverse">{{ __('Vues') }}</th>
+ </tr>
+ </thead>
+ <tbody>
+ @foreach($multimedia as $label=>$media)
+ <tr>
+ <td class="whitespace-nowrap" data-sort-value="{{$label }}">
+ <i class="{{$icons[$media['type']]}}"></i> {{$label }}
+ </td>
+ @include('fluidbook_stats.pagelink',['group'=>$media['pages'][0]??''])
+ <td>{{ $formatter->format($media['nb']) }}</td>
+ </tr>
+ @endforeach
+ </tbody>
+ </table>
+
+ @endif
+
{{-- Additional stats tables organised into columns (outgoing links, search keywords and countries) --}}
{{-- Sometimes there are no stats for certain categories, so the number of columns adapts accordingly --}}
<div class="table-columns mt-5">
</div>
@endif
- @if($multimedia->isNotEmpty())
- @php
- $icons=['slideshow'=>'las la-image','video'=>'las la-video'];
- @endphp
- <div>
- <h3>{{ __('Contenus multimédia') }}</h3>
-
- <table class="{!! $tableClasses !!}">
- <thead>
- <tr>
- <th style="width: 45%;">{{ __('Contenu') }}</th>
- <th style="width: 40%;">{{ __('Page') }}</th>
- <th style="width: 15%;" class="sorttable_sorted_reverse">{{ __('Vues') }}</th>
- </tr>
- </thead>
- <tbody>
- @foreach($multimedia as $label=>$media)
- <tr>
- <td class="whitespace-nowrap" data-sort-value="{{$label }}">
- <i class="{{$icons[$media['type']]}}"></i> {{$label }}
- </td>
- @include('fluidbook_stats.pagelink',['group'=>$media['pages'][0]??''])
- <td>{{ $formatter->format($media['nb']) }}</td>
- </tr>
- @endforeach
- </tbody>
- </table>
- </div>
- @endif
</div>