<?php
include( "menu.inc" );
include( "func.inc" );
include( "mnum.inc" );

#### select proj_id by project name (=titlabb) #######################
function get_proj_id( $pj_name ){
	if( !$id = mysql_query( "select proj_id	from metatext
		where titlabb = '$pj_name'" )) {
		echo "Error No. 21: ".mysql_errno().": ".mysql_error();
		return FALSE;
	}
	if( !$row = mysql_fetch_array( $id )){
		echo "Error No. 22: no rows selected";
		return FALSE;
	}
	return $row[ "proj_id" ];
}

#### add a new project to a given member #############################
function add_proj( $pid, $mid ){
	global $fn, $ln, $e, $titlabb, $domain, $fqdomain;
	if( empty( $pid ) || empty( $mid )){
		echo "Empty values pid='$pid', mid='$mid'";
		return FALSE;
	}
	if( !mysql_query( "insert into projmemb values( $pid, $mid )" )){
		echo "Error No. 31: ".mysql_errno().": ".mysql_error();
		return FALSE;
	}
	update_member_num( $pid );
	$t1 = "Hallo $fn $ln,\n\nDu wurdest im Projekt '$titlabb' ";
	$t1 .= "neu eingetragen.\nDie Homepage des Projektes ist\n\n";
	$t1 .= "   http://$fqdomain/proj/".strtolower( $titlabb );
	$t1 .= "/\n\nAuf der Seite des aktuellen Textes des Projektes ";
	$t1 .= "findest\nDu einen Login-Button ueber den Du Dich ";
	$t1 .= "anmelden kannst.\nWenn Du ";
	$t1 .= "angemeldet bist, kannst Du den Text kommentieren.\n";
	$t1 .= "Die Adresse der Mailingliste lautet:\n\n";
	$t1 .= "   Projekt $titlabb <proj".fill( $pid, 4 )."@$domain>\n\n";
	$t1 .= "Du kannst Dich aus dem Projekt austragen ueber die ";
	$t1 .= "Seite\n\n   http://$fqdomain/member.phtml#ml\n\nViel ";
	$t1 .= "Spass weiterhin mit OpenTheory!";
	$t2 = "From: webmaster@$domain\nReply-To: ";
	$t2 .= "webmaster@$domain\nX-Mailer: PHP/".phpversion();
	mail( $e, "Eintrag im Projekt '$titlabb'", $t1, $t2 );
	return TRUE;
}

#### remove project from given member ################################
function remove_proj( $pid, $mid ){
	global $fn, $ln, $e, $titlabb, $domain, $fqdomain;
	if( empty( $pid ) || empty( $mid )){
		echo "Empty values pid='$pid', mid='$mid'";
		return FALSE;
	}
	if( !mysql_query( "delete from projmemb 
		where proj_id = $pid and memb_id = $mid" )){
		echo "Error No. 32: ".mysql_errno().": ".mysql_error();
		return FALSE;
	}
	update_member_num( $pid );
	$t1 = "Hallo $fn $ln,\n\nDu wurdest aus dem Projekt '$titlabb' ";
	$t1 .= "ausgetragen.\nDu wirst keine E-Mails des Projektes mehr ";
	$t1 .= "erhalten\nund kannst die Textes des Projektes nur ";
	$t1 .= "noch lesen,\nnicht aber mehr kommentieren. ";
	$t1 .= "Du kannst Dich\n(wieder) in ein Projekt eintragen ueber die ";
	$t1 .= "Seite\n\n   http://$fqdomain/member.phtml#ml\n\nViel ";
	$t1 .= "Spass weiterhin mit OpenTheory!";
	$t2 = "From: webmaster@$domain\nReply-To: ";
	$t2 .= "webmaster@$domain\nX-Mailer: PHP/".phpversion();
	mail( $e, "Austrag aus dem Projekt '$titlabb'", $t1, $t2 );
	return TRUE;
}

#### check if member exists by email #################################
function member_exists( $e, &$m_id, &$fname, &$lname, &$subscr ){
	if( empty( $e )) return FALSE;
	if( !$id = mysql_query( "select memb_id, first_n, last_n, subscr
		from member where email = '$e'" )) {
		echo "Error No. 33: ".mysql_errno().": ".mysql_error();
		exit;
	}
	if( $row = mysql_fetch_array( $id )){
		$m_id = $row[ "memb_id" ];
		$fname = $row[ "first_n" ];
		$lname = $row[ "last_n" ];
		$dt = dt_de( $row[ "subscr" ]);
		return TRUE;
	}
	return FALSE;
}

#### MAIN ############################################################

# open and select local database
if( !open_db()) exit;

if( !empty( $e ) && ( $action == "new_pw" )){

	if( member_exists( $e, $m_id, $fn, $ln, $dt )){
		if( !$id = mysql_query( "select passwd from member
			where memb_id = $m_id" )) {
				echo "Error No. 21: ".mysql_errno().": ".mysql_error();
				exit;
		}
		if( !$row = mysql_fetch_array( $id )){
				echo "Error No. 22: no rows selected";
				exit;
		}
		$wd = $row[ "passwd" ];
		$t1 = "Hallo $fn $ln,\n\nfuer Deine E-Mail-Adresse ist ein ";
		$t1 .= "neues Passwort\nangefordert worden - hoffentlich ";
		$t1 .= "von Dir selbst!\n\nMit folgendem Passwort kannst ";
		$t1 .= "Du Dich anmelden:\n\n$wd\n\nBitte aendere das ";
		$t1 .= "Passwort so bald wie moeglich.\nGehe dafuer auf die ";
		$t1 .= "Seite\n   http://$fqdomain/member.phtml#ml\n\nViel ";
		$t1 .= "Spass weiterhin mit OpenTheory!";
		$t2 = "From: webmaster@$domain\nReply-To: ";
		$t2 .= "webmaster@$domain\nX-Mailer: PHP/".phpversion();
		mail( $e, "OpenTheory - Zugang", $t1, $t2 );
		#echo $t1."<br><br>".$t2;
		$res = "new_pw_sent";
	}
	else{
		$res = "new_pw_no_member";
	}
}

elseif( empty( $e ) || empty( $wd )){

	$res = "email_pw_empty";
}

elseif( !check_email( $e )){

	$res = "email_wrong_fmt";
}

elseif( $action == "chg_save" ){

	if( !empty( $fn ) && !empty( $ln ) && !empty( $e ) && !empty( $wd )){

		$query = "update member set ";

		check_pw( $e, $wd, $m_id2, $fname, $lname );

		# email and password not changed, but fn or ln changed
		if(( $m_id == $m_id2 ) && 
			(( $fn != fname ) || ( $ln == $lname ))){ 
			$query .= "first_n = '$fn', last_n = '$ln'";
		}

		# email changed to free address?
		else{
			member_exists( $e, $m_id2, $fname, $lname, $dt );

			# password has changed
			if( $m_id == $m_id2 ){
				$query .= "passwd = '$wd'";
				$action = "chg_pw_save";
			}

			# email and password both have changed (maybe names)
			elseif( $m_id2 == 0 ){
				$query .= "first_n = '$fn', last_n = '$ln', ";
				$query .= "email = '$e', passwd = '$wd'";
				$res = "email_changed";
			}

			# a member already exists
			else{
				$res = "member_exists";
			}
		}

		if( $res != "member_exists" ){
			if( $newdate ){
				$query .= ", subscr = now()";
				$dt = date( "d.m.Y" );
			}
			if( !mysql_query( $query." where memb_id = $m_id" )) {
				echo "Error No. 1: ".mysql_errno().": ".mysql_error();
				exit;
			}
			if( $res = "email_changed" ){
				$t1 = "Hallo $fn $ln,\n\nDeine E-Mail-Adresse wurde im ";
				$t1 .= "OpenTheory-Projekt\neingetragen - hoffentlich ";
				$t1 .= "von Dir selbst!\n\nMit folgendem Passwort kannst ";
				$t1 .= "Du Dich anmelden:\n\n$wd\n\nBitte aendere das ";
				$t1 .= "Passwort so bald wie moeglich.\nGehe dafuer auf die ";
				$t1 .= "Seite\n\n   http://$fqdomain/member.phtml#ml\n\n";
				$t1 .= "Viel Spass weiterhin mit OpenTheory!";
				$t2 = "From: webmaster@$domain\nReply-To: ";
				$t2 .= "webmaster@$domain\nX-Mailer: PHP/".phpversion();
				mail( $e, "Willkommen bei OpenTheory!", $t1, $t2 );
			} else {
				$res = "curr_ok";
			}
		}
	}
	elseif( empty( $fn ) || empty( $ln )){
		$res = "new_err_names";
	}
	elseif( empty( $e ) || empty( $wd )){
		$res = "pw_wrong";
	}
}

elseif( $action == "goodbye" ){

	$res = 'goodbye';
	if( !check_pw( $e, $wd, $m_id, $fn, $ln )){ 
		$res = "pw_wrong";
	}
	else {
		$t1 = '';
		if( !$id = mysql_query( "select proj_id from projmemb 
			where memb_id = $m_id" )) {
			echo "Error No. 201: ".mysql_errno().": ".mysql_error();
			exit;
		}
		if( mysql_fetch_row( $id )) $res = "yet_memb";
	}
	if( $res == 'goodbye' ){
		if( !mysql_query( "delete from member where memb_id = $m_id" )){
			echo "Error No. 202: ".mysql_errno().": ".mysql_error();
			exit;
		}
	}
}

else{

	# check whether member already exists
	if( !$id = mysql_query( "select memb_id, first_n, last_n, subscr
		from member where email = '$e'" )) {
		echo "Error No. 2: ".mysql_errno().": ".mysql_error();
		exit;
	}

	# insert new member if not already exists
	if( !$row = mysql_fetch_array( $id )){

		# insert only if a project is selected
		if( $pj == $s_new ){
			$res = "pj_missed";
		}

		# check whether both names are filled
		elseif( !empty( $fn ) && !empty( $ln )){

			# insert new member
			if( !mysql_query( "insert into member( 
				last_n, first_n, email, passwd, subscr)
				values( '$ln', '$fn', '$e', '$wd', now())" )){
				echo "Error No. 3: ".mysql_errno().": ".mysql_error();
				exit;
			}
			$t1 = "Hallo $fn $ln,\n\nDeine E-Mail-Adresse wurde im  ";
			$t1 .= "OpenTheory-Projekt\neingetragen - hoffentlich ";
			$t1 .= "von Dir selbst!\n\nDu hast Dir selbst ein Passwort ";
			$t1 .= "gegeben. Wenn Du\nes vergisst, besuche die Seite\n\n";
			$t1 .= "   http://$fqdomain/member.phtml#ml\n\nViel ";
			$t1 .= "Spass weiterhin mit OpenTheory!";
			$t2 = "From: webmaster@$domain\nReply-To: ";
			$t2 .= "webmaster@$domain\nX-Mailer: PHP/".phpversion();
			mail( $e, "Willkommen bei OpenTheory!", $t1, $t2 );

			# select memb_id from new inserted member
			if( !$id = mysql_query( "select memb_id, subscr
				from member where email = '$e'" )) {
				echo "Error No. 4: ".mysql_errno().": ".mysql_error();
				exit;
			}
			if( !$row = mysql_fetch_array( $id )){
				echo "Error No. 5: no rows selected";
				exit;
			}
			$m_id = $row[ "memb_id" ];
			$dt = dt_de( $row[ "subscr" ]);
			$titlabb = substr( $pj, 0, strpos( $pj, ":" ));
			if( !$p_id = get_proj_id( $titlabb )) exit;

			# add new project to new member
			if( !add_proj( $p_id, $m_id )) exit;
			$res = "new_inserted";
			$action = "insnew";
		}
		else{
			$res = "new_err_names";
		}
	}

	# check password
	elseif( !check_pw( $e, $wd, $m_id, $fname, $lname )){ 
		$res = "pw_wrong";
	}

	# login correct, compare names of existing member
	else{
		$m_id = $row[ "memb_id" ];
		$fname = $row[ "first_n" ];
		$lname = $row[ "last_n" ];
		$dt = dt_de( $row[ "subscr" ]);

		# both first and last name are empty: ok - OR
		# both first and last name are filled and equal: nothing to do
		if(( empty( $fn ) && empty( $ln )) ||
			(( $fn == $fname ) && ( $ln == $lname ))){
			$fn = $fname;
			$ln = $lname;
			$res = "curr_ok";
		}

		# first or last are empty: not ok, but not changed
		elseif( empty( $fn ) || empty( $ln )){
			$res = "curr_not_changed";
		}

		# both first and last name are filled and not equal
		elseif(( $fn != $fname ) || ( $ln != $lname )){
			if( mysql_query( "update member set
				first_n = $fname, last_n = $lname
				where memb_id = $m_id" )) {
				echo "Error No. 6: ".mysql_errno().": ".mysql_error();
				exit;
			}
			$fn = $fname;
			$ln = $lname;
			$res = "curr_updated";
		}

		# add member to project if project selected
		if( $pj != $s_new ){

			# check whether already in selected project
			$titlabb = substr( $pj, 0, strpos( $pj, ":" ));
			if( !$id = mysql_query( "select metatext.memb_id
				from metatext, projmemb
				where metatext.proj_id = projmemb.proj_id
				and projmemb.memb_id = $m_id
				and titlabb = '$titlabb'" )) {
				echo "Error No. 7: ".mysql_errno().": ".mysql_error();
				exit;
			}

			# add member to project, otherwise delete
			$is_in_proj = mysql_fetch_row( $id );

			# select proj_id
			if( !$p_id = get_proj_id( $titlabb )) exit;

			if( $is_in_proj && ( $action == "del" )){

				# member is not the maintainer?
				if( $is_in_proj[ 0 ] != $m_id ){
					# remove project from member
					if( !remove_proj( $p_id, $m_id )) exit;
				}
				else {
					$res = "is_maintainer";
				}
			}
			elseif( !$is_in_proj ) {

				# add new project to new member
				if( !add_proj( $p_id, $m_id )) exit;
				if( $action == "new" ) $action = "insnew";
			}
		}
	}
}

switch( $res ){

case "pw_wrong":
case "email_wrong_fmt":

	head( "Oops, da stimmt was nicht!" );
	echo "<font face='Verdana, Arial, Helvetica' size=2><p>";
	if( $res == "email_wrong_fmt" ) {
		echo "Die eingegebene E-Mail-Adresse '$e' hat ein ";
		echo "ung&uuml;ltiges Format! ";
	}
	echo "Ohne korrektes Passwort zur korrekten E-Mail-";
	echo "Adresse ist der Zutritt zu Deinen Mitgliedsdaten ";
	echo "nicht m&ouml;glich!</p>";
/*
	if( $action == "chg_save" ){
		echo "<p><dir><form action='membres.phtml' method='POST'>";
		echo "<input type='hidden' name='m_id' value='$m_id'>";
		echo "<input type='hidden' name='action' value='chg_req'>";
		echo "<input type='hidden' name='e' value='$e'>";
		echo "<input type='hidden' name='wd' value='$wd'>";
		echo "<input type='submit' value='Zur&uuml;ck zur ";
		echo "Daten&auml;nderung'";
	}
	else{
*/
	echo "<p><a href='member.phtml#ml?";
	echo "e=".urlencode( $e )."&fn=".urlencode( $fn );
	echo "&ln=".urlencode( $ln )."&pj=".urlencode( $pj )."'>";
	echo "<b>Zur&uuml;ck zur Anmeldung</b></a>";
#	}
	echo "</font><br><br><br><br><br>\n";
	foot();
	exit;

case "email_pw_empty":
case "new_err_names":
case "pj_missed":

	head( "Oops, die Felder sind nicht komplett..." );
	echo "<font face='Verdana, Arial, Helvetica' size=2><p>";
	switch( $res ){
	case "email_pw_empty":
		echo "Die E-Mail-Adresse <b>und</b> das Passwort ";
		echo "m&uuml;ssen angegeben werden!";
	break;
	case "new_err_names":
		echo "<p>Beide Namensfelder m&uuml;ssen ";
		echo "ausgef&uuml;llt werden! Nick-Namen sind ";
		echo "erlaubt, wenn auch nicht erw&uuml;nscht.";
	break;
	case "pj_missed":
		echo "<p>Bei einer Neuanmeldung muss ein Projekt ";
		echo "ausgew&auml;hlt werden";
	break;
	}
	echo "</p>\n<p><a href='member.phtml#ml?";
	echo "e=".urlencode( $e )."&fn=".urlencode( $fn );
	echo "&ln=".urlencode( $ln )."&pj=".urlencode( $pj )."'>";
	echo "<b>Zur&uuml;ck zur Anmeldung</b></a>";
	echo "</font><br><br><br><br><br>\n";
	foot();
	exit;

case "member_exists":

	head( "Oops, E-Mail-Adresse bereits vergeben!" );
	echo "<font face='Verdana, Arial, Helvetica' size=2><p>";
	echo "Du kannst die alte E-Mail-Adresse nicht zu $e wechseln, ";
	echo "denn diese Adresse geh&ouml;rt bereits zu $fname $lname.";
	echo "</p>\n<p><a href='member.phtml#ml?";
	echo "e=".urlencode( $e )."&fn=".urlencode( $fn );
	echo "&ln=".urlencode( $ln )."&pj=".urlencode( $pj )."'>";
	echo "<b>Zur&uuml;ck zur Anmeldung</b></a>";
	echo "</font><br><br><br><br><br>\n";
	foot();
	exit;

break;

case "new_pw_sent":

	head( "Neues Passwort versandt!" );
	echo "<font face='Verdana, Arial, Helvetica' size=2><p>";
	echo "An die E-Mail-Adresse $e wurde ein neues Passwort per E-Mail ";
	echo "geschickt. Bitte melde Dich mit diesem Passwort an und gib Dir ";
	echo "ein neues Passwort!</p>\n<p><a href='member.phtml#ml?";
	echo "e=".urlencode( $e )."'>";
	echo "<b>Wieder zur Anmeldung</b></a>";
	echo "</font><br><br><br><br><br>\n";
	foot();
	exit;

break;

case "new_pw_no_member":

	head( "Oops, falsche E-Mail-Adresse!" );
	echo "<font face='Verdana, Arial, Helvetica' size=2><p>";
	echo "Die E-Mail-Adresse $e ist offensichtlich falsch, denn es ";
	echo "kein Mitglied mit dieser Adresse! Vertippt?";
	echo "</p>\n<p><a href='member.phtml#ml?e=".urlencode( $e )."'>";
	echo "<b>Zur&uuml;ck zur Anmeldung</b></a>";
	echo "</font><br><br><br><br><br>\n";
	foot();
	exit;

break;

case "curr_ok":
case "new_inserted":
case "curr_not_changed":
case "curr_updated":
case "email_changed":

	switch( $action ){
	case "ins":
		head( "Eintrag im Projekt '$titlabb'" );
		echo "<font face='Verdana, Arial, Helvetica' size=2>";
	break;
	case "del":
		head( "Austrag aus dem Projekt '$titlabb'" );
		echo "<font face='Verdana, Arial, Helvetica' size=2>";
	break;
	case "chg_req":
		head( "&Auml;ndern der Daten von $fn $ln" );
		echo "<center><form action='membres.phtml' method='POST'>";
		echo "<table>\n<tr>\n<td>\n";
		echo "<font face='Verdana, Arial, Helvetica' size=2>\n";
		echo "<b>Vor-/Nachname</b>: </font></td>\n<td>\n";
		echo "<font face='Verdana, Arial, Helvetica' size=3>\n";
		echo "<input type='text' name='fn' size='10' maxlength='30' value='$fn'>\n";
		echo "<input type='text' name='ln' size='12' maxlength='50' ";
		echo "value='$ln'></font></td></tr>\n<tr>\n<td>\n";
		echo "<font face='Verdana, Arial, Helvetica' size=2>\n";
		echo "<b>E-Mail-Adresse</b>:</font></td>\n<td>\n";
		echo "<font face='Verdana, Arial, Helvetica' size=3>\n";
		echo "<input type='text' name='e' size='24' maxlength='80' ";
		echo "value='$e'></font></td></tr>\n<tr>\n<td>\n";
		echo "<font face='Verdana, Arial, Helvetica' size=2 color='#FF0000'>\n";
		echo "<b>Passwort</b>:</font></td>\n<td>\n";
		echo "<font face='Verdana, Arial, Helvetica' size=3>\n";
		echo "<input type='password' name='wd' size='24' maxlength='80' ";
		echo "value=''></font></td></tr>\n<tr>\n<td>\n";
		echo "<font face='Verdana, Arial, Helvetica' size=2>\n";
		echo "<b>Eingetragen seit</b>: </font></td>\n<td>\n";
		echo "<font face='Verdana, Arial, Helvetica' size=2>\n";
		echo "<input type='radio' name='newdate' value='0' checked> $dt &nbsp; ";
		echo "<input type='radio' name='newdate' value='1'> aktuelles Datum";
		echo "</font></td></tr>\n<tr>\n<td colspan=2 align=center>\n";
		echo "<font face='Verdana, Arial, Helvetica' size=2>\n";
		echo "<input type='hidden' name='m_id' value='$m_id'>";
		echo "<br><input type='hidden' name='dt' value='$dt'>";
		echo "<input type='hidden' name='action' value='chg_save'>";
		echo "<input type='submit' value='Daten speichern'>";
		echo "</font></td></tr></table></form></center>\n<br><br>\n";
		foot();
		exit;
	break;
	case "chg_save":
	case "chg_pw_save":
		head( "&Auml;nderungen erfolgreich durchgef&uuml;hrt!" );
		echo "<font face='Verdana, Arial, Helvetica' size=2>\n<p>";
		echo "$fn $ln - hoffentlich Du selbst! - hat &uuml;ber $e ";
		echo "eine E-Mail erhalten, die sie/ihn &uuml;ber die ";
		echo "Eintragung bei OpenTheory informiert. Folgende Daten ";
		echo "von Dir - oder dem neuen Mitglied - gespeichert:</p>\n";
	break;
	default:
		head( "Willkommen $fn $ln!" );
		echo "<font face='Verdana, Arial, Helvetica' size=2>";
		echo "<p>Deine Anmeldung war erfolgreich! ";
		switch( $res ){
		case "new_inserted":
			echo "Du wurdest im OpenTheory-Projekt eingtragen, ";
			echo "eine E-Mail an Dich, $e, enth&auml;lt ";
			echo "weitere Informationen. ";
		break;
		case "curr_not_changed":
			echo "Da einer der beiden Namensfelder nicht ";
			echo "ausgef&uuml;t waren, wurde der gespeicherte ";
			echo "Vor- bzw. Nachname nicht ge&auml;ndert. ";
			echo "Zum &auml;ndern bitte beide Namen eingeben. ";
		break;
		case "curr_updated":
			echo "Vor- und Nachname wurden wie gew&uuml;nscht ";
			echo "ge&auml;ndert. ";
		break;
		}
		echo "Folgende Daten sind von Dir gespeichert:</p>\n";
	}
break;

case "yet_memb":
	head( "Oops, da sind noch Projekte..." );
	echo "<font face='Verdana, Arial, Helvetica' size=2><p>";
	echo "Du bist noch Mitglied in (oder Maintainer von) nachfolgend ";
	echo "aufgelisteten Projekten. Du musst Dich aus allen Projekten ";
	echo "austragen, bevor Du <b><i>ot</i></b> verlassen kannst.</p>";
break;

case "goodbye":
	head( "Bye, Bye, $fn $ln" );
	echo "<font face='Verdana, Arial, Helvetica' size=2><p>";
	echo "Deine Mitgliedsdaten wurden aus dem open-theory-Projekt ";
	echo "gel&ouml;scht. Wenn Du wieder in einem Projekt mitarbeiten ";
	echo "m&ouml;chtest, musst Du Dich als <a href='member.pthml'>";
	echo "Mitglied</a> neu anmelden. Schau' mal wieder vorbei...</p>";
	foot();
	exit;
break;

# this case should never happen!
case "is_maintainer":

	head( "Hey, hey, Du bist der Maintainer..." );
	echo "<font face='Verdana, Arial, Helvetica' size=2><p>";
	echo "Du kannst Dich aus dem Projekt \"$pj\" nicht austragen, denn ";
	echo "Du bist der Maintainer!</p><br> ";
	$action = "";
}

switch( $action ){

case "new":
case "insnew":
case "chg_save":
case "chg_pw_save":
	echo "<table>\n<tr>\n<td width=50%>\n";
	echo "<font face='Verdana, Arial, Helvetica' size=2>\n";
	echo "<ul><li><b>Vor-/Nachname</b>: $fn $ln</li>\n";
	echo "<li><b>E-Mail-Adresse</b>: $e</li>\n";
	echo "<li><b>Passwort</b>: * (ausgeblendet)";
	if( $action == "chg_pw_save" ){
		echo "<font color='#FF0000'> - ge&auml;ndert!</font>";
	}
	echo "\n<li><b>Eingetragen seit</b>: $dt</li></ul></font></td>\n";
	echo "<td width=30% align=center>\n";
	echo "<font face='Verdana, Arial, Helvetica' size=2>\n";
	echo "<form action='membres.phtml' method='POST'>";
	echo "<input type='hidden' name='e' value='$e'>";
	echo "<input type='hidden' name='wd' value='$wd'>";
	echo "<input type='hidden' name='action' value='chg_req'>";
	echo "<input type='submit' value='Daten &auml;ndern'>";
	echo "</form></font></td></tr>\n<tr>\n<td>\n";
	echo "<font face='Verdana, Arial, Helvetica' size=2>\n";
	echo "<br><b>Aus <i>ot</i> komplett aussteigen?</b> Bitte ";
	echo "Button 'Goodbye' klicken. Die beiden Voraussetzungen ";
	echo "f&uuml;r den Ausstieg aus open theory sind: (1) ";
	echo "Du bist kein Maintainer eines Projekts. Wenn doch, ";
	echo "kannst Du &uuml;ber die <a href='/maintainer.phtml#manage'>";
	echo "Projektverwaltung f&uuml;r Maintainer</a> Dein Projekt ";
	echo "an ein Projektmitglied abgeben. (2) Du bist in keinem ";
	echo "Projekt mehr als Projektmitglied eingetragen - wenn doch, ";
	echo "kannst Du Dich per Buttonklick in der nachfolgenden ";
	echo "Tabelle austragen.</font></td>\n";
	echo "<td width=30% align=center>\n";
	echo "<font face='Verdana, Arial, Helvetica' size=2>\n";
	echo "<form action='membres.phtml' method='POST'>";
	echo "<input type='hidden' name='e' value='$e'>";
	echo "<input type='hidden' name='wd' value='$wd'>";
	echo "<input type='hidden' name='action' value='goodbye'>";
	echo "<input type='submit' value='Goodbye'>";
	echo "</form></font></td></tr></table>\n";
 
if( $action != "insnew" ) break;

case "ins":
case "del":
	if( $action == "ins" ){
		echo "<p>Du wurdest im Projekt \"$pj\" mit der Mailingliste ";
		echo "<a href='mailto:Projekt $titlabb &lt;proj".fill( $p_id, 4 );
		echo "@$domain&gt;'>Projekt $titlabb &lt;proj".fill( $p_id, 4 )."@$domain&gt;</a> ";
		echo "neu eingetragen. Eine E-Mail mit weiteren Informationen ";
		echo "wurde an $e gesendet. Viel Spa&szlig; im Projekt!</p>";
	}
	else {
		echo "<p>Du wurdest aus dem Projekt \"$pj\" und der Mailingliste ";
		echo "'Projekt $titlabb &lt;proj".fill( $p_id, 4 )."@$domain&gt;' ";
		echo "ausgetragen. Eine E-Mail mit weiteren Informationen ";
		echo "wurde an $e gesendet.</p>";
	}
	echo "<center><form action='membres.phtml' method='POST'>";
	echo "<input type='hidden' name='e' value='$e'>";
	echo "<input type='hidden' name='wd' value='$wd'>";
	echo "<input type='hidden' name='action' value='new'>";
	echo "<input type='submit' value='Zur&uuml;ck zu den Mitgliedsdaten'>";
	echo "</form></center>\n";
break;

}

?>

<h3>Liste der Projekte, in denen Du eingetragen bist:</h3>
<p>Zum Austragen bitte Button 'raus' klicken.</p>
<center>
<table bgcolor='#EAEAEA' cellpadding=4>
<tr bgcolor='#E0E0E0'>
<td colspan=2 width=220>
<font face='Verdana, Arial, Helvetica' size=2>
Projekt / aktuelle Version</font></td>
<td width=80>
<font face='Verdana, Arial, Helvetica' size=2>
Datum</font></td>
<td width=290>
<font face='Verdana, Arial, Helvetica' size=2>
Titel</font></td>
<td align='center' width=50>
<font face='Verdana, Arial, Helvetica' size=2>
Aktion</font></td></tr>

<?php
# select project data
if( !$id = mysql_query( "select metatext.proj_id as p_id,
	metatext.memb_id as maint, vers_id, title, titlabb, status, submit, link
	from metatext, projmemb
	where metatext.proj_id = projmemb.proj_id
	and projmemb.memb_id = $m_id
	and ( status = 'act'or status = 'fin' )
	order by submit desc" )) {
	echo "Error No. 10: ".mysql_errno().": ".mysql_error();
	exit;
}
$is_maint = FALSE;
$is_fin = FALSE;
while( $row = mysql_fetch_array( $id )){
	if( !empty( $pjlist )) $pjlist .= ",";
	$pjlist .= $row[ "p_id" ];
	$titlabb = $row[ "titlabb" ];
	$status = $row[ "status" ];
	$vers_id = $row[ "vers_id" ];
	$submit = date_de( $row[ "submit" ]);
	$title = $row[ "title" ];
	$link = "proj/".strtolower($titlabb)."/index.phtml";

	$numact = 0;
	echo "<tr>\n<td width=200>\n";
	echo "<font face='Verdana, Arial, Helvetica' size=2>";
	echo "<b><a href='$link'>$titlabb</a> ";
	if( $row[ "maint" ] == $m_id ){
		echo "<font color='#FF0000'>*</font>";
		$is_maint = TRUE;
	}
	if( $row[ "status" ] == "fin" ){
		echo "<font color='#0000FF'>*</font>";
		$is_fin = TRUE;
	}
	echo "</b></font></td>\n";
	echo "<td><font face='Verdana, Arial, Helvetica' size=2>";
	echo "<b> $vers_id </b></font></td>\n";
	echo "<td><font face='Verdana, Arial, Helvetica' size=2>";
	echo "$submit</font></td>\n";
	echo "<td width=290><font face='Verdana, Arial, Helvetica' size=2>";
	echo "$title</font></td>\n";
	if( $row[ "maint" ] == $m_id ){
		echo "<td align='center'>-</td></tr>\n";
	}
	else {
		echo "<form action='membres.phtml?action=del' method='POST'>";
		echo "<td align='center'>";
		echo "<font face='Verdana, Arial, Helvetica' size=2>";
		echo "<input type='hidden' name='pj' value='$titlabb: $title'>";
		echo "<input type='hidden' name='m_id' value='$m_id'>";
		echo "<input type='hidden' name='e' value='$e'>";
		echo "<input type='hidden' name='wd' value='$wd'>";
		echo "<input type='submit' value='raus'>";
		echo "</font></td></form></tr>\n";
	}
}
echo "</table></center>\n";
if( $is_maint ) echo "<font color='#FF0000'><b>*</b></font> Du bist Maintainer!\n";
if( $is_maint && $is_fin ) echo "<br>";
if( $is_fin ) echo "<font color='#0000FF'><b>*</b></font> Projekt abgeschlossen!\n";
if( $res == "yet_memb" ) {
	echo "<p>";
	if( $is_maint ){
		echo "&Uuml;ber die <a href='/maintainer.phtml#manage'>";
		echo "Projektverwaltung</a> kannst Du die Maintainerschaft ";
		echo "an ein anderes Projektmitglied abgeben.";
	}
	echo "&nbsp;</p>";
	foot();
	exit;
}
?>

<h3>In folgende Projekte kannst Du Dich noch eintragen:</h3>
<p>Zum Eintragen bitte Button 'rein' klicken.</p>
<center>
<table bgcolor='#EAEAEA' cellpadding=4>
<tr bgcolor='#E0E0E0'>
<td colspan=2 width=220>
<font face='Verdana, Arial, Helvetica' size=2>
Projekt / aktuelle Version</font></td>
<td width=80>
<font face='Verdana, Arial, Helvetica' size=2>
Datum</font></td>
<td width=290>
<font face='Verdana, Arial, Helvetica' size=2>
Titel</font></td>
<td align='center' width=50>
<font face='Verdana, Arial, Helvetica' size=2>
Aktion</font></td></tr>

<?php
# select project data
if( empty( $pjlist )) $pjlist = "0"; # this should never happen!
if( !$id = mysql_query( "select vers_id, title, titlabb, submit, link
	from metatext 
	where status = 'act'
	and proj_id in ($pjlist) = 0
	order by submit desc" )) {
	echo "Error No. 11: ".mysql_errno().": ".mysql_error();
	exit;
}
while( $row = mysql_fetch_array( $id )){
	$titlabb = $row[ "titlabb" ];
	$vers_id = $row[ "vers_id" ];
	$submit = date_de( $row[ "submit" ]);
	$title = $row[ "title" ];
	$link = "proj/".strtolower($titlabb)."/index.phtml";
	$numact = 0;
	echo "<tr>\n<td width=200>\n";
	echo "<font face='Verdana, Arial, Helvetica' size=2>";
	echo "<b><a href='$link'>$titlabb</a></b></font></td>\n";
	echo "<td><font face='Verdana, Arial, Helvetica' size=2>";
	echo "<b> $vers_id </b></font></td>\n";
	echo "<td><font face='Verdana, Arial, Helvetica' size=2>";
	echo "$submit</font></td>\n";
	echo "<td width=290><font face='Verdana, Arial, Helvetica' size=2>";
	echo "$title</font></td>\n";
	echo "<form action='membres.phtml?action=ins' method='POST'>";
	echo "<td align='center'><font face='Verdana, Arial, Helvetica' size=2>";
	echo "<input type='hidden' name='pj' value='$titlabb: $title'>";
	echo "<input type='hidden' name='m_id' value='$m_id'>";
	echo "<input type='hidden' name='e' value='$e'>";
	echo "<input type='hidden' name='wd' value='$wd'>";
	echo "<input type='submit' value='rein'>";
	echo "</font></td></form></tr>\n";
}
echo "</table></center>\n<p>&nbsp;</p>\n</font>";
foot()
?>
