Location: PHPKode > projects > Raidmaxx > b_admin.php
<?php
# raidmaxx / b_admin.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);
	}

#
# Prüfung ob Admin Rechte bestehen
#
$buffer_username = $_SESSION['username'];
$sql_query = "select admin from benutzer where name = '$buffer_username'";
$ergebnis = $datenbank -> query($sql_query);
$row = mysql_fetch_assoc($ergebnis);
mysql_free_result($ergebnis);
if ($row['admin']==0)
	{
	echo "<p align='center'><br><br><font color='red'>Sie sind kein Administrator - Zugang gesperrt ... !</font><br><br><a href='index.php?section=startseite'>Zur Anmeldung</a></p>";
	exit(0);
	}

#
# Seitenaktionen, je nach Menüauswahl / Formularaktion
#
if (isset($_GET['subaction']) )
	{
	switch($_GET['subaction'])
		{
		#
		#Benutzer zum freischalten / Passwort reset auswählen
		#
		case "b_reset": 
			?>
			<div align="center">
			<!-- Benutzer freischalten -->
			<form action="index.php?section=b_admin&subaction=b_reset_db_write" name="b_freischalten" method="post">
				<p>Benutzer ausw&auml;hlen:
				<?php
				$sql_query = "select id, name from benutzer where aktiv < \"1\" order by name";
				$ergebnis = $datenbank -> query($sql_query);
				if ((mysql_num_rows($ergebnis))=="0")
					{
					echo "Kein inaktiver Benutzer vorhanden ...";
					}
				else {
				?>
				<select size="1" name="user_id">
					<?php
					while ($row = mysql_fetch_assoc($ergebnis))
						{
						echo "<option value=\"" . $row['id'] ."\">" . $row['name'] . "</option>";
						}
					?>
					</select></p>
					<input type="submit" value="Benutzer freischalten">
					<?php
					}
					?>
			</form><br><br>
			<!-- Benutzerpasswort resetten -->
			<form action="index.php?section=b_admin&subaction=b_reset_db_write" name="b_pass_reset" method="post">
				<p>Benutzer ausw&auml;hlen:
				<select size="1" name="user_id">
					<?php
					$sql_query = "select id, name from benutzer order by name";
					$ergebnis = $datenbank -> query($sql_query);
					while ($row = mysql_fetch_assoc($ergebnis))
						{
						echo "<option value=\"" . $row['id'] ."\">" . $row['name'] . "</option>";
						}
					?>
				</select></p>
			  <input type="submit" value="Passwort resetten">
			</form>
			</div>
			<?php
		break;
		
		#
		#Benutzerpasswort resetten
		#
		case "b_reset_db_write": 
			$buffer_benutzer_id = $_POST['user_id'];
			
			#
			# Zufallspasswort erzeugen
			#
			function make_seed() 
				{
			    list($usec, $sec) = explode(' ', microtime());
			    return (float) $sec + ((float) $usec * 100000);
				}
			mt_srand(make_seed());

			$pass = "";
			$zeichen = "abcdefghijklmnopqrstuvwxyz".
			           "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

			for ($i=0; $i < 8; $i++) 
				$pass .= $zeichen[mt_rand(0,strlen($zeichen))];

			$md5_passwort = md5($pass);
			$sql_query = "update benutzer set passwort='$md5_passwort' where id = '$buffer_benutzer_id'";
			$ergebnis = $datenbank -> query($sql_query);
			echo "<p align=\"center\">Benutzerpasswort wurde auf <font color=\"red\"><b>" . $pass . "</b></font> zur&uuml;ck gesetzt.<br><br><font color=\"red\">Den Benutzer bitte entsprechend informieren !!</font></p>";
		break;
		
		#
		# Benutzer sperren / löschen
		#
		case "b_loeschen";
			echo "<p align=\"center\">Benutzer sperren / l&ouml;schen ... BETA Version, Funktion noch nicht implementiert !</p>";
		break;
		
		#
		# Benutzerdaten editieren
		#
		case "b_editieren";
			echo "<p align=\"center\">Benutzerdaten editieren ... BETA Version, Funktion noch nicht implementiert !</p>";
		break;
		}
	}
?>
<br><p align="center"><b>Benutzer Administration</b>
<ul>
<li><a href="index.php?section=b_admin&subaction=b_reset">Benutzer freischalten / Passwort zur&uuml;cksetzen</a></li>
<li><a href="index.php?section=b_admin&subaction=b_loeschen">Benutzer sperren / l&ouml;schen</a></li><br>
<li><a href="index.php?section=b_admin&subaction=b_editieren">Benutzerdaten editieren</a></li><br>
</ul>
Return current item: Raidmaxx