Seite 1 von 4
Statistik Fehler
Verfasst: 12.04.2006 14:53
von Any
Mod: Board Statistics 2.1.5. (glaub sogar Board Statistics 2.1.5_7d)
Habe einen Fehler drin, der sich durch neuinstallieren des Moduls nicht behebt
hier ein Bild zum verdeutlichen:
Die untere Tabelle, am häufigsten postenden Benutzer diesen Monat [April
2000] da ist der Fehler. Er zeigt komischerweise dort die Gesamtanzahl der Beiträge an, fast wie in der ersten Tabelle und das Datum stimmt halt nicht.. die Jahreszahl, der Monat schon, hatte gehofft der ändert das von märz zu april, aber wie man sieht...
[ externes Bild ]
bitte Hilfe, die Statistik is mir echt wichtig

Verfasst: 12.04.2006 16:59
von easygo
Hi! Mal die module.php als TXT verlinken bitte. easy
Verfasst: 13.04.2006 00:20
von Any
nabend!
da die nicht so lang ist, quote ich die einfach mal
Code: Alles auswählen
<?php
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
//
// Top Posting Users This Week (History Mod adaption)
//
$statistics->init_bars();
$month = array();
$current_time = time();
$year = create_date('Y', $current_time, $board_config['board_timezone']);
$month [0] = mktime (0,0,0,1,1, $year);
$month [1] = $month [0] + 2678400;
$month [2] = mktime (0,0,0,3,1, $year);
$month [3] = $month [2] + 2678400;
$month [4] = $month [3] + 2592000;
$month [5] = $month [4] + 2678400;
$month [6] = $month [5] + 2592000;
$month [7] = $month [6] + 2678400;
$month [8] = $month [7] + 2678400;
$month [9] = $month [8] + 2592000;
$month [10] = $month [9] + 2678400;
$month [11] = $month [10] + 2592000;
$month [12] = $month [11] + 2592000;
$arr_num = (date('n')-1);
$time_thismonth = $month[$arr_num];
$l_this_month = create_date('F', $time_thismonth, $board_config['board_timezone']);
$template->assign_vars(array(
'L_MODULE_NAME' => $lang['module_name'],
'MONTH' => sprintf($lang['Month'], ($l_this_month . ' ' . create_date('Y', $time_thismonth, $board_config['board_timezone'])) ),
'L_RANK' => $lang['Rank'],
'L_PERCENTAGE' => $lang['Percent'],
'L_GRAPH' => $lang['Graph'],
'L_USERNAME' => $lang['Username'],
'L_POSTS' => $lang['Posts'])
);
$sql = "select u.user_id, u.username, count(u.user_id) as user_posts
FROM " . USERS_TABLE . " u, " . POSTS_TABLE . " p
WHERE (u.user_id = p.poster_id) AND (p.post_time > '" . $time_thismonth . "') AND (u.user_id <> " . ANONYMOUS . ")
GROUP BY user_id, username
ORDER BY user_posts DESC
LIMIT " . $return_limit;
if ( !($result = $stat_db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't retrieve topposters data", "", __LINE__, __FILE__, $sql);
}
$total_posts_thismonth = 0;
$user_count = $stat_db->sql_numrows($result);
$user_data = $stat_db->sql_fetchrowset($result);
$firstcount = $user_data[0]['user_posts'];
for ($i = 0; $i < $user_count; $i++)
{
$total_posts_thismonth += $user_data[$i]['user_posts'];
}
for ($i = 0; $i < $user_count; $i++)
{
$class = ($i % 2) ? $theme['td_class2'] : $theme['td_class1'];
$statistics->do_math($firstcount, $user_data[$i]['user_posts'], $total_posts_thismonth);
$template->assign_block_vars('top_posters', array(
'RANK' => $i+1,
'CLASS' => $class,
'USERNAME' => $user_data[$i]['username'],
'PERCENTAGE' => $statistics->percentage,
'BAR' => $statistics->bar_percent,
'URL' => append_sid($phpbb_root_path . 'profile.php?mode=viewprofile&u=' . $user_data[$i]['user_id']),
'POSTS' => $user_data[$i]['user_posts'])
);
}
?>
Hm, mir fällt auf, da steht "Users This Week" im Quelltext, die Datei ist aber aus site_hist_month_top_posters, dann ists wohl die falsche modul datei
Danke schon mal fürs schauen!

Verfasst: 13.04.2006 17:26
von easygo
$year wird bei dir nicht sauber berechnet und übergeben.
Warum auch immer. Server-Problem? vielleicht oder es hängt an der board_timezone
Welche Zeitzone ist voreingestellt? Wurde da was modifiziert?
module.php ist soweit OK, würd ich sagen. easy
Verfasst: 13.04.2006 19:01
von Any
Das ist ja merkwürdig. Also ich habe vor ner kurzen Zeit den Server gewechselt, jetzt bin ich bei evanzo. Vorher gings aber auch nicht... (hab den Fehler schon länger)
Zeitzone ist GMT + 1 bzw. +2..
hm, modifiziert, nicht das ich wüsste...

Verfasst: 13.04.2006 19:05
von Slytherin
Bestand das Problem denn, seit du den Hack eingebaut hast oder hast du etwas daran verändert? Seit wann besteht das Problem? Vergleiche mit Backups ...
Slytherin
Verfasst: 13.04.2006 21:21
von easygo
Any hat geschrieben:hm, modifiziert, nicht das ich wüsste...

Dann frag mal Amaya, vielleicht weiß er mehr -->
CH Mod und Sommerzeit
Amaya hat geschrieben:Habe das in vier Foren getestet, wo es läuft, bei Any klappt es noch nicht, aber daran arbeiten wir ja noch

Was immer ihr dran arbeitet: Falls es an der PHP-Funktion mktime hängt / kleiner Test
Ersetz die Zeile
versuchsweise damit -->
Ändert sich was dadurch? easy
Verfasst: 14.04.2006 15:31
von Any
Slytherin hat geschrieben:Bestand das Problem denn, seit du den Hack eingebaut hast oder hast du etwas daran verändert? Seit wann besteht das Problem? Vergleiche mit Backups ...
Slytherin
Huhu!
Also das Problem besteht seit Anfang an, wo ich das installiert hab. Verändert hab ich nix dran. Nur halt generell andere Module hinzugefügt, aber das betrifft ja nicht dieses Problem, denke ich.
Hatte das Problem erst mal ne Weile ignoriert, da ich nochn
anderesProblem mit der Statistik habe.. aber da ich dort auch nicht weiter komme, dachte ich ich frag einfach mal
@easy: die Änderung hat leider nichts bewirkt.
Danke für den Hinweis, das von Amaya hatte ich noch gar nicht gesehen..
Es gab halt dieses Sommerzeit Problem, aber da keiner genau wusste was zu tun ist, hab ich nichts geändert..
Verfasst: 14.04.2006 15:44
von Any
muss noch was zufügen *g*
das von amaya hatte ich sozusagen doch gelesen, allerdings
hier deswegen war ich grad etwas verwirrt. Ich hab also doch was verändert, und zwar genau das, was Amaya geschrieben hatte. (Danach ging das mit der Sommerzeit zwar nicht, aber ich habs trotzdem so gelassen - inzwischen geht die Uhrzeit korrekt, wohl weil in Amerika nun auch Sommerzeit ist(?))
hat das was mit dem modul zu tun?

Verfasst: 14.04.2006 15:44
von easygo
@ Any
aha, evtl. mal den Hoster befragen zu dem mktime Problem
und dein Template vervollständigen....
die abgebrochenen Balken tun ja den Augen weh. easy