|
|
| PHP-Nuke France - Communauté Européenne: Forums |
|
|
ATTENTION En téléchargeant une version de PHP-Nuke autre que celle que nous proposons, vous prenez la décision de ne pouvoir prétendre à aucun support sur nos Forums. Vous êtes libre de faire vos propres choix mais nous ne pouvons accepter de faire le travail des autres. Par conséquent et en connaissance de cause, toute question relative à une autre version que celle que nous nous sommes engagé à supporter sera transférée à la corbeille. Prenez 2 minutes pour prendre connaissance plus en détails de notre fonctionnement
| Voir le sujet précédent :: Voir le sujet suivant |
|
|
|
jessclub

Modérateur

Inscrit le: Jan 21, 2004 Messages: 1058 Localisation: Alsace (68)
|
Posté le: 09.09.2005, 08:16:20 Sujet du message: |
|
|
Re,
Après vérification je me rend compte que j'ai effectivement omis un petit détail dans les modifications que j'avais réalisé
Editer le fichier /modules/Statistics/index.php
La fonction qui nous intéresse est celle qui va relever dans la base de donnée les différents éléments donc "function Stats_Main()"
A l'origine elle se présente sous cette forme :
| Code: | function Stats_Main() {
global $prefix, $db, $startdate, $sitename, $ThemeSel, $user_prefix, $Version_Num, $module_name, $textcolor2;
include("header.php");
$result = $db->sql_query("SELECT type, var, count from ".$prefix."_counter order by type desc");
while ($row = $db->sql_fetchrow($result)) {
$type = stripslashes(check_html($row['type'], "nohtml"));
$var = stripslashes(check_html($row['var'], "nohtml"));
$count = intval($row['count']);
if(($type == "total") && ($var == "hits")) {
$total = $count;
} elseif($type == "browser") {
if($var == "Netscape") {
$netscape[] = $count;
$netscape[] = substr(100 * $count / $total, 0, 5);
} elseif($var == "MSIE") {
$msie[] = $count;
$msie[] = substr(100 * $count / $total, 0, 5);
} elseif($var == "Konqueror") {
$konqueror[] = $count;
$konqueror[] = substr(100 * $count / $total, 0, 5);
} elseif($var == "Opera") {
$opera[] = $count;
$opera[] = substr(100 * $count / $total, 0, 5);
} elseif($var == "Lynx") {
$lynx[] = $count;
$lynx[] = substr(100 * $count / $total, 0, 5);
} elseif($var == "Bot") {
$bot[] = $count;
$bot[] = substr(100 * $count / $total, 0, 5);
} elseif(($type == "browser") && ($var == "Other")) {
$b_other[] = $count;
$b_other[] = substr(100 * $count / $total, 0, 5);
} |
Ce n'est que le début avec consultation et interprétation des éléments relatifs au navigateur. Vous constaterez que là aussi les éléments relatifs à Firefox sont manquant.
C'est ceci qui est à ajouter :
| Code: | } elseif($type == "browser") {
if($var == "FireFox") {
$firefox[] = $count;
$firefox[] = substr(100 * $count / $total, 0, 5); |
Voici le total avec la partie ajoutée :
| Code: | function Stats_Main() {
global $prefix, $db, $startdate, $sitename, $ThemeSel, $user_prefix, $Version_Num, $module_name, $textcolor2;
include("header.php");
$result = $db->sql_query("SELECT type, var, count from ".$prefix."_counter order by type desc");
while ($row = $db->sql_fetchrow($result)) {
$type = stripslashes(check_html($row['type'], "nohtml"));
$var = stripslashes(check_html($row['var'], "nohtml"));
$count = intval($row['count']);
if(($type == "total") && ($var == "hits")) {
$total = $count;
} elseif($type == "browser") {
if($var == "FireFox") {
$firefox[] = $count;
$firefox[] = substr(100 * $count / $total, 0, 5);
} elseif($var == "Netscape") {
$netscape[] = $count;
$netscape[] = substr(100 * $count / $total, 0, 5);
} elseif($var == "MSIE") {
$msie[] = $count;
$msie[] = substr(100 * $count / $total, 0, 5);
} elseif($var == "Konqueror") {
$konqueror[] = $count;
$konqueror[] = substr(100 * $count / $total, 0, 5);
} elseif($var == "Opera") {
$opera[] = $count;
$opera[] = substr(100 * $count / $total, 0, 5);
} elseif($var == "Lynx") {
$lynx[] = $count;
$lynx[] = substr(100 * $count / $total, 0, 5);
} elseif($var == "Bot") {
$bot[] = $count;
$bot[] = substr(100 * $count / $total, 0, 5);
} elseif(($type == "browser") && ($var == "Other")) {
$b_other[] = $count;
$b_other[] = substr(100 * $count / $total, 0, 5);
} |
A+
Gérald |
|
 |
|
|
focus

Habitué

Inscrit le: Feb 20, 2004 Messages: 61 Localisation: Bulle (Suisse)
|
Posté le: 09.09.2005, 09:17:14 Sujet du message: |
|
|
Salut à vous et merci pour le temps consacré à la résolution de ce petit problème.
Je viens de consulter les infos fournies pas jessclub et je constate que l'îndex.php du module statistics a déjà été modifié (je ne l'ai pas édité depuis son installation originale)
Mais en surfant sur le site auquel je fais référence, les stats ne se modifient pas alors que j'ai appliqué la première modif (qui est l'objet du thread) voici 3 jours maintenant.
Il doit encore y avoir un truc qui coince quelque part, mais où ?
salutations _________________ nuke 7.6 fr sur www.asrm.ch
serveur infomaniak.ch
running xp sp2 and firefox 2.x.x |
|
 |
|
|
jessclub

Modérateur

Inscrit le: Jan 21, 2004 Messages: 1058 Localisation: Alsace (68)
|
Posté le: 09.09.2005, 10:48:31 Sujet du message: |
|
|
Avec PHPMYADMIN tu vas dans ta base de données.
Tu affiches le contenu de la table "nuke_counter"
Tu regardes ce qui a au niveau chiffre au niveau de FireFox dans la colone "count".
Si c'est vide c'est que tu n'as pas fait correctement la première modification dans le fichier /includes/counter.php car j'ai visité ton site avec Firefox il y a pas 5 minutes.
Voila ce qui devrait se trouver dans cette table (a par d'autres chiffres bien entendu :
| Citation: |
var count
total hits 187063
browser FireFox 4893
browser Lynx 0
browser MSIE 56818
browser Opera 167
browser Konqueror 214
browser Netscape 92408
browser Bot 27265
browser Other 5298
os Windows 123703
os Linux 7704
os Mac 2715
os FreeBSD 0
os SunOS 1
os IRIX 0
os BeOS 0
os OS/2 0
os AIX 0
os Other 52940 |
A+
Gérald |
|
 |
|
|
focus

Habitué

Inscrit le: Feb 20, 2004 Messages: 61 Localisation: Bulle (Suisse)
|
Posté le: 09.09.2005, 11:37:21 Sujet du message: |
|
|
salut,
J'ai vu que tu m'avais rendu visite...
malheureusement pas traces de Firefox dans ma base de données je vais donc te remontrer le counter.php pour voir s'il est ok, mais à mon avis c'est le cas...
| Code: |
if (stristr($_SERVER['SCRIPT_NAME'], "counter.php")) {
Header("Location: index.php");
die();
}
global $prefix, $db;
/* Get the Browser data */
if((ereg("Nav", $_SERVER["HTTP_USER_AGENT"])) || (ereg("Gold", $_SERVER["HTTP_USER_AGENT"])) || (ereg("X11", $_SERVER["HTTP_USER_AGENT"])) || (ereg("Netscape", $_SERVER["HTTP_USER_AGENT"])) AND (!ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]) AND (!ereg("Konqueror", $_SERVER["HTTP_USER_AGENT"])))) $browser = "Netscape";
elseif(ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) $browser = "MSIE";
elseif(ereg("Firefox", $_SERVER["HTTP_USER_AGENT"])) $browser = "FireFox";
elseif(ereg("Lynx", $_SERVER["HTTP_USER_AGENT"])) $browser = "Lynx";
elseif(ereg("Opera", $_SERVER["HTTP_USER_AGENT"])) $browser = "Opera";
elseif(ereg("WebTV", $_SERVER["HTTP_USER_AGENT"])) $browser = "WebTV";
elseif(ereg("Konqueror", $_SERVER["HTTP_USER_AGENT"])) $browser = "Konqueror";
elseif((eregi("bot", $_SERVER["HTTP_USER_AGENT"])) || (ereg("Google", $_SERVER["HTTP_USER_AGENT"])) || (ereg("Slurp", $_SERVER["HTTP_USER_AGENT"])) || (ereg("Scooter", $_SERVER["HTTP_USER_AGENT"])) || (eregi("Spider", $_SERVER["HTTP_USER_AGENT"])) || (eregi("Infoseek", $_SERVER["HTTP_USER_AGENT"]))) $browser = "Bot";
else $browser = "Other";
/* Get the Operating System data */
if(ereg("Win", $_SERVER["HTTP_USER_AGENT"])) $os = "Windows";
elseif((ereg("Mac", $_SERVER["HTTP_USER_AGENT"])) || (ereg("PPC", $_SERVER["HTTP_USER_AGENT"]))) $os = "Mac";
elseif(ereg("Linux", $_SERVER["HTTP_USER_AGENT"])) $os = "Linux";
elseif(ereg("FreeBSD", $_SERVER["HTTP_USER_AGENT"])) $os = "FreeBSD";
elseif(ereg("SunOS", $_SERVER["HTTP_USER_AGENT"])) $os = "SunOS";
elseif(ereg("IRIX", $_SERVER["HTTP_USER_AGENT"])) $os = "IRIX";
elseif(ereg("BeOS", $_SERVER["HTTP_USER_AGENT"])) $os = "BeOS";
elseif(ereg("OS/2", $_SERVER["HTTP_USER_AGENT"])) $os = "OS/2";
elseif(ereg("AIX", $_SERVER["HTTP_USER_AGENT"])) $os = "AIX";
else $os = "Other";
/* Save on the databases the obtained values */
$db->sql_query("UPDATE ".$prefix."_counter SET count=count+1 WHERE (type='total' AND var='hits') OR (var='$browser' AND type='browser') OR (var='$os' AND type='os')");
update_points(13);
/* Start Detailed Statistics */
$dot = date("d-m-Y-H");
$now = explode ("-",$dot);
$nowHour = $now[3];
$nowYear = $now[2];
$nowMonth = $now[1];
$nowDate = $now[0];
$sql = "SELECT year FROM ".$prefix."_stats_year WHERE year='$nowYear'";
$resultyear = $db->sql_query($sql);
$jml = $db->sql_numrows($resultyear);
if ($jml <= 0) {
$sql = "INSERT INTO ".$prefix."_stats_year VALUES ('$nowYear','0')";
$db->sql_query($sql);
for ($i=1;$i<=12;$i++) {
$db->sql_query("INSERT INTO ".$prefix."_stats_month VALUES ('$nowYear','$i','0')");
if ($i == 1) $TotalDay = 31;
if ($i == 2) {
if (date("L") == true) {
$TotalDay = 29;
} else {
$TotalDay = 28;
}
}
if ($i == 3) $TotalDay = 31;
if ($i == 4) $TotalDay = 30;
if ($i == 5) $TotalDay = 31;
if ($i == 6) $TotalDay = 30;
if ($i == 7) $TotalDay = 31;
if ($i == 8) $TotalDay = 31;
if ($i == 9) $TotalDay = 30;
if ($i == 10) $TotalDay = 31;
if ($i == 11) $TotalDay = 30;
if ($i == 12) $TotalDay = 31;
for ($k=1;$k<=$TotalDay;$k++) {
$db->sql_query("INSERT INTO ".$prefix."_stats_date VALUES ('$nowYear','$i','$k','0')");
}
}
}
$sql = "SELECT hour FROM ".$prefix."_stats_hour WHERE (year='$nowYear') AND (month='$nowMonth') AND (date='$nowDate')";
$result = $db->sql_query($sql);
$numrows = $db->sql_numrows($result);
if ($numrows <= 0) {
for ($z = 0;$z<=23;$z++) {
$db->sql_query("INSERT INTO ".$prefix."_stats_hour VALUES ('$nowYear','$nowMonth','$nowDate','$z','0')");
}
}
$db->sql_query("UPDATE ".$prefix."_stats_year SET hits=hits+1 WHERE year='$nowYear'");
$db->sql_query("UPDATE ".$prefix."_stats_month SET hits=hits+1 WHERE (year='$nowYear') AND (month='$nowMonth')");
$db->sql_query("UPDATE ".$prefix."_stats_date SET hits=hits+1 WHERE (year='$nowYear') AND (month='$nowMonth') AND (date='$nowDate')");
$db->sql_query("UPDATE ".$prefix."_stats_hour SET hits=hits+1 WHERE (year='$nowYear') AND (month='$nowMonth') AND (date='$nowDate') AND (hour='$nowHour')");
|
Désolé, c'est un peu long, je sais... mais c'est pour être certain qu'il y a tout... Est-ce que la version de Firefox peut avoir une quelconque importance ? je suis en 1.0.6.... Mais pour le reste, je ne vois pas... _________________ nuke 7.6 fr sur www.asrm.ch
serveur infomaniak.ch
running xp sp2 and firefox 2.x.x |
|
 |
|
|
jessclub

Modérateur

Inscrit le: Jan 21, 2004 Messages: 1058 Localisation: Alsace (68)
|
Posté le: 09.09.2005, 12:01:44 Sujet du message: |
|
|
La version n'a aucune importance.
J'avoue ne pas comprendre pourquoi chez moi cela fonctionne parfaitement ainsi et pas chez toi.
Je te conseille le test suivant : Ouvre la base de données et affiche la table en question.
En parallèle visite ton site avec Firefox en passant d'un module à l'autres et réactualise de temps en temps l'affichage de la table pour voir sous quel navigateur sont comptabilisés tes clics. |
|
 |
|
|
|
|
|
|
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum Vous ne pouvez pas joindre des fichiers dans ce forum Vous pouvez télécharger des fichiers dans ce forum
|
| :: Powered by phpBB © 2001, 2005 phpBB Group :: |
|
|
|
|