<?php /* * Squelette : ../plugins-dist/statistiques/prive/squelettes/inclure/stats-visites-populaires.html * Date : Fri, 07 Jul 2023 11:03:32 GMT * Compile : Sat, 24 Feb 2024 12:37:09 GMT * Boucles : _pluspop, _derniers, _plusvisites */ function BOUCLE_pluspophtml_9352693a4ebf7787b678b7c63574b0de(&$Cache, &$Pile, &$doublons, &$Numrows, $SP) { static $command = array(); static $connect; $command['connect'] = $connect = ''; $doublons_index = array(); $in = array(); if (!(is_array($a = (table_valeur($Pile["vars"]??[], (string)'c', null))))) $in[]= $a; else $in = array_merge($in, $a); // Initialise le(s) critère(s) doublons if (!isset($doublons[$d = 'articles'])) { $doublons[$d] = ''; } if (!isset($command['table'])) { $command['table'] = 'articles'; $command['id'] = '_pluspop'; $command['from'] = array('articles' => 'spip_articles'); $command['type'] = array(); $command['groupby'] = array(); $command['select'] = array("articles.id_article", "articles.id_rubrique", "articles.visites", "articles.popularite", "articles.titre", "articles.lang"); $command['join'] = array(); $command['limit'] = '0,30'; $command['having'] = array(); } $command['orderby'] = array('-FIELD(' . 'articles.id_article' . ',' . (($zl=formate_liste_critere_par_ordre_liste(array_reverse(table_valeur($Pile["vars"]??[], (string)'c', null)),'')) ? $zl : '0').')'); $command['where'] = array( quete_condition_statut('articles.statut','publie,prop,prepa/auteur','publie',''), sql_in('articles.id_article', $in), array(sql_in('articles.id_article', $doublons[$doublons_index[]= ('articles')], 'NOT'))); if (defined("_BOUCLE_PROFILER")) $timer = time()+(float)microtime(); $t0 = ""; // REQUETE $iter = Spip\Compilateur\Iterateur\Factory::create( "SQL", $command, array('../plugins-dist/statistiques/prive/squelettes/inclure/stats-visites-populaires.html','html_9352693a4ebf7787b678b7c63574b0de','_pluspop',10,$GLOBALS['spip_lang']) ); if (!$iter->err()) { lang_select($GLOBALS['spip_lang']); $SP++; // RESULTATS while ($Pile[$SP]=$iter->fetch()) { foreach($doublons_index as $k) $doublons[$k] .= "," . $Pile[$SP]['id_article']; // doublons lang_select_public($Pile[$SP]['lang'], '', $Pile[$SP]['titre']); $t0 .= ( ' <li value="' . plus(array_search($Pile[$SP]['id_article'],table_valeur($Pile["vars"]??[], (string)'c', null)),'1') . '"' . (calcul_exposer($Pile[$SP]['id_article'], 'id_article', $Pile[0], $Pile[$SP]['id_rubrique'], 'id_article', '') ? (' class="' . 'on' . '"') : '') . '><a href="' . parametre_url(parametre_url(self(),'objet','article'),'id_objet',$Pile[$SP]['id_article']) . '#contenu" class="ajax" title="' . attribut_html(_T('statistiques:info_popularite_3', array('visites' => interdire_scripts($Pile[$SP]['visites']), 'popularite' => ceil($Pile[$SP]['popularite'])))) . '">' . interdire_scripts(((($a = supprimer_numero(typo($Pile[$SP]['titre'], "TYPO", $connect, $Pile[0]))) OR (is_string($a) AND strlen($a))) ? $a : ( '#' . $Pile[$SP]['id_article'] . ' (' . _T('ecrire:info_sans_titre') . ')'))) . '</a></li> '); lang_select(); } lang_select(); $iter->free(); } if (defined("_BOUCLE_PROFILER") AND 1000*($timer = (time()+(float)microtime())-$timer) > _BOUCLE_PROFILER) spip_log(intval(1000*$timer)."ms BOUCLE_pluspop @ ../plugins-dist/statistiques/prive/squelettes/inclure/stats-visites-populaires.html","profiler"._LOG_AVERTISSEMENT); return $t0; } function BOUCLE_derniershtml_9352693a4ebf7787b678b7c63574b0de(&$Cache, &$Pile, &$doublons, &$Numrows, $SP) { static $command = array(); static $connect; $command['connect'] = $connect = ''; $doublons_index = array(); // Initialise le(s) critère(s) doublons if (!isset($doublons[$d = 'articles'])) { $doublons[$d] = ''; } if (!isset($command['table'])) { $command['table'] = 'articles'; $command['id'] = '_derniers'; $command['from'] = array('articles' => 'spip_articles'); $command['type'] = array(); $command['groupby'] = array(); $command['select'] = array("articles.date", "articles.id_article", "articles.id_rubrique", "articles.visites", "articles.popularite", "articles.titre", "articles.lang"); $command['orderby'] = array('articles.date DESC'); $command['join'] = array(); $command['limit'] = '0,10'; $command['having'] = array(); } $command['where'] = array( quete_condition_statut('articles.statut','publie,prop,prepa/auteur','publie',''), array('>', 'articles.popularite', "'0'"), array(sql_in('articles.id_article', $doublons[$doublons_index[]= ('articles')], 'NOT')), array('>', 'articles.id_rubrique', '"0"')); if (defined("_BOUCLE_PROFILER")) $timer = time()+(float)microtime(); $t0 = ""; // REQUETE $iter = Spip\Compilateur\Iterateur\Factory::create( "SQL", $command, array('../plugins-dist/statistiques/prive/squelettes/inclure/stats-visites-populaires.html','html_9352693a4ebf7787b678b7c63574b0de','_derniers',18,$GLOBALS['spip_lang']) ); if (!$iter->err()) { lang_select($GLOBALS['spip_lang']); $SP++; // RESULTATS while ($Pile[$SP]=$iter->fetch()) { foreach($doublons_index as $k) $doublons[$k] .= "," . $Pile[$SP]['id_article']; // doublons lang_select_public($Pile[$SP]['lang'], '', $Pile[$SP]['titre']); $t0 .= ( ' <li value="' . plus(array_search($Pile[$SP]['id_article'],table_valeur($Pile["vars"]??[], (string)'c', null)),'1') . '"' . (calcul_exposer($Pile[$SP]['id_article'], 'id_article', $Pile[0], $Pile[$SP]['id_rubrique'], 'id_article', '') ? (' class="' . 'on' . '"') : '') . '><a href="' . parametre_url(parametre_url(self(),'objet','article'),'id_objet',$Pile[$SP]['id_article']) . '#contenu" class="ajax" title="' . attribut_html(_T('statistiques:info_popularite_3', array('visites' => interdire_scripts($Pile[$SP]['visites']), 'popularite' => ceil($Pile[$SP]['popularite'])))) . '">' . interdire_scripts(((($a = supprimer_numero(typo($Pile[$SP]['titre'], "TYPO", $connect, $Pile[0]))) OR (is_string($a) AND strlen($a))) ? $a : ( '#' . $Pile[$SP]['id_article'] . ' (' . _T('ecrire:info_sans_titre') . ')'))) . '</a></li> '); lang_select(); } lang_select(); $iter->free(); } if (defined("_BOUCLE_PROFILER") AND 1000*($timer = (time()+(float)microtime())-$timer) > _BOUCLE_PROFILER) spip_log(intval(1000*$timer)."ms BOUCLE_derniers @ ../plugins-dist/statistiques/prive/squelettes/inclure/stats-visites-populaires.html","profiler"._LOG_AVERTISSEMENT); return $t0; } function BOUCLE_plusvisiteshtml_9352693a4ebf7787b678b7c63574b0de(&$Cache, &$Pile, &$doublons, &$Numrows, $SP) { static $command = array(); static $connect; $command['connect'] = $connect = ''; if (!isset($command['table'])) { $command['table'] = 'articles'; $command['id'] = '_plusvisites'; $command['from'] = array('articles' => 'spip_articles'); $command['type'] = array(); $command['groupby'] = array(); $command['select'] = array("articles.visites", "articles.id_article", "articles.id_rubrique", "articles.popularite", "articles.titre", "articles.lang"); $command['orderby'] = array('articles.visites DESC'); $command['where'] = array( quete_condition_statut('articles.statut','publie,prop,prepa/auteur','publie',''), array('>', 'articles.popularite', "'0'"), array('>', 'articles.id_rubrique', '"0"')); $command['join'] = array(); $command['limit'] = '0,30'; $command['having'] = array(); } if (defined("_BOUCLE_PROFILER")) $timer = time()+(float)microtime(); $t0 = ""; // REQUETE $iter = Spip\Compilateur\Iterateur\Factory::create( "SQL", $command, array('../plugins-dist/statistiques/prive/squelettes/inclure/stats-visites-populaires.html','html_9352693a4ebf7787b678b7c63574b0de','_plusvisites',34,$GLOBALS['spip_lang']) ); if (!$iter->err()) { lang_select($GLOBALS['spip_lang']); $SP++; // RESULTATS while ($Pile[$SP]=$iter->fetch()) { lang_select_public($Pile[$SP]['lang'], '', $Pile[$SP]['titre']); $t0 .= ( ' <li value="' . plus(array_search($Pile[$SP]['id_article'],table_valeur($Pile["vars"]??[], (string)'c', null)),'1') . '"' . (calcul_exposer($Pile[$SP]['id_article'], 'id_article', $Pile[0], $Pile[$SP]['id_rubrique'], 'id_article', '') ? (' class="' . 'on' . '"') : '') . '><a href="' . parametre_url(parametre_url(self(),'objet','article'),'id_objet',$Pile[$SP]['id_article']) . '#contenu" class="ajax" title="' . attribut_html(_T('statistiques:info_popularite_3', array('visites' => interdire_scripts($Pile[$SP]['visites']), 'popularite' => ceil($Pile[$SP]['popularite'])))) . '">' . interdire_scripts(((($a = supprimer_numero(typo($Pile[$SP]['titre'], "TYPO", $connect, $Pile[0]))) OR (is_string($a) AND strlen($a))) ? $a : ( '#' . $Pile[$SP]['id_article'] . ' (' . _T('ecrire:info_sans_titre') . ')'))) . '</a></li> '); lang_select(); } lang_select(); $iter->free(); } if (defined("_BOUCLE_PROFILER") AND 1000*($timer = (time()+(float)microtime())-$timer) > _BOUCLE_PROFILER) spip_log(intval(1000*$timer)."ms BOUCLE_plusvisites @ ../plugins-dist/statistiques/prive/squelettes/inclure/stats-visites-populaires.html","profiler"._LOG_AVERTISSEMENT); return $t0; } // // Fonction principale du squelette ../plugins-dist/statistiques/prive/squelettes/inclure/stats-visites-populaires.html // Temps de compilation total: 1.090 ms // function html_9352693a4ebf7787b678b7c63574b0de($Cache, $Pile, $doublons = array(), $Numrows = array(), $SP = 0) { if (isset($Pile[0]["doublons"]) AND is_array($Pile[0]["doublons"])) $doublons = nettoyer_env_doublons($Pile[0]["doublons"]); $connect = ''; $page = ( vide($Pile['vars'][$_zzz=(string)'c'] = classement_populaires('article')) . boite_ouvrir('', 'note') . '<div class="stats-articles"> <div class="unit size1of2"> <p>' . _T('statistiques:info_visites_plus_populaires') . '</p> ' . (($t1 = BOUCLE_pluspophtml_9352693a4ebf7787b678b7c63574b0de($Cache, $Pile, $doublons, $Numrows, $SP))!=='' ? (' <ol class=\'classement\'> ' . $t1 . ( ' </ol> ' . (($t3 = BOUCLE_derniershtml_9352693a4ebf7787b678b7c63574b0de($Cache, $Pile, $doublons, $Numrows, $SP))!=='' ? (' <p class="center">[...]</p> <ol class=\'classement\'> ' . $t3 . ' </ol> ') : '') . ' ')) : '') . ' </div> <div class="unit lastUnit"> <p>' . _T('statistiques:info_affichier_visites_articles_plus_visites') . '</p> ' . vide($Pile['vars'][$_zzz=(string)'c'] = classement_populaires('article')) . (($t1 = BOUCLE_plusvisiteshtml_9352693a4ebf7787b678b7c63574b0de($Cache, $Pile, $doublons, $Numrows, $SP))!=='' ? (' <ol class=\'classement\'> ' . $t1 . ' </ol> ') : '') . ' <br class="nettoyeur" /> <hr /> <h4>' . _T('statistiques:info_comment_lire_tableau') . '</h4> <p>' . _T('statistiques:texte_comment_lire_tableau') . '</p> </div> </div> ' . boite_fermer() . ' '); return analyse_resultat_skel('html_9352693a4ebf7787b678b7c63574b0de', $Cache, $page, '../plugins-dist/statistiques/prive/squelettes/inclure/stats-visites-populaires.html'); }