Benutzername    Passwort    Autologin    
  Passwort vergessen       Registrieren  
beeForum Foren-übersicht » hal9000 » mod support
Neues Thema eröffnen   Neue Antwort erstellen Hervorhebung entfernen


Snippet: EM 2008 MOD - Rainbow-Cup
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
boris



Beiträge: 11057

Titel: Snippet: EM 2008 MOD - Rainbow-Cup
Verfasst am: Mi, 04 Jun 2008, 23:39
Beitrag
Antworten mit Zitat

Rainbow-Cup (Regenbogentipper)


Der "Regenbogentipp" ist eine spezielle Rangliste, die als Add-On zum "EM 2008 Tippspiel"-MOD installiert werden kann. Es werden die drei höchsten richtigen Tipps zu einer neue Rangliste zusammengerechnet, weitere Informationen zum Algorhythmus gibt es 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_showrainbowcup = true;      # true|false: wheter to show the "best loser"-ranking list

#
#-----[ FIND ]------------------------------------------
#
$template->pparse('body');

#
#-----[ BEFORE, ADD ]------------------------------------------
#
if ($boo_showrainbowcup)
{
   $template->assign_block_vars('switch_rainbowcup', array());

   // Regenbogentipper
   $arr_rainbow = array();

   $sql_tipps = "SELECT tipp_user FROM " . EM_TIPPS_TABLE . " WHERE tipp_game <> 65 AND tipp_points >= " . $em_config['points_match'] . " GROUP BY tipp_user";
   if (!($result_tipps = $db->sql_query($sql_tipps)))
   {
      message_die(GENERAL_ERROR, '', '', __LINE__, __FILE__, $sql_tipps);
   }

   while ($row_tipps = $db->sql_fetchrow($result_tipps))
   {
      $sql_user = "SELECT *, (tipp_home + tipp_away) AS summe, ABS(tipp_home - tipp_away) as differenz
                  FROM " . EM_TIPPS_TABLE . "
                  WHERE
                     tipp_user = " . $row_tipps['tipp_user'] . " AND
                     tipp_game <> 65 AND
                     tipp_points >= " . $em_config['points_match'] . "
                  ORDER BY summe DESC, differenz DESC
                  LIMIT 3";
      if (!($result_user = $db->sql_query($sql_user)))
      {
         message_die(GENERAL_ERROR, '', '', __LINE__, __FILE__, $sql_user);
      }

      while ($row_user = $db->sql_fetchrow($result_user))
      {
         $arr_rainbow[$row_user['tipp_user']]["torsumme"] += $row_user['summe'];
         $arr_rainbow[$row_user['tipp_user']]["anzahl"]++;
         $arr_rainbow[$row_user['tipp_user']]["quote"] = ($arr_rainbow[$row_user['tipp_user']]["torsumme"] / $arr_rainbow[$row_user['tipp_user']]["anzahl"]);
         $arr_rainbow[$row_user['tipp_user']]["maxabw"] = max($arr_rainbow[$row_user['tipp_user']]["maxabw"], abs($row_user['tipp_home'] - $row_user['tipp_away'])) ;
      }
   }

   arsort($arr_rainbow);

   $int_rang = 0;
   $int_quote = 0;
   $int_quotealt = 0;

   foreach($arr_rainbow as $key => $value)
   {
      $int_quote = $value["quote"] + ($value["anzahl"] / 10) + ($value["maxabw"] / 100);
      if ($int_quote != $int_quotealt)
      {
         $int_rang++;
      }

      $template->assign_block_vars('switch_rainbowcup.rainbowrow', array(
        'RB_RANK'      => ($int_quote != $int_quotealt) ? $int_rang : '',
        'RB_USERNAME'   => $all_user_data[$key],
        'RB_AVATAR'   => $arr_avatars[$key],
        'RB_USERLINK'   => append_sid("profile.".$phpEx."?mode=viewprofile&u=".$key),
        'RB_GOALSUM'   => $value["torsumme"],
        'RB_NUMBER'   => $value["anzahl"],
        'RB_QUOTE'   => number_format($value["quote"], 2, ",", "."),
        'RB_MAXABW'   => $value["maxabw"]
      )
      );

      $int_quotealt = $int_quote;
   }
}

#
#-----[ OPEN ]------------------------------------------
#
# NOTE: 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_rainbowcup -->
<br />
<br />
<br />
<br />
<table class="forumline" align="center" border="0" cellpadding="2" cellspacing="1" width="350">
  <tr>
    <td colspan="7" class="cat" align="center"><span class="cattitle"><strong><span style="font-size: 14px;">Regenbogentipper</span></strong><br />
      <br />
      (es werden die Tore der 3 h&ouml;chsten vollst&auml;ndig korrekten Tipps zusammengez&auml;hlt) </span></td>
  </tr>
  <tr>
    <td class="row2" align="center" nowrap="nowrap" valign="middle"><strong><span class="genmed">Platz</span></strong></td>
    <td class="row2">&nbsp;</td>
    <td class="row2" align="center" nowrap="nowrap" valign="middle"><strong>Spieler</strong></td>
    <td class="row2" align="center" nowrap="nowrap" valign="middle"><strong>Torsumme</strong></td>
    <td class="row2" align="center" nowrap="nowrap" valign="middle"><strong>Anzahl </strong></td>
    <td class="row2" align="center" nowrap="nowrap" valign="middle"><strong>Quote</strong></td>
    <td class="row2" align="center" nowrap="nowrap" valign="middle"><strong>max. Abw.</strong></td>
  </tr>
  <!-- BEGIN rainbowrow -->
  <tr>
    <td class="row1" align="center" nowrap="nowrap" valign="middle"><strong><span class="genmed">{switch_rainbowcup.rainbowrow.RB_RANK}</span></strong></td>
    <td class="row1" align="center" nowrap="nowrap" valign="middle">{switch_rainbowcup.rainbowrow.RB_AVATAR}</td>
    <td class="row1" align="left" nowrap="nowrap" valign="middle"><strong><a href="{switch_rainbowcup.rainbowrow.RB_USERLINK}">{switch_rainbowcup.rainbowrow.RB_USERNAME}</a></strong></td>
    <td class="row1" align="center" nowrap="nowrap" valign="middle">{switch_rainbowcup.rainbowrow.RB_GOALSUM}</td>
    <td class="row1" align="center" nowrap="nowrap" valign="middle"><span class="genmed">{switch_rainbowcup.rainbowrow.RB_NUMBER}</span></td>
    <td class="row1" align="center" nowrap="nowrap" valign="middle"><b>{switch_rainbowcup.rainbowrow.RB_QUOTE}</b></td>
    <td class="row1" align="center" nowrap="nowrap" valign="middle"><b>{switch_rainbowcup.rainbowrow.RB_MAXABW}</b></td>
  </tr>
  <!-- END rainbowrow -->
</table>
<!-- END switch_rainbowcup -->


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, 07:21, insgesamt 3-mal bearbeitet. (4 Prozent)

Nach oben
Private Nachricht senden Website dieses Benutzers besuchen Rang:godmode methusalem 3. platz professioneller Sportangler Profi-Winzer (7x Hamm) Arcade-Meister, Rang 16 rainbow-cup
boris



Beiträge: 11057

Titel: (Kein Titel)
Verfasst am: Fr, 06 Jun 2008, 00:03
Beitrag
Antworten mit Zitat

HOTFIX !

Code:
#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/em_stats_body.tpl

#
#-----[ FIND ]------------------------------------------
#
{switch_rainbowcup.rain bowrow.RB_USERNAME}

#
#-----[ REPLACE WITH ]------------------------------------------
#
{switch_rainbowcup.rainbowrow.RB_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
Private Nachricht senden Website dieses Benutzers besuchen Rang:godmode methusalem 3. platz professioneller Sportangler Profi-Winzer (7x Hamm) Arcade-Meister, Rang 16 rainbow-cup
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    beeForum Foren-übersicht » hal9000 » mod support Seite 1 von 1
Gehe zu:  



ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Sie hören gerade..... (2008) Frederik silikonimplantate 153 Do, 17 Sep 2009, 22:48 Letzten Beitrag anzeigen
Keine neuen Beiträge DLW 2008: Understanding the PHP Object-Model boris hal9000 0 Sa, 18 Apr 2009, 12:27 Letzten Beitrag anzeigen
Keine neuen Beiträge DLW 2008: Advanced Object-Oriented JavaScript boris hal9000 0 Sa, 18 Apr 2009, 12:21 Letzten Beitrag anzeigen
Keine neuen Beiträge DLW 2008: Speaker Panel: Top Speakers from Ruby, Groovy boris hal9000 0 Sa, 18 Apr 2009, 12:16 Letzten Beitrag anzeigen
Keine neuen Beiträge DLW 2008: Metaprogramming with Ruby boris hal9000 0 Sa, 18 Apr 2009, 12:13 Letzten Beitrag anzeigen


Schreiben: nein. Antworten: nein. Bearbeiten: nein. Löschen: nein. Umfragen: nein.
phpBB © phpBB Group | impressum