diff --git a/content/rallysystem.php b/content/rallysystem.php new file mode 100644 index 0000000000000000000000000000000000000000..40419fca0e7707fb6f9bccdc6f05336e43e9cd34 --- /dev/null +++ b/content/rallysystem.php @@ -0,0 +1,184 @@ +<?php +// Variabeln +$rallyname = mysql_real_escape_string($_GET['rally']); +$time = time(); +// Ralleydaten auslesen +$rally = mysql_fetch_array (db_query ('SELECT * FROM vms_rallydaten WHERE name = "' . $rallyname . '" LIMIT 1')); + +function sectodays($secs) { + $days = intval($secs / (60 * 60 * 24)); + $secs = $secs % (60 * 60 * 24); + $hours = intval($secs / (60 * 60)); + $secs = $secs % (60 * 60); + $mins = intval($secs / 60); + $secs = $secs % 60; + return 'noch ' . $days . ' Tage, ' . $hours . ' Std. und ' . $mins . ' Min.'; +} + +if ($rally['status'] != 'aktive') { + $swf_prozent = 0; + $swf_status = "Rally aktuell Inaktive."; +} else if (time() < $rally['start']) { + $swf_prozent = 0; + $swf_status = "Noch nicht gestartet."; +} elseif (($rally['ende_art'] == 'zeit' && $rally['ende_zeit'] <= $time) OR ($rally['ende_art'] == 'punkt' && $rally['ende_punkte'] <= $rally['ende_punkte_aktuell'])) { + $swf_prozent = 10000; + $swf_status = "Erfolgreich Beendet."; +} else { + if ($rally['ende_art'] == 'zeit') { + if ($rally['ende_vortschritt'] == 'datum') { + $swf_prozent = number_format(($time - $rally['start']) / ($rally['ende_zeit'] - $rally['start']) * 100, 2, ',', '\''); + $swf_status = sectodays($rally['ende_zeit'] - $time); + } elseif ($rally['ende_vortschritt'] == 'Jeden Tag') { + $tag = mktime(0, 0, 0, date('m'), date('d'), date('Y')); + $ende = $tag + (24 * 60 * 60); + $swf_prozent = number_format((time() - $tag) / ($ende - $tag) * 100, 2, ',', '\'');; + $swf_status = sectodays($ende - time()); + } elseif ($rally['ende_vortschritt'] == 'Jede Woche') { + if (date('w') == 0) $wochentag = 7; + if (date('w') != 0) $wochentag = date('w'); + $tag = mktime(0, 0, 0, date('m'), (date('d') - $wochentag + 1), date('Y')); + $ende = $tag + (7 * 24 * 60 * 60); + $swf_prozent = number_format((time() - $tag) / ($ende - $tag) * 100, 2, ',', '\'');; + $swf_status = sectodays($ende - time()); + } elseif ($rally['ende_vortschritt'] == 'Jeden Monat') { + $tag = mktime(0, 0, 0, date('m'), 1, date('Y')); + $ende = mktime(23, 59, 59, (date('m') + 1), 0, date('Y')); + $swf_prozent = number_format((time() - $tag) / ($ende - $tag) * 100, 2, ',', '\'');; + $swf_status = sectodays($ende - time()); + } elseif ($rally['ende_vortschritt'] == 'Jedes Jahr') { + $wochentag = 365 - date('z'); + $tag = mktime(0, 0, 0, 1, 1, date('Y')); + $ende = $tag + (365 * 24 * 60 * 60); + $swf_prozent = number_format((time() - $tag) / ($ende - $tag) * 100, 2, ',', '\'');; + $swf_status = sectodays($ende - time()); + } + } else { + $swf_prozent = number_format(100 / $rally['ende_punkte'] * $rally['ende_punkte_aktuell'], 2, ',', '\''); + $swf_status = 'Es sind noch ' . ($rally['ende_punkte'] - $rally['ende_punkte_aktuell']) . ' ' . $rally['einheit'] . ' bis zum Ende'; + } +} +// Flash Ralley Anzeige +echo '<br><br>' . $rally['beschrieb'] . '<br><br> + +<style type="text/css"> +<!-- + #rot { + background-color: #253c4e; + border: 1px; + width: 430px; + height: 20px; + text-align: left; + -moz-border-radius: 6px;-webkit-border-radius: 6px;border-radius: 6px; + } + #vortschritt { + background-color: #00FF00; + border: 0px; + width: ' . number_format($swf_prozent, 0, ',', '\'') . '%; + height: 100%; + -moz-border-radius: 6px;-webkit-border-radius: 6px;border-radius: 6px; + } +--> +</style> +<div style="font-size:17px; line-hight:21px; font-weight:bold;"> +<b><font size="+2">Fortschritt<br></font></b><br> +<div id="rot"> + <div id="vortschritt"></div> +</div> +<br> +Der Rallyfortschrit beträgt ' . ($swf_prozent) . ' Prozent. <br> +' . $swf_status . ' +</div><br><br> + +'; + +$gesperrt = explode(',', $rally['sperruser']); +if (in_array($_SESSION['uid'], $gesperrt)) { + echo'<br><b><font size="+1" color="#9F0101">!!Gesperrt!!<br>Sie wurden vom Admin von dieser Rally ausgeschlossen.</font></b><br><br>'; +} + +if ($_SESSION['login'] == 'true') { + $rallystand = mysql_fetch_array(db_query("SELECT punkte FROM vms_rallyuser WHERE uid=" . $_SESSION['uid'] . " and rally = '" . $rallyname . "' LIMIT 1")); + echo'<h2><font color="#010101">Du hast in der ' . $rallyname . '-Rally bereits ' . number_format($rallystand['punkte'], 0, ",", ".") . ' ' . $rally['ende_formulierung'] . '. (Danke)</font></h2><br>'; +} + +if ($rally['ende_art'] == 'punkt') { + echo'Diese ' . $rallyname . '-Rally endet soball alle gemeinsam ' . $rally['ende_punkte'] . ' ' . $rally['ende_formulierung'] . ' haben.<br> '; +} elseif ($rally['ende_vortschritt'] == 'datum') { + echo'Diese ' . $rallyname . '-Rally endet am ' . date('j F Y G:i', $rally['ende_zeit']) . '<br>'; +} else { + echo 'Diese Rally hat kein Ende. Sie wird immer wieder in bestimmten Abständen (' . $rally['ende_vortschritt'] . ') neu gestartet.<br>'; +} + +if ($rally['gewinn_art'] == 'dynamisch') { + echo'Es handelt sich bei der ' . $rallyname . '-Rally um eine Dynamische Rally. <br> + Dies bedeutet der Gewinn pro Rang steigt mit der Aktivität der User in der Rally. <br> + Der Gewinn-Topf ist nach oben nicht begrenzt und beträgt aktuell ' . $rally['gewinn_topf'] . ' ' . $waehrung . '. <br> '; +} else { + echo'Es handelt sich bei der ' . $rallyname . '-Rally um eine Statische Rally. <br> + Die gesammte Gewinnsumme beläuft sich auf ' . $rally['gewinn_topf'] . ' ' . $waehrung . '. <br>'; +} + +if ($rally['mindestpunktzhl'] > '0') { + echo'<br>Sie müssen mindestens ' . $rally['mindestpunktzhl'] . ' ' . $rally['ende_formulierung'] . ' haben um in der Rally gewertet zu werden<br><br>'; +} + +echo ' + + +<br> +<table width="100%" cellpadding="1" cellspacing="1" border="0" class="tablesorter"> +<thead> + <tr > + <th width="30"><b>Rang</b></th> + <th><b>User</b></th> + <th width="100"><b>' . $rally['einheit'] . '</b></th> + <th width="180"><b>möglicher Gewinn</b></th> + <th width="110"><b>Mindestpunktzahl</b></th> + </tr> +</thead> +<tbody>'; + +$platz = db_query ('SELECT k.punkte,u.nickname,u.uid FROM vms_rallyuser k LEFT JOIN vms_userdaten u ON u.uid = k.uid WHERE k.rally = "' . $rallyname . '" AND k.ausgezahlt = "0" ORDER BY k.punkte DESC'); +$rp = 1; +$gesperrt = explode(',', $rally['sperruser']); +while ($pa = mysql_fetch_array($platz)) { + if (!in_array($pa['uid'], $gesperrt)) { + if ($rally['gewinner_anzahl'] >= $rp) { + $mg = number_format(($rally['gewinn_topf'] / 100 * $rally['p' . $rp]), 2, ',', '.') . ' ' . $waehrung; + } else $mg = '---'; + if ($pa['punkte'] < $rally['mindestpunktzhl']) $mindestpunkt = '<span style="color:#FF6600;">Nicht erreicht.</span>'; + if ($pa['punkte'] >= $rally['mindestpunktzhl']) $mindestpunkt = '<span style="color:#339966;">Erreicht.</span>'; + echo '<tr> + <td align="right">' . $rp++ . '. </td> + <td> ' . $pa['nickname'] . '</td> + <td align="right">' . number_format($pa['punkte'], 0) . ' </td> + <td align="right">' . $mg . ' </td> + <td align="right"><strong>' . $mindestpunkt . '</strong></td> + </tr>'; + } +} + +for($x = $rp;$x < $rally['gewinner_anzahl'] + 1;$x++) { + $mg = number_format(($rally['gewinn_topf'] / 100 * $rally['p' . $rp]), 2, ',', '.') . ' ' . $waehrung; + $row = ($rp % 2 == 0) ? 0 : 1; + $mindestpunkt = '<span style="color:#808080;">Wartend.</span>'; + if ($x > $rally['gewinner_anzahl']) $mg = '---'; + ?> + <tr> + <td align="right"><?php echo $rp++;?>. </td> + <td> n/a</td> + <td align="right">0 </td> + <td align="right"><?php echo $mg;?> </td> + <td align="right"><strong><?php echo $mindestpunkt;?></strong></td> + </tr> +<?php +} +?> +</tbody> +</table> +<?php +foot(); +?> + +