You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			329 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			329 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			PHP
		
	
<?php
 | 
						|
/*
 | 
						|
 *
 | 
						|
 * @copyright (c) 2009 animegame.eu
 | 
						|
 * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public Licence
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
include_once(ROOT_PATH.'/include/clan.inc.php');
 | 
						|
include_once(ROOT_PATH.'/include/fehlerausgabe.inc.php');
 | 
						|
include_once(ROOT_PATH.'/include/parse.inc.php');
 | 
						|
include_once(ROOT_PATH.'/include/char.inc.php');
 | 
						|
 | 
						|
//Get-Section
 | 
						|
if(isset($_GET['action'])) {
 | 
						|
	$action = $_GET['action'];
 | 
						|
} else {
 | 
						|
	$action = NULL;
 | 
						|
}
 | 
						|
$challangedclan_id = validateUnsignedInteger($_GET['challangedclan_id'], null);
 | 
						|
$inquirychallenge_clanid = validateUnsignedInteger($_GET['clanid'], null);
 | 
						|
$clan_challange_id = validateUnsignedInteger($_GET['challenge'], null);
 | 
						|
$char_id = validateUnsignedInteger($_GET['char'], null);
 | 
						|
 | 
						|
//unkritisch
 | 
						|
if($action == null) {
 | 
						|
	$action = $_POST['action'];
 | 
						|
}
 | 
						|
if($char_id == null) {
 | 
						|
	$char_id = validateUnsignedInteger($_POST['char'], null);
 | 
						|
}
 | 
						|
$slot = validateUnsignedInteger($_POST['slot'], null);
 | 
						|
if($clan_challange_id == null) {
 | 
						|
	$clan_challange_id = validateUnsignedInteger($_POST['challenge'], null);
 | 
						|
}
 | 
						|
 | 
						|
function displayChallengeClan($user, $clan_id) {
 | 
						|
	if($clan_id == -1 || $clan_id == NULL) {
 | 
						|
		displayErrorMessage(NULL,'Es wurde kein Clan ausgewählt!', displayHistoryBackLink());
 | 
						|
		exit;
 | 
						|
	}
 | 
						|
 | 
						|
	if($user['clan'] == $clan_id) {
 | 
						|
		displayErrorMessage(NULL,'Man kann sich nicht selbst herausfordern!', displayHistoryBackLink());
 | 
						|
		exit;
 | 
						|
	}
 | 
						|
	//TODO: es sollte hier unbedingt ne Auswahl geben wieviel Leute nun kämpfen dürfen :)
 | 
						|
	$result = challengeClan($user, $clan_id, 5);
 | 
						|
	if ($result != NULL) {
 | 
						|
		displayErrorMessage(NULL, $result, displayHistoryBackLink());
 | 
						|
		exit;
 | 
						|
	} else {
 | 
						|
		displayErrorMessage(NULL, 'Clan erfolgreich herausgefordert!', displayHistoryBackLink());
 | 
						|
		exit;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function displayChallengeAccepted($user, $clan_id) {
 | 
						|
	if(!is_numeric($clan_id)) {
 | 
						|
		displayErrorMessage(NULL, 'Wollte da jemand schummeln? ;)', displayHistoryBackLink());
 | 
						|
		exit;
 | 
						|
	}
 | 
						|
	acceptChallengeRequest($clan_id, $user);
 | 
						|
	echo 'Herausforderung wurde angenommen!<br><br>';
 | 
						|
	echo '<a href="index.php?as=clan/kampf_info">zurück</a>';
 | 
						|
}
 | 
						|
 | 
						|
function displayDenyChallenge($clan_id) {
 | 
						|
	if(!is_numeric($clan_id)) {
 | 
						|
		displayErrorMessage(NULL, 'Wollte da jemand schummeln? ;)', displayHistoryBackLink());
 | 
						|
		exit;
 | 
						|
	}
 | 
						|
	?>
 | 
						|
<table>
 | 
						|
	<tr>
 | 
						|
		<th colspan="2">Herausforderung wirklich ablehnen?</th>
 | 
						|
	</tr>
 | 
						|
	<tr>
 | 
						|
		<td align="center"><?php echo '<a href="index.php?as=clan/kampf_info&action=denychallenge&clanid='.$clan_id.'">ja</a>';?>
 | 
						|
		</td>
 | 
						|
		<td align="center"><?php echo '<a href="index.php?as=clan/kampf_info">nein</a>';?>
 | 
						|
		</td>
 | 
						|
	</tr>
 | 
						|
</table>
 | 
						|
	<?php
 | 
						|
}
 | 
						|
 | 
						|
function displayShowChallenge($clan_challenge_id, $user) {
 | 
						|
	$user_clan = getClan($user['clan']);
 | 
						|
	$open_challenge_ids = getOpenChallengeIDs($user_clan['id']);
 | 
						|
 | 
						|
	if(!in_array($clan_challenge_id, $open_challenge_ids)) {
 | 
						|
		displayErrorMessage(NULL, 'Wollte da jemand schummeln? ;)', displayHistoryBackLink());
 | 
						|
		exit;
 | 
						|
	}
 | 
						|
 | 
						|
	//initialisieren von wichtigen variablen
 | 
						|
	$participating_clan_ids = getParticipatingClanIDs($clan_challenge_id);
 | 
						|
	if($participating_clan_ids[0] != $user_clan['id']) {
 | 
						|
		$other_clan = getClan($participating_clan_ids[0]);
 | 
						|
	} else {
 | 
						|
		$other_clan = getClan($participating_clan_ids[1]);
 | 
						|
	}
 | 
						|
	$clan_challenge = getChallenge($clan_challenge_id);
 | 
						|
	$anzahl = $clan_challenge['anzahl_chars'];
 | 
						|
	$user_clan_chars = getParticipatingCharIDs($clan_challenge_id, $user_clan['id']);
 | 
						|
	$other_clan_chars = getParticipatingCharIDs($clan_challenge_id, $other_clan['id']);
 | 
						|
	$user_chars = getCharsOfUser($user['id']);
 | 
						|
	$slots = array();
 | 
						|
 | 
						|
	?>
 | 
						|
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
 | 
						|
	<input type="hidden" name="as" value=clan/kampf_info> <input
 | 
						|
		type="hidden" name="action" value="joinchallenge"> <input
 | 
						|
		type="hidden" name="challenge"
 | 
						|
		value="<?php echo $clan_challenge_id;?>">
 | 
						|
	<table>
 | 
						|
		<tr>
 | 
						|
			<th colspan="3"><?php echo $other_clan['clanname'];?></th>
 | 
						|
		</tr>
 | 
						|
		<?php
 | 
						|
		for ($i = 1; $i <= $anzahl; $i++) {
 | 
						|
			echo '<tr>';
 | 
						|
			echo '<td><b>Slot '.$i.'</b></td>';
 | 
						|
			if($other_clan_chars[$i] != null) {
 | 
						|
				echo '<td align="center">besetzt</td>';
 | 
						|
			} else {
 | 
						|
				echo '<td align="center">frei</td>';
 | 
						|
			}
 | 
						|
			echo '</tr>';
 | 
						|
		}
 | 
						|
		?>
 | 
						|
		<tr>
 | 
						|
			<th colspan="3"><?php echo $user_clan['clanname'];?></th>
 | 
						|
		</tr>
 | 
						|
		<?php
 | 
						|
		for ($i = 1; $i <= $anzahl; $i++) {
 | 
						|
			echo '<tr>';
 | 
						|
			echo '<td><b>Slot '.$i.'</b></td>';
 | 
						|
			if($user_clan_chars[$i] != null) {
 | 
						|
				$char = getChar($user_clan_chars[$i]);
 | 
						|
				echo '<td align="center">'.$char['name'].'</td>';
 | 
						|
				if(isUserOwnerOf($user['id'], $char['id'])) {
 | 
						|
					echo '<td align="center"><a href="index.php?as=clan/kampf_info&action=leavechallenge&challenge='.$clan_challenge_id.'&char='.$char['id'].'">abmelden</a></td>';
 | 
						|
				}
 | 
						|
			} else {
 | 
						|
				echo '<td align="center">frei</td>';
 | 
						|
				$slots[] = $i;
 | 
						|
			}
 | 
						|
			echo '</tr>';
 | 
						|
		}
 | 
						|
		?>
 | 
						|
		<tr>
 | 
						|
			<th colspan="3">Teilnahme</th>
 | 
						|
		</tr>
 | 
						|
 | 
						|
		<tr>
 | 
						|
			<td><b>Charakter:</b></td>
 | 
						|
			<td align="center"><select id="input" name="char">
 | 
						|
					<option value="-1">Charakter auswählen</option>
 | 
						|
					<?php
 | 
						|
					foreach($user_chars as $char){
 | 
						|
						echo '<option value="'.$char['id'].'">'.$char['name'].'</option>';
 | 
						|
					}
 | 
						|
					?>
 | 
						|
			</select>
 | 
						|
			</td>
 | 
						|
		</tr>
 | 
						|
		<tr>
 | 
						|
			<td><b>Slot:</b></td>
 | 
						|
			<td align="center"><select id="input" name="slot">
 | 
						|
					<option value="-1">Slot auswählen</option>
 | 
						|
					<?php
 | 
						|
					foreach($slots as $slot){
 | 
						|
						echo '<option value="'.$slot.'">'.$slot.'</option>';
 | 
						|
					}
 | 
						|
					?>
 | 
						|
			</select>
 | 
						|
			</td>
 | 
						|
		</tr>
 | 
						|
		<tr>
 | 
						|
			<td align="center" colspan="3"><input id="input" type=submit
 | 
						|
				value='anmelden'></td>
 | 
						|
		</tr>
 | 
						|
		<tr>
 | 
						|
			<td align="center" colspan="3"><?php echo '<a href="index.php?as=clan/kampf_info">zurück</a>';?>
 | 
						|
			</td>
 | 
						|
		</tr>
 | 
						|
	</table>
 | 
						|
</form>
 | 
						|
					<?php
 | 
						|
}
 | 
						|
 | 
						|
function displayJoinChallenge($user, $clan_challenge_id, $char_id, $slot) {
 | 
						|
	$success = joinChallenge($clan_challenge_id, $user, $char_id, $slot);
 | 
						|
	if($success != null) {
 | 
						|
		displayErrorMessage(NULL, $success, displayHistoryBackLink());
 | 
						|
		exit;
 | 
						|
	} else {
 | 
						|
		echo 'Der Charakter wurde erfoglreich angemeldet.<br><br>';
 | 
						|
		echo '<a href="index.php?as=clan/kampf_info">zurück</a>';
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function displayLeaveChallenge($user, $clan_challenge_id, $char_id) {
 | 
						|
	$user_clan = getClan($user['clan']);
 | 
						|
	$open_challenge_ids = getOpenChallengeIDs($user_clan['id']);
 | 
						|
 | 
						|
	if(!in_array($clan_challenge_id, $open_challenge_ids)) {
 | 
						|
		displayErrorMessage(NULL, 'Wollte da jemand schummeln? ;)', displayHistoryBackLink());
 | 
						|
		exit;
 | 
						|
	}
 | 
						|
 | 
						|
	$success = leaveChallenge($clan_challenge_id, $user, $char_id);
 | 
						|
	if($success != null) {
 | 
						|
		displayErrorMessage(NULL, $success, displayHistoryBackLink());
 | 
						|
		exit;
 | 
						|
	} else {
 | 
						|
		echo 'Der Charakter wurde erfoglreich abgemeldet.<br><br>';
 | 
						|
		echo '<a href="index.php?as=clan/kampf_info">zurück</a>';
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function getFightType($id) {
 | 
						|
	switch ($id) {
 | 
						|
		case DAVY_BACK_FIGHT:
 | 
						|
			return 'Davy Back';
 | 
						|
		case SURVIVAL:
 | 
						|
			return 'Survival';
 | 
						|
		default:
 | 
						|
			return 'unbekannt';
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function displayClanFightMenu($user) {
 | 
						|
	$user_clan = getClan($user['clan']);
 | 
						|
	$clans_tmp = getClanFightCapableClanIds();
 | 
						|
	foreach ($clans_tmp as $clan_tmp_id) {
 | 
						|
		if($user['clan'] != $clan_tmp_id) {
 | 
						|
			$clans[] = getClan($clan_tmp_id);
 | 
						|
		}
 | 
						|
	}
 | 
						|
	$open_challenge_requests = getOpenChallengeRequests($user_clan['id']);
 | 
						|
	$open_challenge_ids = getOpenChallengeIDs($user_clan['id']);
 | 
						|
	?>
 | 
						|
<div align="center">
 | 
						|
	<table width="100%" border="1">
 | 
						|
		<tr>
 | 
						|
			<th height="30" colspan="2" align="center">Herausforderungen</th>
 | 
						|
		</tr>
 | 
						|
		<tr>
 | 
						|
			<th align="Left" height="25">Clan herausfordern</th>
 | 
						|
			<td>
 | 
						|
				<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
 | 
						|
					<input type="hidden" name="as" value="clan/kampf_info"> <input
 | 
						|
						type="hidden" name="action" value="challengeclan"> <select
 | 
						|
						id="input" name="challangedclan_id">
 | 
						|
						<option value="-1">Clan auswählen</option>
 | 
						|
						<?php
 | 
						|
						foreach($clans as $c) {
 | 
						|
							echo '<option value="'.$c['id'].'">'.$c['clanname'].'</option>';
 | 
						|
						}
 | 
						|
						?>
 | 
						|
					</select> <input class="input" type="submit" value="herausfordern" />
 | 
						|
				</form>
 | 
						|
			</td>
 | 
						|
		</tr>
 | 
						|
		<tr>
 | 
						|
			<td colspan="3">
 | 
						|
				<table width="100%" border="1">
 | 
						|
					<tr>
 | 
						|
						<th align="center" height="25">Herausforderer</th>
 | 
						|
						<th align="center" height="25">Datum</th>
 | 
						|
						<th align="center" height="25">Typ</th>
 | 
						|
						<th align="center" height="25">Anzahl</th>
 | 
						|
						<th align="center" height="25">Option</th>
 | 
						|
					</tr>
 | 
						|
					<?php
 | 
						|
					foreach ($open_challenge_requests as $challenge) {
 | 
						|
						$clan = getClan($challenge['clan_requester']);
 | 
						|
						echo '<tr><td align ="center">'.$clan['clanname'].'</td><td align ="center">'.formatTimestamp($challenge['challenged_time']).'</td>';
 | 
						|
						echo '<td align ="center">'.getFightType($challenge['type']).'</td><td align ="center">'.$challenge['anzahl_chars'].'</td>';
 | 
						|
						echo '<td align ="center"><a href="index.php?as=clan/kampf_info&action=acceptchallenge&clanid='.$clan['id'].'">annehmen</a> |';
 | 
						|
						echo '<a href="index.php?as=clan/kampf_info&action=q_denychallenge&clanid='.$clan['id'].'">ablehnen</a></td></tr>';
 | 
						|
					}
 | 
						|
					?>
 | 
						|
				</table>
 | 
						|
			</td>
 | 
						|
		</tr>
 | 
						|
		<tr>
 | 
						|
			<th height="30" colspan="2" align="center">offene Herausforderungen</th>
 | 
						|
		</tr>
 | 
						|
		<?php
 | 
						|
		foreach ($open_challenge_ids as $oci) {
 | 
						|
			$participating_clan_ids = getParticipatingClanIDs($oci);
 | 
						|
			foreach ($participating_clan_ids as $pci)
 | 
						|
			if($pci != $user_clan['id']) {
 | 
						|
				$challenged_clan = getClan($pci);
 | 
						|
				echo '<tr>';
 | 
						|
				echo '<td> '.$challenged_clan['clanname'].'</td>';
 | 
						|
				echo '<td align="center"><a href="index.php?as=clan/kampf_info&action=showchallenge&challenge='.$oci.'">'.anzeigen.'</a></td>';
 | 
						|
				echo '</tr>';
 | 
						|
			}
 | 
						|
		}
 | 
						|
		?>
 | 
						|
	</table>
 | 
						|
</div>
 | 
						|
		<?php
 | 
						|
}
 | 
						|
 | 
						|
if($action == 'challengeclan') {
 | 
						|
	displayChallengeClan($user_ida, $challangedclan_id);
 | 
						|
} else if($action == 'acceptchallenge') {
 | 
						|
	displayChallengeAccepted($user_ida, $inquirychallenge_clanid);
 | 
						|
} else if($action == 'q_denychallenge') {
 | 
						|
	displayDenyChallenge($inquirychallenge_clanid);
 | 
						|
} else if($action == 'denychallenge') {
 | 
						|
	denyChallengeRequest($inquirychallenge_clanid, $user_ida);
 | 
						|
	displayClanFightMenu($user_ida);
 | 
						|
} else if($action == 'showchallenge') {
 | 
						|
	displayShowChallenge($clan_challange_id, $user_ida);
 | 
						|
} else if($action == 'joinchallenge') {
 | 
						|
	displayJoinChallenge($user_ida, $clan_challange_id, $char_id, $slot);
 | 
						|
} else if($action == 'leavechallenge') {
 | 
						|
	displayLeaveChallenge($user_ida, $clan_challange_id, $char_id);
 | 
						|
} else if ($action == NULL) {
 | 
						|
	displayClanFightMenu($user_ida);
 | 
						|
}
 | 
						|
?>
 |