<?php /* * * @copyright (c) 2010 animegame.eu * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public Licence * */ include_once('path.inc.php'); // get the path ;) include_once(ROOT_PATH.'/include/config.inc.php'); include_once(ROOT_PATH.'/include/parse.inc.php'); include_once(ROOT_PATH.'/include/fehlerausgabe.inc.php'); include_once(ROOT_PATH.'/include/designfunctions.inc.php'); include_once(ROOT_PATH.'/include/char.inc.php'); include_once(ROOT_PATH.'/include/halloffame.inc.php'); include_once(ROOT_PATH.'/include/auktion_functions.inc.php'); // GET-Section // Kritisch (SQL-Injections) $char_id = validateUnsignedInteger($_GET['char_id'], null); $art = validateString($_GET['art']); // Unkritisch $charm = $_GET['charm']; function anmelden($user, $charid, $art){ // Security if($art != 'klein' && $art != 'wochen'){ displayErrorMessage(NULL,'Es ist ein Fehler beim Anmelden aufgetreten!!','<a href="index.php">weiter...</a>'); return; } if(!is_numeric($charid)){ // Ist Charid wirklich eine Zahl???? displayErrorMessage(NULL,'Charid ist nicht numerisch!!','<a href="index.php">weiter...</a>'); return; } // Es wird angenommen, dass $user schon sicher ist, weil das in der config.inc.php ausgelesen wird if($art == 'wochen') { $fee = (TURNIER_WOCHEN_GEBUEHR=='TURNIER_WOCHEN_GEBUEHR')?0:TURNIER_WOCHEN_GEBUEHR; } else if($art == 'klein') { $fee = (TURNIER_ANFAENGER_GEBUEHR=='TURNIER_ANFAENGER_GEBUEHR')?0:TURNIER_ANFAENGER_GEBUEHR; } if(getUserAvailableMoney($user['id']) < $fee) { displayErrorMessage(NULL,'Nicht genug Geld um am Turnier teilzunehmen!','<a href="index.php">weiter...</a>'); return; } if($art == 'klein' && getHallOfFameEntryCount('Anfängerturnier', $user['id']) >= 2) { displayErrorMessage(NULL,'Du hast das Anfängerturnier schon zu oft gewonnen!!!','<a href="index.php">weiter...</a>'); } if($art == 'klein'){ $races = getSpecialRaceIds(); $special_race_ids = array(); foreach($races as $race) { $special_race_ids[] = '\''.$race['id'].'\''; } // Char darf max lvl 25 haben und keine Fusion sein und auch keine Teufelsfrucht gegessen haben $special_clue = 'AND level<=25 AND fusion_rasse = \'0\' AND rasse NOT IN ('.implode(',',$special_race_ids).') AND frucht is null'; $anzahl = 32; } else{ $anzahl = 64; } // sehr speziell und deswegen nicht getChar(); $PRUEF = mysql_num_rows(db_query('SELECT id FROM chars WHERE id=\''.$charid.'\' '.$special_clue.' AND besitzer=\''.$user['id'].'\' LIMIT 1')); if(!$PRUEF) { displayErrorMessage(NULL,'Charakter erfüllt die Bestimungen nicht!','<a href="index.php?as=turnier&art='.$art.'">weiter...</a>'); return; } $sear_a = mysql_num_rows(mysql_query('SELECT id FROM turnier1 WHERE art=\''.$art.'\'')); if($sear_a >= $anzahl) { displayErrorMessage(NULL,'Turnier voll! Es künnen maximal nur '.$anzahl.' Chars am Turnier teilnehmen','<a href="index.php?as=turnier&art='.$art.'">weiter...</a>'); return; } $sear = mysql_fetch_assoc(mysql_query('SELECT id FROM turnier1 WHERE besitzer=\''.$user['id'].'\' and art = \''.$art.'\' LIMIT 1')); if($sear['id']) { displayErrorMessage(NULL,'Es darf nur einer deiner Chars am Turnier teilnehmen','<a href="index.php?as=turnier&art='.$art.'">weiter...</a>'); return; } $sql = 'INSERT turnier1 SET charakter='.$charid.', besitzer='.$user['id'].', art = \''.$art.'\''; // echo $sql; mysql_query($sql); mysql_query('UPDATE chars SET status=\'Turnier\' WHERE id='.$charid); mysql_query('UPDATE user SET geld= '.($user['geld']-$fee).' WHERE id='.$user['id']); displayErrorMessage('Änderungen übernommen','Charakter erfolgreich beim Turnier angemeldet','<a href="index.php?as=turnier&art='.$art.'">weiter...</a>'); return; } function abmelden($user_ida, $char_id, $art){ mysql_query('DELETE FROM turnier1 WHERE charakter=\''.$char_id.'\' AND besitzer=\''.$user_ida['id'].'\''); mysql_query('UPDATE chars SET status=\'Frei\' WHERE id=\''.$char_id.'\' AND besitzer=\''.$user_ida['id'].'\' AND status=\'Turnier\' LIMIT 1'); displayErrorMessage('Änderungen übernommen','Charakter erfolgreich beim Turnier abgemeldet','<a href="index.php?as=turnier&art='.$art.'">weiter...</a>'); return; } function displayDefault($user, $art){ if($art == 'klein'){ $turniername = 'Anfänger'; $races = getSpecialRaceIds(); $special_race_ids = array(); foreach($races as $race) { $special_race_ids[] = '\''.$race['id'].'\''; } // Char darf max lvl 25 haben und keine Fusion sein und auch keine Teufelsfrucht gegessen haben $special_clue = ' AND level<=25 AND fusion_rasse = \'0\' AND rasse NOT IN ('.implode(',',$special_race_ids).') AND frucht is null'; $fee = (TURNIER_ANFAENGER_GEBUEHR=='TURNIER_ANFAENGER_GEBUEHR')?0:TURNIER_ANFAENGER_GEBUEHR; } else if($art == 'wochen'){ $turniername = 'Wochen'; $fee = (TURNIER_WOCHEN_GEBUEHR=='TURNIER_WOCHEN_GEBUEHR')?0:TURNIER_WOCHEN_GEBUEHR; } else { displayErrorMessage(NULL,'Anzeigefehler!!','<a href="index.php">weiter...</a>'); return; } // sehr speziell und deswegen nicht getChar(); $sql = 'SELECT id, name FROM chars WHERE besitzer='.$user['id'].$special_clue; $char = db_query($sql); if(!$char) echo $sql; ?> <script type="text/javascript"> <!-- function disablebutton() { if(document.forms[0].elements['char_id'].value!=-1) document.forms[0].elements['submit'].disabled=false; else document.forms[0].elements['submit'].disabled=true; } --> </script> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get"> <input type="hidden" name="as" value="turnier"> <input type="hidden" name="charm" value="1"> <input type="hidden" name="art" value="<?php echo $art; ?>"> <table cellpadding="0" cellspacing="0" width="100%" height="25"> <!-- MSTableType="layout" --> <tr> <th colspan="2" align="center"><?php echo $turniername; ?>-Turnier Anmeldung</th> </tr> <tr> <th align="center">Anmeldegebühr</th> <td valign="top"> <?php echo $fee;?> </td> </tr> <tr> <th align="center">Charakter</th> <td valign="top"> <select id="input" name="char_id" onchange="disablebutton()"> <option value="-1">Kämpfer wählen</option> <?php while($row = mysql_fetch_assoc($char)) { $row['status'] = getStatus($row['id']); if($row['status'] != 'Frei') { $row['id'] = -1; } echo '<option value="'.$row['id'].'">'.$row['name'].'</option>'; } ?> </select> </td> </tr> <tr> <td> </td> <td><br><input id="input" name="submit" disabled="disabled" type="submit" value="Am Turnier anmelden"></td> </tr> </table><hr id="hrc"> <?php $char_ag = mysql_query('SELECT c.id as charid, c.name, t.charakter, u.nickname, u.id as userid FROM turnier1 t LEFT JOIN chars c ON(t.charakter=c.id) LEFT JOIN user u ON(t.besitzer=u.id) WHERE t.art=\''.$art.'\''); ?> <table cellpadding="0" cellspacing="0" width="388" height="0"> <!-- MSTableType="layout" --> <tr> <td valign="top" colspan="3" height="25"> <p align="center"><b>Turnier Member</b></td> </tr> <tr> <th valign="middle" align="center">Charakter</th> <th valign="middle" align="center">Trainer</th> <th valign="middle" align="center">Aktion</td> </tr> <?php while($row2 = mysql_fetch_assoc($char_ag)) { if($row2['userid'] == $user['id']) { $alo = '<a href="index.php?as=turnier&charm=2&char_id='.$row2['charakter'].'&art='.$art.'">Abmelden</a>'; } else { $alo = ' '; } ?> <tr> <td align="left"><?php echo displayCharLink($row2['charid'],$row2['name']); ?></td> <td align="left"><?php echo displayUserLink($row2['userid'],$row2['nickname']); ?></td> <td align="center"><?php echo $alo; ?></td> </tr> <?php } ?> </table> <?php } if($charm == 1){ anmelden($user_ida,$char_id,$art); } else if($charm == 2){ abmelden($user_ida, $char_id,$art); } else{ displayDefault($user_ida, $art); } ?>