Da ich jetzt den MOD zumindest schonmal auf meinem Testboard umgesetzt habe, hier mal alle Änderungen, die ich im Laufe der letzten Stunden aus diesem Thread noch rausgepopelt habe. Da ich Verweise auf vergangene Posts extrem mühselig finde, hilft dieser Beitrag nun vielleicht auch allen anderen, die ebenfalls noch alles durchsuchen müssten und nicht immer lesen wollen, dass man sich den ganzen Thread durchlesen soll.
Also, folgende Reihenfolge:
1.
Hier die aktuelle Beta 4 herunterladen!
2.
Hier wird ein Fehler bei der Tippanzeige behoben. Um es kurz zu machen: Ersetzt in der em_usertipps.php die Zeile
Code: Alles auswählen
$int_faktor = round($int_maxbar/($int_max/$int_count));
durch die Zeile
Code: Alles auswählen
$int_faktor = round($int_maxbar/(max($int_max,1)/max($int_count,1)));
Es wurde zwar in dem beitrag genannt, dass der Fehler schon behoben sein müsste, ist er aber nicht.
3.
In diesem Beitrag wurde beschrieben, dass noch ein Fehler in der em_winnerstat.php besteht. Dort den Timestamp von "1191682800" durch "1213826400" ersetzen. Danach erscheint kein ausgeschieden mehr vor Ablauf der Vorrunde.
4. Gleicher Beitrag wird noch ein weiterer Fehler in der gleichen Datei behoben. Ersetzt
Code: Alles auswählen
if ($row_games['game_time'] < time()) { $arr_userpkt[3]++; }
durch
Code: Alles auswählen
if ($row_games['game_time'] > time()) { $arr_userpkt[3]++; }
Dadurch sollen die Tipps für zukünftige Spiele auch (korrekt) als "daneben" aufgeführt werden. Es ist auch noch ein Vorschlag in dem Beitrag enthalten, den ich jetzt aber nicht hier aufführe, da er nicht die Funktion des Tipp-MODs beeinflusst. Wer doch noch suchen will, der dar dann wirklich mal selber nachlesen.
5a. Es wurde auch schon x-mal gefragt, wie denn die Anfangszeiten angepasst werden können. Dazu gab es bisher noch keine einzige Antwort, die einfach reibungslos für alle Spiele funktionierte. Jetzt kann also jeder sich nochmal die Unix-Timestamp ausrechnen lassen oder einfach folgende SQL-Anweisungen ausführen:
Code: Alles auswählen
DROP TABLE IF EXISTS `phpbb_em_games`;
CREATE TABLE IF NOT EXISTS `phpbb_em_games` (
`game_id` mediumint(8) NOT NULL auto_increment,
`game_time` int(11) NOT NULL default '0',
`game_home` mediumint(8) NOT NULL default '0',
`game_away` mediumint(8) NOT NULL default '0',
`game_loc` varchar(255) NOT NULL default '',
`game_loclink` varchar(255) NOT NULL default '',
PRIMARY KEY (`game_id`)
) TYPE=MyISAM AUTO_INCREMENT=51;
INSERT INTO `phpbb_em_games` (`game_id`, `game_time`, `game_home`, `game_away`, `game_loc`, `game_loclink`) VALUES
(19, 1213641900, 8, 6, 'Klagenfurt', 'http://www.euro2008.de/index.php/stadien/woertherseestadion.html'),
(18, 1213555500, 4, 2, 'Genf', 'http://www.euro2008.de/index.php/stadien/stade-de-geneve.html'),
(17, 1213555500, 1, 3, 'Basel', 'http://www.euro2008.de/index.php/stadien/st-jakob-park.html'),
(16, 1213469100, 13, 16, 'Salzburg', 'http://www.euro2008.de/index.php/stadien/wals-siezenheim.html'),
(15, 1213459200, 14, 15, 'Innsbruck', 'http://www.euro2008.de/index.php/stadien/tivoli-stadion.html'),
(14, 1213382700, 9, 12, 'Bern', 'http://www.euro2008.de/index.php/stadien/stade-de-suisse-wankdorf.html'),
(13, 1213372800, 10, 11, 'Zürich', 'http://www.euro2008.de/index.php/stadien/letzigrund.html'),
(12, 1213296300, 5, 8, 'Wien', 'http://www.euro2008.de/index.php/stadien/ernst-happel-stadion.html'),
(11, 1213286400, 6, 7, 'Klagenfurt', 'http://www.euro2008.de/index.php/stadien/woertherseestadion.html'),
(10, 1213209900, 1, 4, 'Basel', 'http://www.euro2008.de/index.php/stadien/st-jakob-park.html'),
(9, 1213200000, 2, 3, 'Genf', 'http://www.euro2008.de/index.php/stadien/stade-de-geneve.html'),
(8, 1213123500, 13, 14, 'Salzburg', 'http://www.euro2008.de/index.php/stadien/wals-siezenheim.html'),
(7, 1213113600, 15, 16, 'Innsbruck', 'http://www.euro2008.de/index.php/stadien/tivoli-stadion.html'),
(6, 1213037100, 9, 10, 'Bern', 'http://www.euro2008.de/index.php/stadien/stade-de-suisse-wankdorf.html'),
(5, 1213027200, 11, 12, 'Zürich', 'http://www.euro2008.de/index.php/stadien/letzigrund.html'),
(4, 1212950700, 7, 8, 'Klagenfurt', 'http://www.euro2008.de/index.php/stadien/woertherseestadion.html'),
(3, 1212940800, 5, 6, 'Wien', 'http://www.euro2008.de/index.php/stadien/ernst-happel-stadion.html'),
(2, 1212864300, 3, 4, 'Genf', 'http://www.euro2008.de/index.php/stadien/stade-de-geneve.html'),
(1, 1212854400, 1, 2, 'Basel', 'http://www.euro2008.de/index.php/stadien/st-jakob-park.html'),
(20, 1213641900, 5, 7, 'Wien', 'http://www.euro2008.de/index.php/stadien/ernst-happel-stadion.html'),
(21, 1213728300, 9, 11, 'Bern', 'http://www.euro2008.de/index.php/stadien/stade-de-suisse-wankdorf.html'),
(22, 1213728300, 12, 10, 'Zürich', 'http://www.euro2008.de/index.php/stadien/letzigrund.html'),
(23, 1213814700, 13, 15, 'Salzburg', 'http://www.euro2008.de/index.php/stadien/wals-siezenheim.html'),
(24, 1213814700, 16, 14, 'Innsbruck', 'http://www.euro2008.de/index.php/stadien/tivoli-stadion.html');
DROP TABLE IF EXISTS `phpbb_em_finals`;
CREATE TABLE IF NOT EXISTS `phpbb_em_finals` (
`game_id` mediumint(8) NOT NULL auto_increment,
`game_time` int(11) NOT NULL default '0',
`game_home` varchar(8) NOT NULL default '',
`game_away` varchar(8) NOT NULL default '',
`game_loc` varchar(255) NOT NULL default '',
`game_loclink` varchar(255) NOT NULL default '',
PRIMARY KEY (`game_id`)
) TYPE=MyISAM AUTO_INCREMENT=65;
INSERT INTO `phpbb_em_finals` (`game_id`, `game_time`, `game_home`, `game_away`, `game_loc`, `game_loclink`) VALUES
(57, 1213901100, 'wa', 'rb', 'Basel', 'http://www.euro2008.de/index.php/stadien/st-jakob-park.html'),
(58, 1213987500, 'wb', 'ra', 'Wien', 'http://www.euro2008.de/index.php/stadien/ernst-happel-stadion.html'),
(59, 1214073900, 'wc', 'rd', 'Basel', 'http://www.euro2008.de/index.php/stadien/st-jakob-park.html'),
(60, 1214160300, 'wd', 'rc', 'Wien', 'http://www.euro2008.de/index.php/stadien/ernst-happel-stadion.html'),
(61, 1214419500, '57', '58', 'Basel', 'http://www.euro2008.de/index.php/stadien/st-jakob-park.html'),
(62, 1214505900, '59', '60', 'Wien', 'http://www.euro2008.de/index.php/stadien/ernst-happel-stadion.html'),
(64, 1214765100, '61', '62', 'Wien', 'http://www.euro2008.de/index.php/stadien/ernst-happel-stadion.html');
5b. Für diejenigen, die nur die Zeit um eine Stunde erhöhen möchten, aber die Links zu den Stadien nicht haben möchten, reichen auch folgende SQL-Anweisungen:
Code: Alles auswählen
update `phpbb_em_games` set `game_time` = `game_time` + 3600;
update `phpbb_em_finals` set `game_time` = `game_time` + 3600;
6. Es fehlen noch 4 Fahnen.
In diesem Beitrag könnt Ihr sie einfach anklicken und speichern. Wer animierte Fähnchen haben möchte, der kommt auch nicht zu kurz.
Hier der Link zum Download.
7. Für alle, die noch diese Meldung bekommen:
You don't need this without tips.
DEBUG MODE
Line : 83
File : em_winnerstat.php
gebt einfach einen Europameistertipp ab und schon ist die Meldung Geschichte.
8. Es fehlen noch die Links zu den Mannschaften. Also folgende SQL-Anweisungen ausführen:
Code: Alles auswählen
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/oesterreich.html' WHERE team_id =5;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/schweiz.html' WHERE team_id =1;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/deutschland.html' WHERE team_id =7;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/frankreich.html' WHERE team_id =12;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/griechenland.html' WHERE team_id =13;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/italien.html' WHERE team_id =10;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/kroatien.html' WHERE team_id =6;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/niederlande.html' WHERE team_id =9;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/polen.html' WHERE team_id =8;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/portugal.html' WHERE team_id =3;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/rumaenien.html' WHERE team_id =11;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/russland.html' WHERE team_id =16;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/schweden.html' WHERE team_id =14;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/spanien.html' WHERE team_id =15;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/tuerkei.html' WHERE team_id =4;
UPDATE phpbb_em_teams SET team_link = 'http://www.euro2008.de/index.php/mannschaften/tschechische-republik.html' WHERE team_id =2;
9. Damit die eigenen Tipps keiner Restriktion unterliegen und über die Rangliste abrufbar sind muss noch folgendes in der "em_usertipps.php" geändert werden:
Code: Alles auswählen
#
#-----[ FIND ]------------------------------------------
#
'TIPP_HOME' => (($row_games['game_time'] < time()) || (($admin_sees_all == true) && ($userdata['user_level'] == ADMIN))) ? $int_tiphome : '-',
'TIPP_AWAY' => (($row_games['game_time'] < time()) || (($admin_sees_all == true) && ($userdata['user_level'] == ADMIN))) ? $int_tipaway : '-',
#
#-----[ REPLACE WITH ]------------------------------------------
#
'TIPP_HOME' => (($row_games['game_time'] < time()) || ($userdata['user_id'] == $int_userid) || (($admin_sees_all == true) && ($userdata['user_level'] == ADMIN))) ? $int_tiphome : '-',
'TIPP_AWAY' => (($row_games['game_time'] < time()) || ($userdata['user_id'] == $int_userid) || (($admin_sees_all == true) && ($userdata['user_level'] == ADMIN))) ? $int_tipaway : '-',
#
#-----[ FIND ]------------------------------------------
#
if (($finals_row[$j]['game_time'] < time()) || (($admin_sees_all == true) && ($userdata['user_level'] == ADMIN)))
#
#-----[ REPLACE WITH ]------------------------------------------
#
if (($finals_row[$j]['game_time'] < time()) || ($userdata['user_id'] == $int_userid) || (($admin_sees_all == true) && ($userdata['user_level'] == ADMIN)))
#
#-----[ FIND ]------------------------------------------
#
'TIPP_HOME' => (($finals_row[$j]['game_time'] < time()) || (($admin_sees_all == true) && ($userdata['user_level'] == ADMIN))) ? $int_tiphome : '-',
'TIPP_AWAY' => (($finals_row[$j]['game_time'] < time()) || (($admin_sees_all == true) && ($userdata['user_level'] == ADMIN))) ? $int_tipaway : '-',
#
#-----[ REPLACE WITH ]------------------------------------------
#
'TIPP_HOME' => (($row_games['game_time'] < time()) || ($userdata['user_id'] == $int_userid) || (($admin_sees_all == true) && ($userdata['user_level'] == ADMIN))) ? $int_tiphome : '-',
'TIPP_AWAY' => (($row_games['game_time'] < time()) || ($userdata['user_id'] == $int_userid) || (($admin_sees_all == true) && ($userdata['user_level'] == ADMIN))) ? $int_tipaway : '-',
10. Die Tendenzpfeile wurden noch nicht richtig angezeigt. Dies sollte Abhilfe schaffen: öffne die em_stats.php
finde:
Code: Alles auswählen
for ( $i = 0; $i < count($em_users_data); $i++ )
{
// absolute position now
$int_userpos_absolute = $i+1;
// user position yesterday
$int_userpos_yesterday = get_rank_of_yesterday($em_users_data[$i]['tipp_user']);
// compare the absolute positions
if($int_userpos_yesterday < $int_userpos_absolute )
{
$userpos_change = '<img src="./images/em/down.gif" alt="Down" border="0" />';
}
else if ($int_userpos_yesterday == $int_userpos_absolute )
{
$userpos_change = '<img src="./images/em/stay.gif" alt="Stay" border="0" />';
}
else if ($int_userpos_yesterday > $int_userpos_absolute )
{
$userpos_change = '<img src="./images/em/up.gif" alt="Up" border="0" />';
}
$int_userposalt = $int_userpos;
$int_userpos = ($int_userpkt != $em_users_data[$i]['user_points']) ? $int_userpos + 1 : $int_userpos;
ersetzte mit:
Code: Alles auswählen
for ( $i = 0; $i < count($em_users_data); $i++ )
{
// user position yesterday
$int_userpos_yesterday = get_rank_of_yesterday($em_users_data[$i]['tipp_user']);
$int_userposalt = $int_userpos;
$int_userpos = ($int_userpkt != $em_users_data[$i]['user_points']) ? $int_userpos + 1 : $int_userpos;
// compare the absolute positions
if($int_userpos_yesterday < $int_userpos )
{
$userpos_change = '<img src="./images/em/down.gif" alt="Down" border="0" />';
}
else if ($int_userpos_yesterday == $int_userpos )
{
$userpos_change = '<img src="./images/em/stay.gif" alt="Stay" border="0" />';
}
else if ($int_userpos_yesterday > $int_userpos )
{
$userpos_change = '<img src="./images/em/up.gif" alt="Up" border="0" />';
}
So... ich hoffe, ich habe nun alle offenen Änderungen herausgefummelt und konnte auch anderen mit der Liste helfen. Wenn noch was fehlt, dann kann ich es auch in der Liste mit aufnehmen. Zukünftig kann man Fragende dann auf einen/diesen konkreten Beitrag verweisen und man muss nicht immer wieder alle Seiten durchlesen. Das schockt doch immer wieder jeden und macht zudem niemandem Spaß.
//EDIT:
Habe Punkt 5b und 8 noch ergänzt. Danke an Patch und Bügelfalte.
// Edit2:
Ergänzung Punkt 9
// Edit3:
Ergänzung Punkt 10