protected function _processMultimedia()
{
- $types = ['slideshow' => ['show'], 'video' => ['play', 'show']];
-
- $typesSubtable = [];
- foreach ($this->apiCall('Events.getCategory') as $period) {
- foreach ($period as $category) {
- $typesSubtable[$category['label']] = $category['idsubdatatable'];
- }
- }
+ $this->setCacheDuration(1);
+ $types = ['slideshow' => ['show'], 'video' => ['play']];
+ $undefined = ['Nom d\'évènement indéfini'];
$res = [];
foreach ($types as $type => $actions) {
- foreach ($actions as $action) {
- $data = $this->apiCall('Events.getNameFromCategoryId', ['idSubtable' => $typesSubtable[$type], 'segment' => 'eventAction==' . $action]);
- foreach ($data as $day => $events) {
- foreach ($events as $event) {
- $label = $event['label'];
- $e = explode('|:|', $label, 2);
- $page = '';
- if (count($e) == 2) {
- $page = $e[1];
- }
- 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']);
- }
+ $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']);
}
}
+
}
}
$res = [];
for ($page_number = 0; $page_number <= $this->fluidbook->getPagesNumber(); $page_number++) {
$aliases = $pagesAlises[$page_number] ?? [];
-
- if ($this->fluidbook->isOnePage()) {
- $page_group = $page_number;
- } else {
- if ($page_number <= 1) {
- $page_group = 1;
- } elseif ($page_number == $this->fluidbook->getPagesNumber() && $this->fluidbook->getPagesNumber() % 2 == 0) {
- $page_group = $page_number;
- } else {
- $start_page = $page_number;
- if ($page_number % 2 == 1) {
- $start_page--;
- }
- $following_page = $start_page + 1;
- $page_group = $start_page . '—' . $following_page;
- }
- }
+ $page_group = $this->_getPageGroup($page_number);
$single_page_data = [
'page_group' => $page_group,
return $res;
}
+ protected function _getPageGroup($page_number)
+ {
+ if ($this->fluidbook->isOnePage()) {
+ return $page_number;
+ } else {
+ if ($page_number <= 1) {
+ return 1;
+ } elseif ($page_number == $this->fluidbook->getPagesNumber() && $this->fluidbook->getPagesNumber() % 2 == 0) {
+ return $page_number;
+ } else {
+ $start_page = $page_number;
+ if ($page_number % 2 == 1) {
+ $start_page--;
+ }
+ $following_page = $start_page + 1;
+ return $start_page . '—' . $following_page;
+ }
+ }
+ }
+
protected function _sumArrays()
{
$exclude = ['page_number', 'page_group'];
@foreach($pages as $page_group => $page_data)
<tr>
@foreach (array_keys($table_map['per-page']) as $summary_key)
- <td data-name="{{ $summary_key }}"
- @if($summary_key === 'page_group')sorttable_customkey="{{ $page_data['page_number'] }}"@endif>
- @if($summary_key === 'page_group')
- @if(count($page_data['page_aliases'])>0)
- <div class="with-aliases">
- @foreach($page_data['page_aliases'] as $alias)
- <span class="alias"><a target="_blank"
- href="{!! $fluidbookBaseURL !!}#/page/{{\Fluidbook\Tools\Links\AnchorLink::normalizeAnchor($alias)}}">{{$alias}}</a></span>
- @endforeach
- @endif
- <a class="number" target="_blank"
- href="{!! $fluidbookBaseURL !!}#/page/{{ $page_data['page_number'] }}">{{$page_data[$summary_key]}}</a>
- @if(count($page_data['page_aliases'])>0)
- </div>
- @endif
- @else
- {!! is_int($page_data[$summary_key]) ? $formatter->format($page_data[$summary_key]) : $page_data[$summary_key] !!}
- @endif
- </td>
+ @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>
+ @endif
@endforeach
</tr>
@endforeach
<table class="{!! $tableClasses !!}">
<thead>
<tr>
- <th style="width: 55%;">{{ __('Contenu') }}</th>
- <th style="width: 20%;">{{ __('Page') }}</th>
+ <th style="width: 45%;">{{ __('Contenu') }}</th>
+ <th style="width: 40%;">{{ __('Page') }}</th>
<th style="width: 15%;" class="sorttable_sorted_reverse">{{ __('Vues') }}</th>
</tr>
</thead>
<td class="whitespace-nowrap" data-sort-value="{{$label }}">
<i class="{{$icons[$media['type']]}}"></i> {{$label }}
</td>
- <td data-sort-value="{{ $media['pages'][0] ?? 0}}">{{implode(', ',$media['pages']) }}</td>
+ @include('fluidbook_stats.pagelink',['group'=>$media['pages'][0]??''])
<td>{{ $formatter->format($media['nb']) }}</td>
</tr>
@endforeach