|
Autor |
Nachricht |
boris
Beiträge: 11154
|
Titel: Snippet: EM 2008 MOD - "Best Loser"
Verfasst am: Mi, 04 Jun 2008, 23:04 |
|
|
"Best Loser"
Der "Best Loser" ist eine spezielle Rangliste, die als Add-On zum "EM 2008 Tippspiel"-MOD installiert werden kann. Es werden die User gelistet, die am häufigsten komplett daneben getippt haben, dabei aber am nächsten am richtigen Ergebnis waren. Mehr Infos hier.
Aufgrund des Zeitdrucks wurden keine Language-Variablen (u.a.) verwendet, Hauptsache der Kram läuft pünktlich zur EM !
Code: |
#
#-----[ OPEN ]------------------------------------------
#
em_stats.php
#
#-----[ FIND ]------------------------------------------
#
define('IN_PHPBB', true);
#
#-----[ BEFORE, ADD ]------------------------------------------
#
$boo_showbestloser = true; # true|false%u3a wheter to show the "best loser"-ranking list
#
#-----[ FIND ]------------------------------------------
#
$template->pparse('body');
#
#-----[ BEFORE, ADD ]------------------------------------------
#
if ($boo_showbestloser)
{
$template->assign_block_vars('switch_bestloser', array());
// Best loser
$arr_bestloser = array();
// Ergebnisse holen
$resultdata = array();
$resultdata = get_em_results();
// alle User mit "daneben"-Tipps holen
$sql_alluser = "SELECT tipp_user FROM " . EM_TIPPS_TABLE . " WHERE tipp_game <> 65 AND tipp_points = 0 GROUP BY tipp_user";
if (!($result_alluser = $db->sql_query($sql_alluser)))
{
message_die(GENERAL_ERROR, '', '', __LINE__, __FILE__, $sql_alluser);
}
while ($row_alluser = $db->sql_fetchrow($result_alluser))
{
// alle "daneben"-Tipps eines Users holen
$sql_tipps = "SELECT * FROM " . EM_TIPPS_TABLE . "
WHERE tipp_user = " . $row_alluser['tipp_user'] . " AND
tipp_points = 0 AND
tipp_game <> 65";
if (!($result_tipps = $db->sql_query($sql_tipps)))
{
message_die(GENERAL_ERROR, '', '', __LINE__, __FILE__, $sql_tipps);
}
$int_count = 0;
while ($row_tipps = $db->sql_fetchrow($result_tipps))
{
// Ergebnis des Spiels holen und ausrechnen, "wie daneben" der Tipp ist
if (!empty($resultdata[$row_tipps['tipp_game']]))
{
$int_daneben = (abs($row_tipps['tipp_home'] - $resultdata[$row_tipps['tipp_game']]['result_home']) + abs($row_tipps['tipp_away'] - $resultdata[$row_tipps['tipp_game']]['result_away']));
if ($int_daneben < 4)
{
$int_count++;
$arr_bestloser[$row_alluser['tipp_user']]["tore"] += $int_daneben;
}
}
}
$arr_bestloser[$row_alluser['tipp_user']]["daneben"] = $int_count;
}
$arr_bestlosersort = array();
foreach($arr_bestloser as $key => $value)
{
if ($value["daneben"] > 0)
{
$arr_bestlosersort[$key]["daneben"] = (0 - $value["daneben"]);
$arr_bestlosersort[$key]["quote"] = ($value["tore"] / $value["daneben"]);
$arr_bestlosersort[$key]["tore"] = $value["tore"];
}
}
asort($arr_bestlosersort);
$int_rang = 0;
$int_quote = 0;
$int_quotealt = 0;
foreach($arr_bestlosersort as $key => $value)
{
$int_quote = $value["quote"];
if ($int_quote != $int_quotealt)
{
$int_rang++;
}
$template->assign_block_vars('switch_bestloser.bestloserrow', array(
'BL_RANK' => ($int_quote != $int_quotealt) ? $int_rang %u3a '',
'BL_USERNAME' => $all_user_data[$key],
'BL_AVATAR' => $arr_avatars[$key],
'BL_USERLINK' => append_sid("profile.".$phpEx."?mode=viewprofile&u=".$key),
'BL_DANEBEN' => abs($value["daneben"]),
'BL_TORE' => abs($value["tore"]),
'BL_QUOTE' => number_format(round(abs($value["quote"]), 2), 2, ",", ".")
)
);
$int_quotealt = $int_quote;
}
}
#
#-----[ OPEN ]------------------------------------------
#
# NOTE%u3a apply this to all your templates
#
templates/subSilver/em_stats_body.tpl
#
#-----[ FIND ]------------------------------------------
#
</table>
<!--
Please leave the copyright information at the bottom of your page for our mod.
//-->
#
#-----[ BEFORE, ADD ]------------------------------------------
#
<!-- BEGIN switch_bestloser -->
<br />
<br />
<br />
<br />
<table class="forumline" align="center" border="0" cellpadding="2" cellspacing="1" width="350">
<tr>
<td colspan="6" class="cat" align="center"><span class="cattitle"><strong><span style="font-size%u3a 14px;">Best loser</span></strong><br />
<br />
(User, die am häufigsten am knappsten - max. 3 Tore -<br />vollständig daneben lagen) </span></td>
</tr>
<tr>
<td class="row2" align="center" nowrap="nowrap" valign="middle"><strong><span class="genmed">Platz</span></strong></td>
<td class="row2"> </td>
<td class="row2" align="center" nowrap="nowrap" valign="middle"><strong>Spieler</strong></td>
<td class="row2" align="center" nowrap="nowrap" valign="middle"><strong>Tipps daneben</strong></td>
<td class="row2" align="center" nowrap="nowrap" valign="middle"><strong>Tore daneben</strong></td>
<td class="row2" align="center" nowrap="nowrap" valign="middle"><strong>Quote</strong></td>
</tr>
<!-- BEGIN bestloserrow -->
<tr>
<td class="row1" align="center" nowrap="nowrap" valign="middle"><strong><span class="genmed">{switch_bestloser.bestloserrow.BL_RANK}</span></strong></td>
<td class="row1" align="center" nowrap="nowrap" valign="middle">{switch_bestloser.bestloserrow.BL_AVATAR}</td>
<td class="row1" align="left" nowrap="nowrap" valign="middle"><strong><a href="{switch_bestloser.bestloserrow.BL_USERLINK}">{switch_bestloser.bestloserrow.BL_USERNAME}</a></strong></td>
<td class="row1" align="center" nowrap="nowrap" valign="middle">{switch_bestloser.bestloserrow.BL_DANEBEN}</td>
<td class="row1" align="center" nowrap="nowrap" valign="middle">{switch_bestloser.bestloserrow.BL_TORE}</td>
<td class="row1" align="center" nowrap="nowrap" valign="middle">{switch_bestloser.bestloserrow.BL_QUOTE}</td>
</tr>
<!-- END bestloserrow -->
</table>
<!-- END switch_bestloser --> |
EDIT 7.6.08:
- jetzt auch mit Anzeige der Avatars, dafür ist in der includes/em_functions.php noch folgendes zu ändern:
Code: |
#
#-----[ FIND ]------------------------------------------
#
$sql = "SELECT
A. * ,
sum( A.tipp_points ) AS user_points,
#
#-----[ REPLACE WITH ]------------------------------------------
#
$sql = "SELECT
A. * ,
E.user_avatar_type, E.user_allowavatar, E.user_avatar,
sum( A.tipp_points ) AS user_points, |
____________ beehave - home of humbug ... [we can't afford to be neutral]
Zuletzt bearbeitet von boris am Sa, 07 Jun 2008, 06:19, insgesamt 8-mal bearbeitet. (4 Prozent)
|
|
Nach oben |
|
boris
Beiträge: 11154
|
Titel: (Kein Titel)
Verfasst am: Do, 05 Jun 2008, 23:04 |
|
|
HOTFIX !
Code: |
#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/em_stats_body.tpl
#
#-----[ FIND ]------------------------------------------
#
{switch_bestloser.best loserrow.BL_USERNAME}
#
#-----[ REPLACE WITH ]------------------------------------------
#
{switch_bestloser.bestloserrow.BL_USERNAME} |
Ist oben schon geändert, nur wichtig für die, die das Snippet vor heute abend schon eingebaut hatten.
____________ beehave - home of humbug ... [we can't afford to be neutral]
|
|
Nach oben |
|
|
|
ähnliche Beiträge |
|
Thema
| Autor
| Forum
| Antworten
| Verfasst am
|
|
Doris Dörrie - "Was wollen Sie von mir?" |
boris |
kühnes mittelscharfer |
0 |
Sa, 06 Jan 2024, 13:55 |
|
Gute "How to do ..." - Videos auf Youtube |
rantanplan |
le finesnäcker |
1 |
Di, 24 Jan 2017, 16:59 |
|
Hände weg von "Billigjeans" |
Hansch |
joxe und so |
2 |
Mo, 26 Jan 2015, 14:59 |
|
"Der Meisterfälscher" in der 3sat Mediathek |
Erdbär |
silikonimplantate |
6 |
Di, 09 Dez 2014, 10:04 |
|
Every James Hetfield "Yea"... ever. |
jrose |
silikonimplantate |
0 |
Do, 14 März 2013, 20:21 |
Schreiben: nein. Antworten: nein. Bearbeiten: nein. Löschen: nein. Umfragen: nein.
|