Seite 189 von 214

Re: [BETA] phpBB3 Football MOD Version 0.9.3

Verfasst: 25.06.2014 00:18
von football
Damit bei der aktuellen WM die Achtelfinalteilnehmer automatisch eingetragen werden, kann man in football\includes\functions.php

Code: Alles auswählen

		case 'G':
			// GROUP
			return '#0#'. substr($para_in_array[0], 1, 1) . '. ' . sprintf($user->lang['GROUP']). ' ' . substr($para_in_array[0], 0, 1) .  '#'. substr($para_in_array[0], 1, 1) . '. ' . sprintf($user->lang['GROUP']) . ' ' . substr($para_in_array[0], 0, 1);
			break;
durch folgendes ersetzen:

Code: Alles auswählen

		case 'G':
			// GROUP
			$group = substr($para_ary[0], 0, 1);
			$place = substr($para_ary[0], 1, 1);
			$sql = '
				SELECT
				SUM(1) AS matches,
				SUM(IF(m.status = 3, 1, 0)) AS played
				FROM ' . FOOTB_MATCHES . " AS m
				WHERE m.season = $season AND m.league = $league AND m.group_id = '$group' 
				GROUP BY m.group_id
			";
			$result = $db->sql_query($sql);

			if ( $row = $db->sql_fetchrow($result))
			{
				if ($row['matches'] == $row['played'])
				{
					$sql = '
						SELECT
						t.*,
						SUM(1) AS matches,
						SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 > goals_guest, 1, 0), IF(goals_home + 0 < goals_guest, 1, 0))) AS win,
						SUM(IF(goals_home = goals_guest, 1, 0)) AS draw,
						SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 < goals_guest, 1, 0), IF(goals_home + 0 > goals_guest, 1, 0))) AS lose,
						SUM(IF(m.team_id_home = t.team_id, 
								IF(goals_home + 0 > goals_guest, 
									3, 
									IF(goals_home = goals_guest, 
										1, 
										0
									)
								), 
								IF(goals_home + 0 < goals_guest, 
									3, 
									IF(goals_home = goals_guest, 
										1, 
										0
									)
								)
							)
						) AS points,
						SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest, goals_guest - goals_home)) AS goal_diff,
						SUM(IF(m.team_id_home = t.team_id, goals_home, goals_guest)) AS goals,
						SUM(IF(m.team_id_home = t.team_id, goals_guest, goals_home)) AS goals_get
						FROM ' . FOOTB_TEAMS . ' AS t
						LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league AND 
																(m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id)
						WHERE t.season = $season AND t.league = $league AND m.group_id = '$group'
						GROUP BY t.team_id
						ORDER BY points DESC, goal_diff DESC, goals DESC
					";
					$result = $db->sql_query($sql);
					$rowset = $db->sql_fetchrowset($result);
					$db->sql_freeresult($result);
					
					if (1 == $place)
					{
						if ($rowset[0]['points'] == $rowset[1]['points'] AND $rowset[0]['goal_diff'] == $rowset[1]['goal_diff'] AND $rowset[0]['goals'] == $rowset[1]['goals'])
						{
							return '#0#' . $place . '. ' . sprintf($user->lang['GROUP']) . ' ' . $place . '#' . $place . '. ' . sprintf($user->lang['GROUP']) . ' ' . $group;
						}
						else
						{
							$new_id = $rowset[0]['team_id'];
							$sqlup = 'UPDATE ' . FOOTB_MATCHES . " SET $field = $new_id WHERE season = $season AND league = $league AND match_no = $matchnumber";
							$resultup = $db->sql_query($sqlup);
							$sqlup = 'UPDATE ' . FOOTB_TEAMS . ' SET matchday = (SELECT max(matchday) FROM ' . FOOTB_MATCHES . " 
																				 WHERE season = $season AND league = $league AND (team_id_home= $new_id OR team_id_guest = $new_id))
									  WHERE season = $season AND league = $league AND team_id = $new_id";
							$resultup = $db->sql_query($sqlup);
							return $rowset[0]['team_symbol'] . '#' . $new_id . '#' . $rowset[0]['team_name'] . '#' . $rowset[0]['team_name_short'];
						}
					}
					else
					{
						// second 
						if (($rowset[0]['points'] == $rowset[1]['points'] AND $rowset[0]['goal_diff'] == $rowset[1]['goal_diff'] AND $rowset[0]['goals'] == $rowset[1]['goals'] ) OR
						    ($rowset[2]['points'] == $rowset[1]['points'] AND $rowset[2]['goal_diff'] == $rowset[1]['goal_diff'] AND $rowset[2]['goals'] == $rowset[1]['goals'] ))
						{
							return '#0#' . $place . '. ' . sprintf($user->lang['GROUP']) . ' ' . $group . '#' . $place . '. ' . sprintf($user->lang['GROUP']) . ' ' . $group;
						}
						else
						{
							$new_id = $rowset[1]['team_id'];
							$sqlup = 'UPDATE ' . FOOTB_MATCHES . " SET $field = $new_id WHERE season = $season AND league = $league AND match_no = $matchnumber";
							$resultup = $db->sql_query($sqlup);
							$sqlup = 'UPDATE ' . FOOTB_TEAMS . ' SET matchday = (SELECT max(matchday) FROM ' . FOOTB_MATCHES . " 
																				 WHERE season = $season AND league = $league AND (team_id_home= $new_id OR team_id_guest = $new_id))
									  WHERE season = $season AND league = $league AND team_id = $new_id";
							$resultup = $db->sql_query($sqlup);
							return $rowset[1]['team_symbol'] . '#' . $new_id . '#' . $rowset[1]['team_name'] . '#' . $rowset[1]['team_name_short'];
						}
					}
				}
				else
				{
					return '#0#' . $place . '. ' . sprintf($user->lang['GROUP']) . ' ' . $group . '#' . $place . '. ' . sprintf($user->lang['GROUP']) . ' ' . $group;
				}
			}
			else
			{
				return '#0#' . $place . '. ' . sprintf($user->lang['GROUP']) . ' ' . $group . '#' . $place . '. ' . sprintf($user->lang['GROUP']) . ' ' . $group;
			}
			break;
Dann werden zumindest die eindeutig platzierten Mannschaften automatisch eingetragen, Bei Punkt und Torgleichheit wird der direkte Vergleich nicht herangezogen und keine davon betroffene Mannschaft ins Achtelfinale übertragen.

Re: [BETA] phpBB3 Football MOD Version 0.9.3

Verfasst: 25.06.2014 09:36
von fontane
football hat geschrieben:Oh, die CL funktioniert bei mir auch nicht. Ist aber auch klar, da die Mannschaften noch fehlen.
Dann setzte ich mal ein paar bereits qualifizierte Mannschaften rein. Jetzt sollte es auch klappen.
klappt :P
football hat geschrieben:Mit der Premier League hast du dich vermutlich vertan. Denn diese Liga ist komplett und sollte den Fehler nicht hervorrufen.
stimmt, ich meinte statt PremierLeague die EuropaLeague :D > funktioniert jetzt auch. :grin:

Vielen Dank für die schnelle Problemlösung.

Re: [BETA] phpBB3 Football MOD Version 0.9.3

Verfasst: 25.06.2014 10:59
von tups
Hi,
ich wollte eine kleine Kosmetik vornehmen und scheitere leider kläglich :cry: und habe hier über die Suchfunktion nichts gefunden, auch auf den hier 189 Seiten nicht (ich kann es auch, falls es das schon gibt, überlesen haben).

Und zwar wollte ich auf der Seite zum Tippen automatisch einen Hinweis bei den KO-Runden erscheinen lassen auf welches Ergebnis getippt wird.

Hier mal ein Beispiel wie es aussehen soll/kann
Beispiel

Dieser Hinweis soll dann nur bei den KO Spielen, je nach Einstellung im ACP (ob nach 90 Min, Verlängerung oder Elfmeter), erscheinen.

Über einen Tipp bzw. Hilfe wäre ich dankbar.

Mein Forum

Re: [BETA] phpBB3 Football MOD Version 0.9.3

Verfasst: 25.06.2014 11:26
von fontane
tups hat geschrieben:Über einen Tipp bzw. Hilfe wäre ich dankbar.
Da ich stets immer dieselbe Einstellung für die Tipper verwende, habe ich es in der html so integriert:
Tipphinweis
Damit sieht jeder Tipper beim tippen immer den Hinweis.

Re: [BETA] phpBB3 Football MOD Version 0.9.3

Verfasst: 25.06.2014 11:43
von tups
Erst einmal Danke für die schnelle Antwort.

Diese Möglichkeit spukte mir auch schon im Kopf herum. Allerdings steht dieser Hinweis dann bei den regulären Spielen, wie Bundesliga, auch.

Ich dachte eventuell an eine Lösung, die nur bei den KO-Spielen angezeigt wird und auch automatisch die Anzeige der Einstellung im ACP übernimmt.

Das scheint aber wohl doch etwas komplizierter zu sein, aber vielleicht kommt das ja eventuell noch.

Re: [BETA] phpBB3 Football MOD Version 0.9.3

Verfasst: 25.06.2014 18:18
von MK35
football hat geschrieben:Damit bei der aktuellen WM die Achtelfinalteilnehmer automatisch eingetragen werden, kann man in football\includes\functions.php

Dann werden zumindest die eindeutig platzierten Mannschaften automatisch eingetragen, Bei Punkt und Torgleichheit wird der direkte Vergleich nicht herangezogen und keine davon betroffene Mannschaft ins Achtelfinale übertragen.
Wenn ich die functions.php nicht verändern will, kann ich dann auch jetzt schon die KO-Runden Gewinner ermitteln obwohl noch nicht alle Spiele in den Gruppen gespielt wurden :roll: ....ich frage weil ich im Achtelfinale jetzt noch keine Mannschaften stehen habe und sich ja bereits welche qualifiziert haben, oder sollte man dies erst machen wenn alle Vorrunden - Spiele den Status 3 haben?

Re: [BETA] phpBB3 Football MOD Version 0.9.3

Verfasst: 25.06.2014 23:41
von football
Ich habe die Anzeige wie folgt gelöst:
in /styles/prosilver/template/football/bet.html
die Überschrift der Tipps um ({BET_EXPLAIN}) erweitert:

Code: Alles auswählen

						<th align="center" colspan="3">{L_BET_OF} ({BET_EXPLAIN})</th>
und in /football/block/bet.php vor

Code: Alles auswählen

$link_rules = '';
folgendes einfügen:

Code: Alles auswählen

$league_info = league_info($season, $league);
$bet_explain = '';
switch ($league_info['bet_ko_type'])
{
	case BET_KO_90:
		$bet_explain = sprintf($user->lang['MIN90']);
		break;
	case BET_KO_EXTRATIME:
		$bet_explain = sprintf($user->lang['EXTRATIME_SHORT']);
		break;
	case BET_KO_PENALTY:
		$bet_explain = sprintf($user->lang['PENALTY']);
		break;
	default:
		$bet_explain = sprintf($user->lang['MIN90']);
		break;
}

Und die Variablenausgabe $template->assign_vars(array( erweitern um

Code: Alles auswählen

	'BET_EXPLAIN' 				=> $bet_explain,

Re: [BETA] phpBB3 Football MOD Version 0.9.3

Verfasst: 25.06.2014 23:51
von football
@MK35:
Die "KO-Runden Gewinner ermitteln" Funktion im Adminbereich setzt vorraus, dass alle Vorrundenspiele beendet sind und setzt dann die Mannschaften lediglich in die nächste Runde/Spieltag, damit man diese (und nur diese) Mannschaft im Spielplan auswählen kann.

Bei der oben beschriebenen Änderung werden die Gruppen ersten und zweiten nach Abschluß der Gruppe berechnet und ins Achtelfinale eingetragen.

Oder du kannst auch den Spielplan über die Update-Funktion im Adminbereich aktualisieren. Im XML-Spielplan sind die Mannschaften der abgeschlossenen Gruppen bereits im Achtelfinale eingetragen.

Re: [BETA] phpBB3 Football MOD Version 0.9.3

Verfasst: 26.06.2014 06:15
von Hegse
Moin

Habe gerade mal im ACP den Spielplan über Spielplan aktualisieren geladen. Das Achtelfinale Argentinien - Schweiz ist schon auf Status 1 gesetzt und lässt sich über das ACP auch nicht ändern.
Just for Info...

Re: [BETA] phpBB3 Football MOD Version 0.9.3

Verfasst: 26.06.2014 08:17
von Hegse
Fehler gefunden. Das Datum war falsch. Anstatt 2014 war der 1.7.2013 eingegeben.