Seite 18 von 108

Bei Europameister Tipps steht ausgeschieden

Verfasst: 19.05.2008 18:36
von oezguer
Hallo Freunde ,

ich habe vor kurzem das Mod installiert. Habe es vom Anfang des Topics .

Ich weiss naturlich nicht inwieweit die Änderungen des MOD s bei dieser Version berücksichtigt sind.

Auf jeden Fall habe ich das Problem , das bei den Europameistertipps neben den Tipps der Status ausgeschieden steht bei allen Mannschaften obwohl es noch nicht begonnen hat. Das die Spielpaarungen eine Stunde zu früh sind, hat doch keine Auswirkungen oder ?

Danke für Eure Hilfe


Özgür

Verfasst: 19.05.2008 18:58
von didi5000
Noch so einer .....

Auch dafür gab es bereits die Antwort in diesem Thread.

Verfasst: 20.05.2008 02:11
von color
Ist das wie der Tippspiel Mod ?

MFG

Verfasst: 20.05.2008 03:16
von cbrkiter
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

Verfasst: 20.05.2008 08:43
von Patch
@cbrkiter
vielen dank für das zusammentragen der Fehler. Gute arbeit!

eine andere Lösung für die richtigen anstoßzeiten wäre folgendes kleines Skript:

Code: Alles auswählen

update `phpbb_em_games` set `game_time` = `game_time` + 3600
update `phpbb_em_finals` set `game_time` = `game_time` + 3600
damit wird die Zeit eine Stunde nach vorn verschoben und es passt.

Verfasst: 20.05.2008 10:04
von buegelfalte
Und hier noch das DB-Update für die Links zu den Mannschaftsseiten:

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;

Verfasst: 20.05.2008 12:05
von delle101
Erst einmal danke für die ganze Arbeit!!! Sehr gut!
Irgendwie hab ich auf den letzten 18 Seiten noch keine Lösung gefunden für das Problem mit den Europameistertipps.
Dort steht ja rechts ausgeschieden obwohl ja noch nichts gespielt wurde.
Jemand eine Lösung um dieses kleine Problem zu beheben!?
Falls ich was überlesen haben sollte (beim überfliegen der letzten Seiten) dann sorry!
d101 :wink:

Verfasst: 20.05.2008 12:12
von Patch
steht im Post von cbrkiter (Punkt 3) :D

Verfasst: 20.05.2008 13:06
von cbrkiter
Patch hat geschrieben:steht im Post von cbrkiter (Punkt 3) :D
:grin: So habe ich mir das jetzt ungefähr vorgestellt. Am besten jedoch sogar noch mit direkter Link zum aktuellen Stand.

Ich habe ürbigens von Patch und buegelfalte die Ergänzungen noch in dem Beitrag ergänzt. Es soll ja schließlich eine Übersicht für alle sein, so dass nicht mehr alle Seiten gelesen werden müssen. Ich hoffe, es war doch auch in Eurem Sinne :wink:

Verfasst: 20.05.2008 13:27
von buegelfalte
cbrkiter hat geschrieben:Habe Punkt 8 und 9 noch ergänzt.
Punkt 8 ? ;)