New file |
0,0 → 1,767 |
<?php |
|
/***************************************************************************\ |
* SPIP, Systeme de publication pour l'internet * |
* * |
* Copyright (c) 2001-2005 * |
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * |
* * |
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. * |
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
\***************************************************************************/ |
|
|
include ("inc.php3"); |
include_ecrire("inc_statistiques.php3"); |
|
|
// Donne la hauteur du graphe en fonction de la valeur maximale |
// Doit etre un entier "rond", pas trop eloigne du max, et dont |
// les graduations (divisions par huit) soient jolies : |
// on prend donc le plus proche au-dessus de x de la forme 12,16,20,40,60,80,100 |
function maxgraph($max) { |
$max = max(10,$max); |
$p = pow(10, strlen($max)-2); |
$m = $max/$p; |
foreach (array(100,80,60,40,20,16,12,10) as $l) |
if ($m<=$l) $maxgraph = $l*$p; |
return $maxgraph; |
} |
|
function http_img_rien($width, $height, $style='', $title='') { |
return http_img_pack('rien.gif', $title, |
"width='$width' height='$height'" |
. (!$style ? '' : (" style='$style'")) |
. (!$title ? '' : (" title=\"$title\""))); |
} |
|
if ($id_article = intval($id_article)){ |
$query = "SELECT titre, visites, popularite FROM spip_articles WHERE statut='publie' AND id_article ='$id_article'"; |
$result = spip_query($query); |
|
if ($row = spip_fetch_array($result)) { |
$titre = typo($row['titre']); |
$total_absolu = $row['visites']; |
$val_popularite = round($row['popularite']); |
} |
} |
else { |
$query = "SELECT SUM(visites) AS total_absolu FROM spip_visites"; |
$result = spip_query($query); |
|
if ($row = spip_fetch_array($result)) { |
$total_absolu = $row['total_absolu']; |
} |
} |
|
|
if ($titre) $pourarticle = " "._T('info_pour')." « $titre »"; |
|
if ($origine) { |
debut_page(_T('titre_page_statistiques_referers'), "suivi", "statistiques"); |
echo "<br><br>"; |
gros_titre(_T('titre_liens_entrants')); |
barre_onglets("statistiques", "referers"); |
|
debut_gauche(); |
debut_boite_info(); |
echo "<FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=2>"; |
echo "<P align=left>"._T('info_gauche_statistiques_referers')."</P></FONT>"; |
fin_boite_info(); |
|
debut_droite(); |
|
} |
else { |
debut_page(_T('titre_page_statistiques_visites').$pourarticle, "suivi", "statistiques"); |
echo "<br><br>"; |
gros_titre(_T('titre_evolution_visite')."<html>".aide("confstat")."</html>"); |
// barre_onglets("statistiques", "evolution"); |
if ($titre) gros_titre($titre); |
|
debut_gauche(); |
|
echo "<p>"; |
|
echo "<div class='iconeoff' style='padding: 5px;'>"; |
echo "<font face='Verdana,Arial,Sans,sans-serif' size=2>"; |
echo typo(_T('info_afficher_visites')); |
echo "<ul>"; |
if ($id_article>0) { |
echo "<li><b><a href='statistiques_visites.php3'>"._T('info_tout_site')."</a></b>"; |
} else { |
echo "<li><b>"._T('titre_page_articles_tous')."</b>"; |
} |
|
echo "</ul>"; |
echo "</font>"; |
echo "</div>"; |
|
|
// 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 "<p>"; |
echo "<div class='iconeoff' style='padding: 5px;'>"; |
echo "<font face='Verdana,Arial,Sans,sans-serif' size=2>"; |
echo typo(_T('info_visites_plus_populaires')); |
echo "<ol style='padding-left:25 px;'>"; |
echo "<font size=1 color='#666666'>"; |
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<li value='$liste'><b>$titre</b>"; |
} else { |
echo "\n<li value='$liste'><a href='statistiques_visites.php3?id_article=$l_article' title='"._T('info_popularite', array('popularite' => $popularite, 'visites' => $visites))."'>$titre</a>"; |
} |
} |
} |
$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 "<br><br>[...]<br><br>"; |
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<li value='$numero'><b>$titre</b></li>"; |
} else { |
echo "\n<li value='$numero'><a href='statistiques_visites.php3?id_article=$l_article' title='"._T('info_popularite_3', array('popularite' => $popularite, 'visites' => $visites))."'>$titre</a></li>"; |
} |
} |
} |
|
echo "</ol>"; |
|
echo "<b>"._T('info_comment_lire_tableau')."</b><br>"._T('texte_comment_lire_tableau'); |
|
echo "</font>"; |
echo "</font>"; |
echo "</div>"; |
} |
|
|
// 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 "<p></p><div class='iconeoff' style='padding: 5px;'>"; |
echo "<font face='Verdana,Arial,Sans,sans-serif' size=2>"; |
echo typo(_T('info_affichier_visites_articles_plus_visites')); |
echo "<ol style='padding-left:25 px;'>"; |
echo "<font size=1 color='#666666'>"; |
|
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<li value='$numero'><b>$titre</b></li>"; |
} else { |
echo "\n<li value='$numero'><a href='statistiques_visites.php3?id_article=$l_article' title='"._T('info_popularite_4', array('popularite' => $popularite, 'visites' => $visites))."'>$titre</a></li>"; |
} |
} |
echo "</ol>"; |
echo "</font>"; |
|
echo "</font>"; |
echo "</div>"; |
} |
|
|
// |
// 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 "<div>"; |
echo "<object data='statistiques_svg.php3?id_article=$id_article&aff_jours=$aff_jours' width='450' height='310' type='image/svg+xml'>"; |
echo "<embed src='statistiques_svg.php3?id_article=$id_article&aff_jours=$aff_jours' width='450' height='310' type='image/svg+xml' />"; |
echo "</object>"; |
echo "</div>"; |
} |
else { |
*/ |
echo "<table cellpadding=0 cellspacing=0 border=0><tr>", |
"<td background='", _DIR_IMG_PACK, "fond-stats.gif'>"; |
echo "<table cellpadding=0 cellspacing=0 border=0><tr>"; |
|
echo "<td bgcolor='black'>", http_img_rien(1,200), "</td>"; |
|
// 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 "<td valign='bottom' width=$largeur>"; |
$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 "</td>"; |
$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 "<td valign='bottom' width=$largeur>"; |
|
$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 "</td>\n"; |
|
$jour_prec = $key; |
$val_prec = $value; |
} |
} |
|
// Dernier jour |
$hauteur = round($visites_today * $rapport) - 1; |
$total_absolu = $total_absolu + $visites_today; |
echo "<td valign='bottom' width=$largeur>"; |
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 "</td>"; |
|
echo "<td bgcolor='black'>",http_img_rien(1, 1),"</td>"; |
echo "</tr></table>"; |
echo "</td>", |
"<td background='", _DIR_IMG_PACK, "fond-stats.gif' valign='bottom'>", http_img_rien(3, 1, 'background-color:black;'),"</td>"; |
echo "<td>", http_img_rien(5, 1),"</td>"; |
echo "<td valign='top'><font face='Verdana,Arial,Sans,sans-serif' size=2>"; |
echo "<table cellpadding=0 cellspacing=0 border=0>"; |
echo "<tr><td height=15 valign='top'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1><b>".round($maxgraph)."</b></font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1 color='#999999'>".round(7*($maxgraph/8))."</font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1>".round(3*($maxgraph/4))."</font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1 color='#999999'>".round(5*($maxgraph/8))."</font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1><b>".round($maxgraph/2)."</b></font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1 color='#999999'>".round(3*($maxgraph/8))."</font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1>".round($maxgraph/4)."</font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1 color='#999999'>".round(1*($maxgraph/8))."</font>"; |
echo "</td></tr>"; |
echo "<tr><td height=10 valign='bottom'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1><b>0</b></font>"; |
echo "</td>"; |
|
|
echo "</table>"; |
echo "</font></td>"; |
echo "</td></tr></table>"; |
|
echo "<div style='position: relative; height: 15px;'>"; |
$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 = "<b>".annee(date("Y-m-d", $jour))."</b>"; |
|
|
$gauche = ($jour - $date_debut) * $largeur / ((24*3600)*$agreg); |
|
if ($gauche - $gauche_prec >= 40 OR date("m", $jour) == 1) { |
echo "<div class='arial0' style='border-$spip_lang_left: 1px solid black; padding-$spip_lang_left: 2px; padding-top: 3px; position: absolute; $spip_lang_left: ".$gauche."px; top: -1px;'>".$afficher."</div>"; |
$gauche_prec = $gauche; |
} |
} |
} |
echo "</div>"; |
|
//} |
|
// 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 "<font face='arial,helvetica,sans-serif' size=1>"._T('texte_statistiques_visites')."</font>"; |
echo "<p><table cellpadding=0 cellspacing=0 border=0 width='100%'><tr width='100%'>"; |
echo "<td valign='top' width='33%'><font face='Verdana,Arial,Sans,sans-serif'>"; |
echo _T('info_maximum')." ".$max; |
echo "<br>"._T('info_moyenne')." ".round($moyenne); |
echo "</td>"; |
echo "<td valign='top' width='33%'><font face='Verdana,Arial,Sans,sans-serif'>"; |
echo _T('info_aujourdhui').' '.$visites_today; |
if ($val_prec > 0) echo "<br>"._T('info_hier').' '.$val_prec; |
if ($id_article) echo "<br>"._T('info_popularite_5').' '.$val_popularite; |
|
echo "</td>"; |
echo "<td valign='top' width='33%'><font face='Verdana,Arial,Sans,sans-serif'>"; |
echo "<b>"._T('info_total')." ".$total_absolu."</b>"; |
|
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 "<br>".$classement[$id_article].$ch; |
} |
} else { |
echo "<font size=1>"; |
echo "<br>"._T('info_popularite_2')." "; |
echo ceil(lire_meta('popularite_total')); |
echo "</font>"; |
} |
echo "</td></tr></table>"; |
} |
|
if (count($log) > 60) { |
echo "<p>"; |
echo "<font face='verdana,arial,helvetica,sans-serif' size='2'><b>"._T('info_visites_par_mois')."</b></font>"; |
|
echo "<div align='left'>"; |
///////// 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 "<table cellpadding=0 cellspacing=0 border=0><tr>", |
"<td background='", _DIR_IMG_PACK, "fond-stats.gif'>"; |
echo "<table cellpadding=0 cellspacing=0 border=0><tr>"; |
echo "<td bgcolor='black'>", http_img_rien(1, 200),"</td>"; |
|
// 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 "<td valign='bottom' width=$largeur>"; |
|
$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 "</td>\n"; |
|
$jour_prec = $key; |
$val_prec = $value; |
} |
|
echo "<td bgcolor='black'>", http_img_rien(1, 1),"</td>"; |
echo "</tr></table>"; |
echo "</td>", |
"<td background='", _DIR_IMG_PACK, "fond-stats.gif' valign='bottom'>", http_img_rien(3, 1, 'background-color:black;'),"</td>"; |
echo "<td>", http_img_rien(5, 1),"</td>"; |
echo "<td valign='top'><font face='Verdana,Arial,Sans,sans-serif' size=2>"; |
echo "<table cellpadding=0 cellspacing=0 border=0>"; |
echo "<tr><td height=15 valign='top'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1><b>".round($maxgraph)."</b></font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1 color='#999999'>".round(7*($maxgraph/8))."</font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1>".round(3*($maxgraph/4))."</font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1 color='#999999'>".round(5*($maxgraph/8))."</font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1><b>".round($maxgraph/2)."</b></font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1 color='#999999'>".round(3*($maxgraph/8))."</font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1>".round($maxgraph/4)."</font>"; |
echo "</td></tr>"; |
echo "<tr><td height=25 valign='middle'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1 color='#999999'>".round(1*($maxgraph/8))."</font>"; |
echo "</td></tr>"; |
echo "<tr><td height=10 valign='bottom'>"; |
echo "<font face='arial,helvetica,sans-serif' size=1><b>0</b></font>"; |
echo "</td>"; |
|
echo "</tr></table>"; |
echo "</td></tr></table>"; |
echo "</div>"; |
} |
|
///// |
|
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 "<br><br><br>"; |
gros_titre(_T("onglet_origine_visites")); |
|
echo "<p><font face='Verdana,Arial,Sans,sans-serif' size=2>"; |
echo aff_referers ($query, $limit); |
echo "</font></p>"; |
|
echo "</font>"; |
|
fin_page(); |
|
?> |