[(#REM)
Surcharge : prise en compte des différents objets éditoriaux
Notes :
Certaines balises ne pouvant être utilisées dans une boucle DATA, on les émule :
- \#POPULARITE_ABSOLUE : on applique ceil à la popularite
- \#EXPOSE : avec une balise conditionnelle
Inclus dans :
- prive/squelettes/contenu/stats_visites.html
]
[(#SET{objet, #ENV{objet}|sinon{#ENV{id_article}|?{article}}})][
(#SET{id_objet, #ENV{id_objet,#ENV{id_article}}|intval})][
(#SET{id_table_objet, #GET{objet}|id_table_objet})][
(#SET{table_objet_sql, #GET{objet}|table_objet_sql})][
(#SET{champ_titre, #GET{objet}|objet_info{titre}})][
(#SET{champ_date, #GET{objet}|objet_info{date}|sinon{maj}})][
(#SET{champ_statut, #GET{objet}|objet_info{statut}|table_valeur{0/champ}})][
(#SET{statut_publie, #GET{objet}|objet_info{statut}|table_valeur{0/publie}})]
#BOITE_OUVRIR{'','note'}
[(#REM)
======================
les 30 plus populaires
======================
]
[(#SET{c, #GET{objet}|classement_populaires|sinon{#LISTE{0}}})][
(#SET{ids_pop, #ARRAY})][
(#SET{select, [(#GET{id_table_objet}),visites,popularite][,(#GET{champ_titre})]})][
(#SET{from, #GET{table_objet_sql}})][
(#GET{champ_statut}|oui) #SET{req_statut, #GET{champ_statut}=#GET{statut_publie}|sql_quote}][
(#REM) Exception pour les auteurs (en attendant https://core.spip.net/issues/4175#note-6 ?)][
(#GET{champ_statut}|and{#GET{objet}|=={auteur}}|oui) #SET{req_statut, statut IN ('0minirezo', '1comite', '6forum')}][
(#SET{where, [(#GET{id_table_objet})] IN \([(#GET{c}|implode{','})]\)[(#GET{champ_statut}|oui) AND #GET{req_statut}]})][
(#SET{groupby, #GET{id_table_objet}})][
(#SET{orderby, FIELD\([(#GET{id_table_objet})][,(#GET{c}|implode{','})]\)})][
(#SET{limit, '0,30'})][
(#SET{req_pop, [SELECT (#GET{select})][ FROM (#GET{from})][ WHERE (#GET{where})][ GROUP BY (#GET{groupby})][ ORDER BY (#GET{orderby})][ LIMIT (#GET{limit})]})]
<:statistiques:info_visites_objets_plus_populaires:>
#SET{ids_pop,#GET{ids_pop}|push{#VALEUR{#GET{id_table_objet}}}}
#SET{popularite,#VALEUR{popularite}|ceil}
-
#VALEUR{titre}
[(#REM)
=======================================================================
les 10 derniers populaires publiés, pas en doublons avec les précédents
=======================================================================
]
[(#SET{select, [(#GET{id_table_objet}),visites,popularite][,(#GET{champ_date})][,(#GET{champ_titre})]})][
(#SET{from, #GET{table_objet_sql}})][
(#SET{where, popularite > 0[(#GET{ids_pop}|count|oui) AND [(#GET{id_table_objet})] NOT IN \([(#GET{ids_pop}|implode{','})]\)][(#GET{champ_statut}|oui) AND #GET{req_statut}]})][
(#SET{groupby, #GET{id_table_objet}})][
(#SET{orderby, [(#GET{champ_date}) DESC]})][
(#SET{limit, '0,10'})][
(#SET{req_derniers,[SELECT (#GET{select})][ FROM (#GET{from})][ WHERE (#GET{where})][ GROUP BY (#GET{groupby})][ ORDER BY (#GET{orderby})][ LIMIT (#GET{limit})]})]
[...]
<:statistiques:info_visites_objets_derniers:>
#SET{popularite,#VALEUR{popularite}|ceil}
-
#VALEUR{titre}
[(#REM)
===================================
les 30 plus visités depuis le début
===================================
]
<:statistiques:info_afficher_visites_objets_plus_visites:>
[(#SET{c, #GET{objet}|classement_populaires})][
(#SET{select, [(#GET{id_table_objet}),visites,popularite][,(#GET{champ_titre})]})][
(#SET{from, #GET{table_objet_sql}})][
(#SET{where, popularite > 0[(#GET{champ_statut}|oui) AND #GET{req_statut} ]})][
(#SET{groupby, #GET{id_table_objet}})][
(#SET{orderby, 'visites DESC'})][
(#SET{limit, '0,30'})][
(#SET{req_plusvisites,[SELECT (#GET{select})][ FROM (#GET{from})][ WHERE (#GET{where})][ GROUP BY (#GET{groupby})][ ORDER BY (#GET{orderby})][ LIMIT (#GET{limit})]})]
#SET{popularite,#VALEUR{popularite}|ceil}
-
#VALEUR{titre}
<:statistiques:info_comment_lire_tableau:>
<:statistiques:texte_comment_lire_tableau:>
#BOITE_FERMER