Location: PHPKode > projects > Raidmaxx > raid.php
<?php
# raidmaxx / raid.php
# Created on 27.03.2008
# Sven Neidahl
# http://www.neidahl.de

#
# Anmeldeüberprüfung
#
if (!$_SESSION['username'])
	{
	echo "<p align='center'><br><br><font color='red'>Nicht genehmigter Seitenaufruf ... !</font><br><br><a href='index.php?section=startseite'>Zur Anmeldung</a></p>";
	exit(0);
	}
echo "<br><p align=\"center\"><b>Raidmanagement</b><br><br>";
#
# Seitenaktionen, je nach Menüauswahl / Formularaktion
#
if (isset($_GET['subaction']) )
	{
	switch($_GET['subaction'])
		{
		#
		# Anstehende Raids anzeigen
		#
		case "r_anzeigen":
			echo "<div align=\"center\">";
			echo "<b>Aktuell anstehende Raids:</b><br><br>";
			$ergebnis = $datenbank -> query("select instanz, startdatum, startzeit, endzeit from termine order by startdatum");
			$datenbank -> open;
			echo "<table width='90%' align='center' style='border: 1px solid;'><tr><td><table border='0'>";
			while ($row = mysql_fetch_array($ergebnis, MYSQL_ASSOC))
				{
				echo "<tr><td>" . $row['instanz'] . "</td><td> am </td><td>" . datum_wandeln($row['startdatum']) . "</td><td> von </td><td>" . datum_wandeln($row['startzeit']) . "</td><td>Uhr  bis </td><td>" . datum_wandeln($row['endzeit']) . " Uhr</td></tr>";
				}
			if ((mysql_num_rows($ergebnis))=="0")
				{
				echo "<tr><td>Derzeit keine anstehenden Termine</td></tr>";
				}
			$datenbank -> close;
			echo "</table></td></tr></table>";
			echo "<br><br><br></div>";
		break;
		
		#
		# Teilnehmer von Raids anzeigen - Raidauswahl
		#
		case "t_anzeigen":
			echo "<p align=\"center\"><b>Raidteilnehmer anzeigen:</b></p><br><br>";
			$ergebnis = $datenbank -> query("select id, instanz, startdatum, startzeit, endzeit from termine order by startdatum");
			echo "<form name=\"Teilnehmer anzeigen\" action=\"index.php?section=raid&subaction=t_anzeigen_detail\" method=\"post\">";
			while ($row = mysql_fetch_array($ergebnis, MYSQL_ASSOC))
				{
				echo "<input type=\"radio\" name=\"termin_id\" value=\"" . $row['id'] . "\">";
				echo $row['instanz'] . " am " . datum_wandeln($row['startdatum']) . " von " . datum_wandeln($row['startzeit']) . "Uhr  bis " . datum_wandeln($row['endzeit']) . " Uhr<br>";
				}
			if ((mysql_num_rows($ergebnis))=="0")
				{
				echo "Derzeit keine anstehenden Termine";
				}
			echo "<p align=\"center\"><input type=\"submit\" value=\"Raid w&auml;hlen\"></p></form><br><br>";
		break;
		
		#
		# Teilnehmer von Raids anzeigen - Detailanzeige
		#
		case "t_anzeigen_detail":
			$buffer_termin_id = $_POST['termin_id'];
			$buffer_username = $_SESSION['username'];
			$sql_query = "select char_name from userzuordnung where termin_id = '$buffer_termin_id'";
			$ergebnis = $datenbank -> query($sql_query);
			echo "<table width='90%' align='center' style='border: 1px solid;'><tr><td><table border='0' align='center'>";
			echo "<tr><td> <b>Name</b> </td><td></td><td> <b>Klasse</b> </td><td></td><td> <b>Rasse</b> </td><td> <b>Level</b> </td></tr>";
			echo "<tr><td> &nbsp; </td><td></td><td> &nbsp; </td><td></td><td> &nbsp; </td><td> &nbsp; </td></tr>";
			while ($row = mysql_fetch_assoc($ergebnis))
				{
				$buffer_char_name = $row['char_name'];
				$sql_query = "select level, klasse, rasse from chars where name = '$buffer_char_name' limit 1";
				$ergebnis_chars = $datenbank -> query($sql_query);
				$row_detail = mysql_fetch_assoc($ergebnis_chars);
				switch ($row_detail['klasse'])
					{
					case "1": $klassenicon="<div align=\"center\"><img src='bilder/icons/magier.gif' align='absmiddle' alt='Magier'></div>"; break;
					case "2": $klassenicon="<div align=\"center\"><img src='bilder/icons/druide.gif' align='absmiddle' alt='Druide'></div>"; break;
					case "3": $klassenicon="<div align=\"center\"><img src='bilder/icons/hexenmeister.gif' align='absmiddle' alt='Hexenmeister'></div>"; break;
					case "4": $klassenicon="<div align=\"center\"><img src='bilder/icons/krieger.gif' align='absmiddle' alt='Krieger'></div>"; break;
					case "5": $klassenicon="<div align=\"center\"><img src='bilder/icons/hunter.gif' align='absmiddle' alt='J&auml;ger'></div>"; break;
					case "6": $klassenicon="<div align=\"center\"><img src='bilder/icons/paladin.gif' align='absmiddle' alt='Paladin'></div>"; break;
					case "7": $klassenicon="<div align=\"center\"><img src='bilder/icons/priester.gif' align='absmiddle' alt='Priester'></div>"; break;
					case "8": $klassenicon="<div align=\"center\"><img src='bilder/icons/schamane.gif' align='absmiddle' alt='Schamane'></div>"; break;
					case "9": $klassenicon="<div align=\"center\"><img src='bilder/icons/schurke.gif' align='absmiddle' alt='Schurke'></div>"; break;
					}
					echo "<tr><td align=\"center\">" . $buffer_char_name . "</td><td align=\"center\"></td><td align=\"center\">" . $klassenicon . "</td><td></td><td align=\"center\">" . $row_detail['rasse'] . "</td><td align=\"center\">" . $row_detail['level'] . "</td></tr>";
				}
			if (mysql_num_rows($ergebnis) == 0)
				{
				echo "</table></td></tr></table><br>Keine angemeldeten Benutzer f&uuml;r diesen Raid";
				}
			else {
				echo "</table></td></tr></table>";
				}
		break;
		
		#
		# An Raids anmelden / abmelden ( Terminauswahl )
		#
		case "anmelden":
			echo "<p align=\"center\"><b>Raidanmeldung eintragen:</b></p><br><br>";
			$sql_query = "select id, instanz, startdatum, startzeit, endzeit from termine order by startdatum";
			$ergebnis = $datenbank -> query($sql_query);
			echo "<form name=\"raid_anmelden\" action=\"index.php?section=raid&subaction=anmelden_userauswahl\" method=\"post\">";
			while ($row = mysql_fetch_assoc($ergebnis))
				{
				echo "<input type=\"radio\" name=\"termin_id\" value=\"" . $row['id'] . "\">";
				echo $row['instanz'] . " am " . datum_wandeln($row['startdatum']) . " von " . datum_wandeln($row['startzeit']) . "Uhr  bis " . datum_wandeln($row['endzeit']) . " Uhr<br>";
				}
			if ((mysql_num_rows($ergebnis))=="0")
				{
				echo "Derzeit keine anstehenden Termine";
				}
			echo "<p align=\"center\"><input type=\"submit\" value=\"Raid w&auml;hlen\"></p>";
			echo "</form><br><br>";
		break;
		
		#
		# An Raids anmelden / abmelden ( Charakterauswahl )
		#
		case "anmelden_userauswahl":
			$buffer_termin_id = $_POST['termin_id'];
			$buffer_username = $_SESSION['username'];
			$sql_query = "select id from benutzer where name like '$buffer_username'";
			$ergebnis = $datenbank -> query($sql_query);
			$row = mysql_fetch_assoc($ergebnis);
			$buffer_benutzer_id = $row['id'];
			#
			# Hat der User bereits einen Char an diesem Raid angemeldet ?
			#
			$sql_query = "select char_name from userzuordnung where benutzer_id = '$buffer_benutzer_id' and termin_id = '$buffer_termin_id'";
			$ergebnis = $datenbank -> query($sql_query);
			$row_char = mysql_num_rows($ergebnis);
			if ($row_char >= 1)
				{
				echo "Bereits ein Char für diesen Raid eingetragen !";
				}
			else {
				#
				# Der BenutzerID zugeordnete Chars finden und auflisten
				#
				$sql_query = "select name from chars where benutzer_id = ( select id from benutzer where name like '$buffer_username' )";
				$ergebnis = $datenbank -> query($sql_query);
				echo "<form name=\"user_anmelden\" action=\"index.php?section=raid&subaction=anmelden_db_write\" method=\"post\">";
				echo "<p align=\"center\">";
				while ($row_user_name = mysql_fetch_assoc($ergebnis))
					{
					echo "<input type=\"radio\" name=\"char_name\" value=\"" . $row_user_name['name'] . "\">";
					echo $row_user_name['name'] . "<br>";
					}
				if ((mysql_num_rows($ergebnis))=="0")
					{
					echo "<p align=\"center\">Es ist kein Charakter eingetragen, somit keine Anmeldung m&ouml;glich<br>Bitte einen <a href=\"index.php?section=char\">Charakter anlegen / zuordnen</a> !!</p><br><br>";
					}
				else {
					echo "<input type=\"hidden\" name=\"termin_id\" value=\"" . $buffer_termin_id . "\"><br>";
					echo "<input type=\"submit\" value=\"Charakter w&auml;hlen\"></p>";
					}
				echo "</form>";
				}
		break;
		
		#
		# An Raids anmelden / abmelden ( eintragen in DB )
		#
		case "anmelden_db_write":
			$buffer_termin_id = $_POST['termin_id'];
			$buffer_char_name = $_POST['char_name'];
			#
			# BenutzerID zuordnen
			#
			$sql_query_benutzer_id = "select benutzer_id from chars where name = '$buffer_char_name'";
			$sql_query_benutzer_id;
			$ergebnis_benutzer_id = $datenbank -> query($sql_query_benutzer_id);
			$row_benutzer_id = mysql_fetch_assoc($ergebnis_benutzer_id);
			$buffer_benutzer_id = $row_benutzer_id['benutzer_id'];
			#
			# Daten in DB schreiben
			#
			$sql_query_insert = "insert into userzuordnung ( char_name, termin_id, benutzer_id ) values ( '$buffer_char_name', '$buffer_termin_id', '$buffer_benutzer_id')";
			$ergebnis = $datenbank -> query($sql_query_insert);
			echo "<p align=\"center\">Raid-Teilnahme wurde beantragt. Eine definitive Eintragung erfolgt durch die Administratoren.</p>";
		break;
		
		#
		# Anmerkung zu Raids an Administratoren senden
		#
		case "anmerkung":
			echo "<p align=\"center\">Anmerkung zu Raids an Administratoren senden ... BETA Version, Funktion noch nicht implementiert !</p>";
		break;
		}
	}
?>
<ul>
<li><a href="index.php?section=raid&subaction=anmelden">An Raids anmelden / abmelden</a></li>
</ul>
<ul>
<li><a href="index.php?section=raid&subaction=r_anzeigen">Anstehende Raids anzeigen</a></li>
<li><a href="index.php?section=raid&subaction=t_anzeigen">Teilnehmer anzeigen</a></li>
</ul>
<ul>
<li><a href="index.php?section=raid&subaction=anmerkung">Anmerkung zu Raids an Administratoren senden</a></li>
</ul>
Return current item: Raidmaxx