<?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;
} else if($art == 'wochenst') {
$fee = (TURNIER_WOCHENST_GEBUEHR=='TURNIER_WOCHENST_GEBUEHR')?0:TURNIER_WOCHENST_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 if($art == 'wochenst') {
$special_clue = 'AND fusion_rasse = \'0\'';
$anzahl = 64;
} 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 if($art == 'wochenst') {
$turniername = 'Wochen non-fusion';
$fee = (TURNIER_WOCHENST_GEBUEHR=='TURNIER_WOCHENST_GEBUEHR')?0:TURNIER_WOCHENST_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);
}
?>