"; gros_titre(_T('titre_liens_entrants')); barre_onglets("statistiques", "referers"); debut_gauche(); debut_boite_info(); echo ""; echo "

"._T('info_gauche_statistiques_referers')."

"; fin_boite_info(); debut_droite(); } else { debut_page(_T('titre_page_statistiques_visites').$pourarticle, "suivi", "statistiques"); echo "

"; gros_titre(_T('titre_evolution_visite')."".aide("confstat").""); // barre_onglets("statistiques", "evolution"); if ($titre) gros_titre($titre); debut_gauche(); echo "

"; echo "

"; echo ""; echo typo(_T('info_afficher_visites')); echo ""; echo ""; echo "
"; // Par popularite $articles_recents[] = "0"; $query = "SELECT id_article FROM spip_articles WHERE statut='publie' AND popularite > 0 ORDER BY date DESC LIMIT 0,10"; $result = spip_query($query); while ($row = spip_fetch_array($result)) { $articles_recents[] = $row['id_article']; } $articles_recents = join($articles_recents, ","); // Par popularite $query = "SELECT id_article, titre, popularite, visites FROM spip_articles WHERE statut='publie' AND popularite > 0 ORDER BY popularite DESC"; $result = spip_query($query); $nombre_articles = spip_num_rows($result); if ($nombre_articles > 0) { echo "

"; echo "

"; echo ""; echo typo(_T('info_visites_plus_populaires')); echo "
    "; echo ""; while ($row = spip_fetch_array($result)) { $titre = typo($row['titre']); $l_article = $row['id_article']; $visites = $row['visites']; $popularite = round($row['popularite']); $liste++; $classement[$l_article] = $liste; if ($liste <= 30) { $articles_vus[] = $l_article; if ($l_article == $id_article){ echo "\n
  1. $titre"; } else { echo "\n
  2. $popularite, 'visites' => $visites))."'>$titre"; } } } $articles_vus = join($articles_vus, ","); // Par popularite $query_suite = "SELECT id_article, titre, popularite, visites FROM spip_articles WHERE statut='publie' AND id_article IN ($articles_recents) AND id_article NOT IN ($articles_vus) ORDER BY popularite DESC"; $result_suite = spip_query($query_suite); if (spip_num_rows($result_suite) > 0) { echo "

    [...]

    "; while ($row = spip_fetch_array($result_suite)) { $titre = typo($row['titre']); $l_article = $row['id_article']; $visites = $row['visites']; $popularite = round($row['popularite']); $numero = $classement[$l_article]; if ($l_article == $id_article){ echo "\n
  3. $titre
  4. "; } else { echo "\n
  5. $popularite, 'visites' => $visites))."'>$titre
  6. "; } } } echo "
"; echo ""._T('info_comment_lire_tableau')."
"._T('texte_comment_lire_tableau'); echo "
"; echo "
"; echo "
"; } // Par visites depuis le debut $query = "SELECT id_article, titre, popularite, visites FROM spip_articles WHERE statut='publie' AND popularite > 0 ORDER BY visites DESC LIMIT 0,30"; $result = spip_query($query); if (spip_num_rows($result) > 0) { creer_colonne_droite(); echo "

"; echo ""; echo typo(_T('info_affichier_visites_articles_plus_visites')); echo "
    "; echo ""; while ($row = spip_fetch_array($result)) { $titre = typo($row['titre']); $l_article = $row['id_article']; $visites = $row['visites']; $popularite = round($row['popularite']); $numero = $classement[$l_article]; if ($l_article == $id_article){ echo "\n
  1. $titre
  2. "; } else { echo "\n
  3. $popularite, 'visites' => $visites))."'>$titre
  4. "; } } echo "
"; echo ""; echo "
"; echo "
"; } // // Afficher les boutons de creation d'article et de breve // if ($connect_statut == '0minirezo') { if ($id_article > 0) { debut_raccourcis(); icone_horizontale(_T('icone_retour_article'), "articles.php3?id_article=$id_article", "article-24.gif","rien.gif"); fin_raccourcis(); } } debut_droite(); } if ($connect_statut != '0minirezo') { echo _T('avis_non_acces_page'); fin_page(); exit; } ////// if (!$aff_jours) $aff_jours = 105; if (!$origine) { if ($id_article) { $table = "spip_visites_articles"; $table_ref = "spip_referers_articles"; $where = "id_article=$id_article"; } else { $table = "spip_visites"; $table_ref = "spip_referers"; $where = "1"; } $query="SELECT UNIX_TIMESTAMP(date) AS date_unix FROM $table ". "WHERE $where ORDER BY date LIMIT 0,1"; $result = spip_query($query); while ($row = spip_fetch_array($result)) { $date_premier = $row['date_unix']; } $query="SELECT UNIX_TIMESTAMP(date) AS date_unix, visites FROM $table ". "WHERE $where AND date > DATE_SUB(NOW(),INTERVAL $aff_jours DAY) ORDER BY date"; $result=spip_query($query); while ($row = spip_fetch_array($result)) { $date = $row['date_unix']; $visites = $row['visites']; $log[$date] = $visites; if ($i == 0) $date_debut = $date; $i++; } // Visites du jour if ($id_article) { $query = "SELECT COUNT(DISTINCT ip) AS visites FROM spip_visites_temp WHERE type = 'article' AND id_objet = $id_article"; $result = spip_query($query); } else { $query = "SELECT COUNT(DISTINCT ip) AS visites FROM spip_visites_temp"; $result = spip_query($query); } if ($row = @spip_fetch_array($result)) $visites_today = $row['visites']; else $visites_today = 0; if (count($log)>0) { $max = max(max($log),$visites_today); $date_today = time(); $nb_jours = floor(($date_today-$date_debut)/(3600*24)); $maxgraph = maxgraph($max); $rapport = 200 / $maxgraph; if (count($log) < 420) $largeur = floor(450 / ($nb_jours+1)); if ($largeur < 1) { $largeur = 1; $agreg = ceil(count($log) / 420); } else { $agreg = 1; } if ($largeur > 50) $largeur = 50; debut_cadre_relief("statistiques-24.gif"); $largeur_abs = 420 / $aff_jours; if ($largeur_abs > 1) { $inc = ceil($largeur_abs / 5); $aff_jours_plus = 420 / ($largeur_abs - $inc); $aff_jours_moins = 420 / ($largeur_abs + $inc); } if ($largeur_abs == 1) { $aff_jours_plus = 840; $aff_jour_moins = 210; } if ($largeur_abs < 1) { $aff_jours_plus = 420 * ((1/$largeur_abs) + 1); $aff_jours_moins = 420 * ((1/$largeur_abs) - 1); } // $aff_jours_plus = round($aff_jours * 1.5); // $aff_jours_moins = round($aff_jours / 1.5); if ($id_article) $pour_article="&id_article=$id_article"; if ($date_premier < $date_debut) echo http_href_img("statistiques_visites.php3?aff_jours=$aff_jours_plus$pour_article", 'loupe-moins.gif', "border='0' valign='center'", _T('info_zoom'). '-'), " "; if ( (($date_today - $date_debut) / (24*3600)) > 30) echo http_href_img("statistiques_visites.php3?aff_jours=$aff_jours_moins$pour_article", 'loupe-plus.gif', "border='0' valign='center'", _T('info_zoom'). '+'), " "; /* if ($spip_svg_plugin == 'oui') { echo "
"; echo ""; echo ""; echo ""; echo "
"; } else { */ echo "", "", ""; echo ""; echo ""; echo "
"; echo ""; echo ""; // Presentation graphique while (list($key, $value) = each($log)) { $test_agreg ++; if ($test_agreg == $agreg) { $test_agreg = 0; $n++; if ($decal == 30) $decal = 0; $decal ++; $tab_moyenne[$decal] = $value; // Inserer des jours vides si pas d'entrees if ($jour_prec > 0) { $ecart = floor(($key-$jour_prec)/((3600*24)*$agreg)-1); for ($i=0; $i < $ecart; $i++){ if ($decal == 30) $decal = 0; $decal ++; $tab_moyenne[$decal] = $value; $ce_jour=date("Y-m-d", $jour_prec+(3600*24*($i+1))); $jour = nom_jour($ce_jour).' '.affdate_jourcourt($ce_jour); reset($tab_moyenne); $moyenne = 0; while (list(,$val_tab) = each($tab_moyenne)) $moyenne += $val_tab; $moyenne = $moyenne / count($tab_moyenne); $hauteur_moyenne = round(($moyenne) * $rapport) - 1; echo ""; $n++; } } $ce_jour=date("Y-m-d", $key); $jour = nom_jour($ce_jour).' '.affdate_jourcourt($ce_jour); $total_loc = $total_loc + $value; reset($tab_moyenne); $moyenne = 0; while (list(,$val_tab) = each($tab_moyenne)) $moyenne += $val_tab; $moyenne = $moyenne / count($tab_moyenne); $hauteur_moyenne = round($moyenne * $rapport) - 1; $hauteur = round($value * $rapport) - 1; $moyenne = round($moyenne,2); // Pour affichage harmonieux echo "\n"; $jour_prec = $key; $val_prec = $value; } } // Dernier jour $hauteur = round($visites_today * $rapport) - 1; $total_absolu = $total_absolu + $visites_today; echo ""; echo ""; echo "
", http_img_rien(1,200), ""; $difference = ($hauteur_moyenne) -1; $moyenne = round($moyenne,2); // Pour affichage harmonieux $tagtitle= attribut_html(supprimer_tags("$jour | " ._T('info_visites')." | " ._T('info_moyenne')." $moyenne")); if ($difference > 0) { echo http_img_rien($largeur,1, 'background-color:#333333;', $tagtitle); echo http_img_rien($largeur, $hauteur_moyenne, '', $tagtitle); } echo http_img_rien($largeur,1,'background-color:black;', $tagtitle); echo ""; $tagtitle= attribut_html(supprimer_tags("$jour | " ._T('info_visites')." ".$value)); if ($hauteur > 0){ if ($hauteur_moyenne > $hauteur) { $difference = ($hauteur_moyenne - $hauteur) -1; echo http_img_rien($largeur, 1,'background-color:#333333;',$tagtitle); echo http_img_rien($largeur, $difference, '', $tagtitle); echo http_img_rien($largeur,1, "background-color:$couleur_foncee;", $tagtitle); if (date("w",$key) == "0") // Dimanche en couleur foncee echo http_img_rien($largeur, $hauteur, "background-color:$couleur_foncee;", $tagtitle); else echo http_img_rien($largeur,$hauteur, "background-color:$couleur_claire;", $tagtitle); } else if ($hauteur_moyenne < $hauteur) { $difference = ($hauteur - $hauteur_moyenne) -1; echo http_img_rien($largeur,1,"background-color:$couleur_foncee;", $tagtitle); if (date("w",$key) == "0") // Dimanche en couleur foncee $couleur = $couleur_foncee; else $couleur = $couleur_claire; echo http_img_rien($largeur, $difference, "background-color:$couleur;", $tagtitle); echo http_img_rien($largeur,1,"background-color:#333333;", $tagtitle); echo http_img_rien($largeur, $hauteur_moyenne, "background-color:$couleur;", $tagtitle); } else { echo http_img_rien($largeur, 1, "background-color:$couleur_foncee;", $tagtitle); if (date("w",$key) == "0") // Dimanche en couleur foncee echo http_img_rien($largeur, $hauteur, "background-color:$couleur_foncee;", $tagtitle); else echo http_img_rien($largeur,$hauteur, "background-color:$couleur_claire;", $tagtitle); } } echo http_img_rien($largeur, 1, 'background-color:black;', $tagtitle); echo ""; if ($hauteur > 0){ echo http_img_rien($largeur, 1, "background-color:$couleur_foncee;"); // prevision de visites jusqu'a minuit // basee sur la moyenne (site) ou popularite (article) if (! $id_article) $val_popularite = $moyenne; $prevision = (1 - (date("H")*60 - date("i"))/(24*60)) * $val_popularite; $hauteurprevision = ceil($prevision * $rapport); $prevision = round($prevision,0)+$visites_today; // Pour affichage harmonieux $tagtitle= attribut_html(supprimer_tags(_T('info_aujourdhui')." $visites_today → $prevision")); echo http_img_rien($largeur, $hauteurprevision,'background-color:#eeeeee;', $tagtitle); echo http_img_rien($largeur, $hauteur, 'background-color:#cccccc;', $tagtitle); } echo http_img_rien($largeur, 1, 'background-color:black;'); echo "",http_img_rien(1, 1),"
"; echo "
", http_img_rien(3, 1, 'background-color:black;'),"", http_img_rien(5, 1),""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "
"; echo "".round($maxgraph).""; echo "
"; echo "".round(7*($maxgraph/8)).""; echo "
"; echo "".round(3*($maxgraph/4)).""; echo "
"; echo "".round(5*($maxgraph/8)).""; echo "
"; echo "".round($maxgraph/2).""; echo "
"; echo "".round(3*($maxgraph/8)).""; echo "
"; echo "".round($maxgraph/4).""; echo "
"; echo "".round(1*($maxgraph/8)).""; echo "
"; echo "0"; echo "
"; echo "
"; echo "
"; $gauche_prec = -50; for ($jour = $date_debut; $jour <= $date_today; $jour = $jour + (24*3600)) { $ce_jour = date("d", $jour); if ($ce_jour == "1") { $afficher = nom_mois(date("Y-m-d", $jour)); if (date("m", $jour) == 1) $afficher = "".annee(date("Y-m-d", $jour)).""; $gauche = ($jour - $date_debut) * $largeur / ((24*3600)*$agreg); if ($gauche - $gauche_prec >= 40 OR date("m", $jour) == 1) { echo "
".$afficher."
"; $gauche_prec = $gauche; } } } echo "
"; //} // cette ligne donne la moyenne depuis le debut // (desactive au profit de la moeynne "glissante") # $moyenne = round($total_absolu / ((date("U")-$date_premier)/(3600*24))); echo ""._T('texte_statistiques_visites').""; echo "

"; echo ""; echo ""; echo "
"; echo _T('info_maximum')." ".$max; echo "
"._T('info_moyenne')." ".round($moyenne); echo "
"; echo _T('info_aujourdhui').' '.$visites_today; if ($val_prec > 0) echo "
"._T('info_hier').' '.$val_prec; if ($id_article) echo "
"._T('info_popularite_5').' '.$val_popularite; echo "
"; echo ""._T('info_total')." ".$total_absolu.""; if ($id_article) { if ($classement[$id_article] > 0) { if ($classement[$id_article] == 1) $ch = _T('info_classement_1', array('liste' => $liste)); else $ch = _T('info_classement_2', array('liste' => $liste)); echo "
".$classement[$id_article].$ch; } } else { echo ""; echo "
"._T('info_popularite_2')." "; echo ceil(lire_meta('popularite_total')); echo "
"; } echo "
"; } if (count($log) > 60) { echo "

"; echo ""._T('info_visites_par_mois').""; echo "

"; ///////// Affichage par mois $query="SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(date),'%Y-%m') AS date_unix, SUM(visites) AS total_visites FROM $table ". "WHERE $where AND date > DATE_SUB(NOW(),INTERVAL 2700 DAY) GROUP BY date_unix ORDER BY date"; $result=spip_query($query); $i = 0; while ($row = spip_fetch_array($result)) { $date = $row['date_unix']; $visites = $row['total_visites']; $i++; $entrees["$date"] = $visites; } if (count($entrees)>0){ $max = max($entrees); $maxgraph = maxgraph($max); $rapport = 200/$maxgraph; $largeur = floor(420 / (count($entrees))); if ($largeur < 1) $largeur = 1; if ($largeur > 50) $largeur = 50; } echo "", "", ""; echo ""; echo "
"; echo ""; echo ""; // Presentation graphique $n = 0; $decal = 0; $tab_moyenne = ""; while (list($key, $value) = each($entrees)) { $n++; $mois = affdate_mois_annee($key); if ($decal == 30) $decal = 0; $decal ++; $tab_moyenne[$decal] = $value; $total_loc = $total_loc + $value; reset($tab_moyenne); $moyenne = 0; while (list(,$val_tab) = each($tab_moyenne)) $moyenne += $val_tab; $moyenne = $moyenne / count($tab_moyenne); $hauteur_moyenne = round($moyenne * $rapport) - 1; $hauteur = round($value * $rapport) - 1; echo "\n"; $jour_prec = $key; $val_prec = $value; } echo ""; echo "
", http_img_rien(1, 200),""; $tagtitle= attribut_html(supprimer_tags("$mois | " ._T('info_visites')." ".$value)); if ($hauteur > 0){ if ($hauteur_moyenne > $hauteur) { $difference = ($hauteur_moyenne - $hauteur) -1; echo http_img_rien($largeur, 1, 'background-color:#333333;'); echo http_img_rien($largeur, $difference, '', $tagtitle); echo http_img_rien($largeur,1,"background-color:$couleur_foncee;"); if (ereg("-01",$key)){ // janvier en couleur foncee echo http_img_rien($largeur,$hauteur,"background-color:$couleur_foncee;", $tagtitle); } else { echo http_img_rien($largeur,$hauteur,"background-color:$couleur_claire;", $tagtitle); } } else if ($hauteur_moyenne < $hauteur) { $difference = ($hauteur - $hauteur_moyenne) -1; echo http_img_rien($largeur,1,"background-color:$couleur_foncee;", $tagtitle); if (ereg("-01",$key)){ // janvier en couleur foncee $couleur = $couleur_foncee; } else { $couleur = $couleur_claire; } echo http_img_rien($largeur,$difference, "background-color:$couleur;", $tagtitle); echo http_img_rien($largeur,1,'background-color:#333333;',$tagtitle); echo http_img_rien($largeur,$hauteur_moyenne,"background-color:$couleur;", $tagtitle); } else { echo http_img_rien($largeur,1,"background-color:$couleur_foncee;", $tagtitle); if (ereg("-01",$key)){ // janvier en couleur foncee echo http_img_rien($largeur, $hauteur, "background-color:$couleur_foncee;", $tagtitle); } else { echo http_img_rien($largeur,$hauteur, "background-color:$couleur_claire;", $tagtitle); } } } echo http_img_rien($largeur,1,'background-color:black;', $tagtitle); echo "", http_img_rien(1, 1),"
"; echo "
", http_img_rien(3, 1, 'background-color:black;'),"", http_img_rien(5, 1),""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "
"; echo "".round($maxgraph).""; echo "
"; echo "".round(7*($maxgraph/8)).""; echo "
"; echo "".round(3*($maxgraph/4)).""; echo "
"; echo "".round(5*($maxgraph/8)).""; echo "
"; echo "".round($maxgraph/2).""; echo "
"; echo "".round(3*($maxgraph/8)).""; echo "
"; echo "".round($maxgraph/4).""; echo "
"; echo "".round(1*($maxgraph/8)).""; echo "
"; echo "0"; echo "
"; echo "
"; echo "
"; } ///// fin_cadre_relief(); } // // Affichage des referers // // nombre de referers a afficher $limit = intval($limit); //secu if ($limit == 0) $limit = 100; // afficher quels referers ? $vis = "visites"; if ($origine) { $where = "visites_jour>0"; $vis = "visites_jour"; $table_ref = "spip_referers"; } $query = "SELECT referer, $vis AS vis FROM $table_ref WHERE $where ORDER BY $vis DESC"; echo "


"; gros_titre(_T("onglet_origine_visites")); echo "

"; echo aff_referers ($query, $limit); echo "

"; echo ""; fin_page(); ?>