<?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&auml;ngerturnier', $user['id'])  >= 2) {
		displayErrorMessage(NULL,'Du hast das Anf&auml;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&uuml;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&uuml;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('&Auml;nderungen &uuml;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('&Auml;nderungen &uuml;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&auml;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&uuml;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&auml;mpfer w&auml;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>&nbsp;</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 = '&nbsp;';
	}
?>
	<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);
}



?>