|
Autor |
Nachricht |
boris
Beiträge: 11154
|
Titel: MOD: EMTJStats v0.5
Verfasst am: So, 01 Jun 2008, 22:46 |
|
|
"EMTJStats" zeigt eine Statistik über die Torjäger-Tipps.
v0.1
initial release
v0.2
Flag zum "Anonymisieren" der Tipps vor EM-Beginn
v0.3
Summe für Tore hinzugefügt
Land hinzugefügt
Reihenfolge der Spalten geändert
v0.4
Markierung für Torschützenkönig hinzugefügt, zusätzlich sind diese Änderungen durchzuführen und diese Dateien neu hochzuladen
v0.5
mit IFrame, der die tatsächliche Torjäger-Liste zeigt (per Flag abschaltbar)
____________ beehave - home of humbug ... [we can't afford to be neutral]
Zuletzt bearbeitet von boris am Mi, 18 Jun 2008, 13:31, insgesamt 8-mal bearbeitet. (0 Prozent)
|
|
Nach oben |
|
boris
Beiträge: 11154
|
Titel: (Kein Titel)
Verfasst am: Do, 05 Jun 2008, 13:57 |
|
|
Kleine Änderung (wird in allen zukünftigen Versionen > 0.2 direkt enthalten sein), damit nach Anstoß des ersten Spiels nicht mehr nach Anzahl der Tipps sondern nach Torzahl pro Spieler sortiert wird. Zusätzlich wird jetzt nach Name und Vorname sortiert, wenn die Nummer (anzahl bzw. tore) identisch ist:
In der em_tjstats.php finden:
Code: |
$sql_tips = "SELECT j.*, COUNT(*) AS anzahl
FROM " . EM_TJAEGERTIPPS_TABLE . " t,
" . EM_TJAEGER_TABLE . " j
WHERE t.spielerid = j.spielerid
GROUP BY spielerid
ORDER BY anzahl DESC";
if( !($result_tips = $db->sql_query($sql_tips)) )
{
message_die(GENERAL_ERROR, 'Could not get player data', '', __LINE__, __FILE__, $sql_tips);
}
$arr_data = array();
$anz_tips = 0;
$int_max = 0;
while ( $row_tips = $db->sql_fetchrow($result_tips) )
{
$arr_data[] = $row_tips;
$anz_tips += $row_tips['anzahl'];
$int_max = max($row_tips['anzahl'], $int_max);
}
if ($anz_tips == 0)
{
message_die(GENERAL_MESSAGE, 'You don\'t need this without tipps.', '', __LINE__, __FILE__, '');
}
$int_timefirst = get_first_gametime(); |
ersetzen mit
Code: |
$int_timefirst = get_first_gametime();
$sql_tips = "SELECT j.*, COUNT(*) AS anzahl
FROM " . EM_TJAEGERTIPPS_TABLE . " t,
" . EM_TJAEGER_TABLE . " j
WHERE t.spielerid = j.spielerid
GROUP BY spielerid
ORDER BY ";
$sql_tips .= ($int_timefirst > time()) ? "anzahl DESC, Name, Vorname" : "tore DESC, Name, Vorname";
if( !($result_tips = $db->sql_query($sql_tips)) )
{
message_die(GENERAL_ERROR, 'Could not get player data', '', __LINE__, __FILE__, $sql_tips);
}
$arr_data = array();
$anz_tips = 0;
$int_max = 0;
while ( $row_tips = $db->sql_fetchrow($result_tips) )
{
$arr_data[] = $row_tips;
$anz_tips += $row_tips['anzahl'];
$int_max = max($row_tips['anzahl'], $int_max);
}
if ($anz_tips == 0)
{
message_die(GENERAL_MESSAGE, 'You don\'t need this without tipps.', '', __LINE__, __FILE__, '');
} |
____________ beehave - home of humbug ... [we can't afford to be neutral]
|
|
Nach oben |
|
austin
|
Titel: (Kein Titel)
Verfasst am: Fr, 06 Jun 2008, 11:19 |
|
|
Hallo boris,
kann es sein, daß sich der Code
Code: |
$int_timefirst = get_first_gametime(); |
nicht in der besagten Datei finden lässt? Zumindest nicht in deiner geposteten Version 0.2?
Gruß austin
|
|
Nach oben |
|
boris
Beiträge: 11154
|
Titel: (Kein Titel)
Verfasst am: Fr, 06 Jun 2008, 14:29 |
|
|
Wenn du alle Updates gemacht hast, schon. Das Problem ist, daß sich meine Snippets mit der Veröffentlichung der "offiziellen" MOD-Pakete überschneidet. Zuviele Köche ...
Es gibt eine Änderung in der includes/functions_em.php, die ich hier nicht einbezogen habe, weil sie über das Paket schon erledigt wurde - und da ist die neue Funktion "get_first_gametime" mit drin.
Ich werd das Paket mal aktualisieren, dann kommen auch "Quereinsteiger" klar.
EDIT:
Das Paket mit den Änderungen ist online (Download-Link s.o., keine Änderung der Versionsnummer), trotzdem muß das hier in der includes/functions_em.php drin sein:
Code: |
function get_first_gametime($boo_finals = false) {
global $db;
$str_table = ($boo_finals) ? EM_FINALS_TABLE %u3a EM_GAMES_TABLE;
$sql = "SELECT game_time FROM " . $str_table . " ORDER BY game_time LIMIT 1";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get game data', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
return $row['game_time'];
} |
Es kursieren aber momentan einfach zu viele Versionen von Snippets, Add-Ons und dem "vollständigen" MOD. Lad dir am besten einfach die momentan aktuelle Version des MODs (dürfte die 0.6.2 sein) aus dem entsprechenden Thread auf phpbb.de runter, da sind die Änderungen mit drin. Dadurch, daß meine Add-Ons und Snippets in das Paket mit übernommen werden, ist quasi jedes Snippet nicht mehr konsistent mit dem Paket, da da auch allerhand andere Änderungen mit drin sind.
Blöd, aber da kann ich auch nix für, die ganze MOD-Geschichte war schon bei der WM so ne "last minute"-Aktion.
____________ beehave - home of humbug ... [we can't afford to be neutral]
|
|
Nach oben |
|
austin
|
Titel: (Kein Titel)
Verfasst am: Fr, 06 Jun 2008, 16:05 |
|
|
Okay, Danke nochmal für die Hinweise. Ich hatte doch tatsächlich gedacht immer auf aktuellem Stand zu sein. Alle zwei Stunden abgleichen hat scheinbar nicht gereicht.
Jetzt funktioniert es wohl, zumindest gibt es keine Fehlermeldungen mehr. Sehen werde ich das leider erst nach dem Start, da mir die Zeit zum testen fehlt.
Danke für die tollen Beiträge und Snippets zum Tippspiel.
|
|
Nach oben |
|
|
Schreiben: nein. Antworten: nein. Bearbeiten: nein. Löschen: nein. Umfragen: nein.
|