[(#REM) Compilation des résultats pour les visites sur un type d'objet particulier sans que son id numérique ne soit spécifié Doit absolument recevoir dans l'environnement : -* Un array de d'id_journal #ENV{id_journals} On crée deux tableaux différents de compilation : -* Par objet/id_objet -* Par id_auteur -* Par journée ] #SET{auteurs,#ARRAY} #SET{temps_auteurs, #ARRAY} #SET{id_objets,#ARRAY} #SET{temps_objets, #ARRAY} #SET{objets_def, #ARRAY} #SET{dates, #ARRAY} #SET{temps_date,#ARRAY} #ENV{date_debut,0}}{date<#ENV{date_fin,#ENV{date}}}{action = #ENV{journal_action}}{id_auteur !IN #CONFIG{bigbrother/exclure_auteurs,#ARRAY}}> #SET{ temps_auteurs, #GET{temps_auteurs}|array_merge{ #ARRAY{ aut#ID_AUTEUR, #GET{temps_auteurs}|table_valeur{aut#ID_AUTEUR,0}|plus{#DATE|bigbrother_duree{#INFOS|table_valeur{date_fin},secondes}} } } } [(#SET{duree,[(#DATE|bigbrother_duree{[(#INFOS|table_valeur{date_fin})],secondes})]})] [(#SET{id,obj[(#ID_OBJET)][(#OBJET)]})] #SET{ temps_objets, #GET{temps_objets}|array_merge{ #ARRAY{ #GET{id}, #GET{temps_objets}|table_valeur{#GET{id},0}|plus{#GET{duree}} } } } [(#SET{date_new,[(#DATE|affdate{Y-m-d})]})] #SET{ temps_date, #GET{temps_date}|array_merge{ #ARRAY{ #GET{date_new}, #GET{temps_date}|table_valeur{#GET{date_new},0}|plus{#GET{duree}} } } } #SET{ objets_def, #GET{objets_def}|array_merge{ #ARRAY{ #GET{id}, #ARRAY{objet,#OBJET,id_objet,#ID_OBJET} } } } #SET{auteurs,#GET{auteurs}|push{#ID_AUTEUR}} #SET{id_objets,#GET{id_objets}|push{#GET{id}}} #SET{dates,#GET{dates}|push{#GET{date_new}}}
#SET{auteurs,#GET{auteurs}|array_unique} #SET{dates,#GET{dates}|array_unique} #SET{id_objets,#GET{id_objets}|array_unique} #SET{nb_users,#GET{auteurs}|count} #SET{nb_objets,#GET{id_objets}|count} #SET{nb_visites,#TOTAL_BOUCLE}

<:bigbrother:titre_compilation_resultats:>

[(#ENV{id_auteur}|non) [(#ENV{objet}|oui)

<:bigbrother:info_stats_objet_visite_auteurs_nb{nb=#GET{nb_users},nb_visites=#GET{nb_visites},objet=#ENV{objet},id_objet=#ENV{id_objet}}:>

] [(#ENV{objet}|non)

<:bigbrother:info_stats_visite_auteurs_nb{nb=#GET{nb_users},nb_visites=#GET{nb_visites}}:>

] ] [(#REM) Un auteur dans le contexte, pas besoin du tableau spécifique à cet auteur ni de son graphique ] [(#REM) Si pas d'id_auteur dans le contexte on affiche pour tous les auteurs ]

<:bigbrother:titre_visites_par_auteurs:>

#ANCRE_PAGINATION []
<:bigbrother:thead_id_auteur:> <:bigbrother:temps_passe:>
[(#ENV{id_auteur}|non)] [(#VALEUR|is_numeric|oui) #INFO_NOM{auteur,#VALEUR}] [(#VALEUR|is_numeric|non) #VALEUR] [(#ENV{id_auteur}|non)] (#GET{temps_auteurs}|table_valeur{aut#VALEUR}|bigbrother_duree{0,horaire})
[]

<:bigbrother:temps_total:> : [(#GET{temps_auteurs}|array_sum|bigbrother_duree{0, horaire})]

<:bigbrother:temps_median:> : [(#GET{temps_auteurs}|bigbrother_mediane|floor|bigbrother_duree{0, horaire})]

<:bigbrother:temps_moyen:> : [(#GET{temps_auteurs}|array_sum|div{[(#GET{auteurs}|count)]}|round|bigbrother_duree{0, horaire})]

<:bigbrother:titre_visites_par_id_objet:>

#ANCRE_PAGINATION [(#ENV{objet}|non)] [(#SET{id_objet,[(#GET{objets_def}|table_valeur{#VALEUR}|table_valeur{id_objet})]})] [(#SET{objet,[(#GET{objets_def}|table_valeur{#VALEUR}|table_valeur{objet})]})] [(#ENV{objet}|non) ] []
<:bigbrother:thead_id_objet:><:bigbrother:thead_objet:><:bigbrother:thead_titre:> <:bigbrother:thead_temps_consultation:>
[(#GET{id_objet})] #GET{objet} #INFO_TITRE{#GET{objet},#GET{id_objet}} (#GET{temps_objets}|table_valeur{#VALEUR}|bigbrother_duree{0,horaire})
[]

<:bigbrother:temps_total:> : [(#GET{temps_objets}|array_sum|bigbrother_duree{0, horaire})]

<:bigbrother:temps_median:> : [(#GET{temps_objets}|bigbrother_mediane|floor|bigbrother_duree{0, horaire})]

<:bigbrother:temps_moyen:> : [(#GET{temps_objets}|array_sum|div{[(#GET{id_objets}|count)]}|round|bigbrother_duree{0, horaire})]

<:bigbrother:titre_visites_par_date:>

#ANCRE_PAGINATION []
<:bigbrother:thead_date:> <:bigbrother:thead_temps_consultation:>
[(#VALEUR|affdate)] (#GET{temps_date}|table_valeur{#VALEUR}|bigbrother_duree{0,horaire})
[]

<:bigbrother:temps_total:> : [(#GET{temps_date}|array_sum|bigbrother_duree{0, horaire})]

<:bigbrother:temps_median:> : [(#GET{temps_date}|bigbrother_mediane|floor|bigbrother_duree{0, horaire})]

<:bigbrother:temps_moyen:> : [(#GET{temps_date}|array_sum|div{[(#GET{dates}|count)]}|round|bigbrother_duree{0, horaire})]