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

#### hidden_vars return string with hidden values #########################
function hidden_vars( $mode ){
	global $e, $wd, $ver, $p_id;
	$ret = "<input type=hidden name='e' value='$e'>";
	$ret .= "<input type=hidden name='wd' value='$wd'>";
	$ret .= "<input type=hidden name='mode' value='$mode'>";
	$ret .= "<input type=hidden name='ver' value='$ver'>";
	$ret .= "<input type=hidden name='p_id' value='$p_id'>";
	return $ret;
}

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

# check whether all variables are initialized
if( !empty( $e ) and !empty( $wd )){ 

	$pw_valid = check_pw( $e, $wd, $m_id, $fn, $ln );

	if( $pw_valid ){

		if( !head( "Projekte von $fn $ln", '', $xid, $xpar )) exit;
		echo "<font face='$font' size=2>\n";
		echo "<p>Liste der Projekte von $fn $ln. Erl&auml;uterungen ";
		echo "zu den Links in der Tabelle befinden sich unterhalb ";
		echo "der Tabelle.</p>\n";
		echo "<p><center>\n<table bgcolor='#EAEAEA' cellpadding=4>\n";
		echo "<tr bgcolor='#E0E0E0'>\n<td>\n";
		echo "<font face='$font' size=2>\n";
		echo "Projekt<br>Version / Status<br>Initiiert am</font></td>\n";
		echo "<td valign='top'>\n";
		echo "<font face='$font' size=2>\n";
		echo "Titel<br>Beschreibung<br><font color='#0000FF'>";
		echo "Geh&ouml;rt zu Projekt</font> / <font color='#007700'>";
		echo "Mailingliste</font> (nur aktive und neue Projekte)</font></td>\n";
		echo "<td valign='top' align='center'>\n";
		echo "<font face='$font' size=2>\n";
		echo "Projekt-<br>daten<br>bearbeiten</font></td>\n";
		echo "<td valign='top' align='center'>\n";
		echo "<font face='$font' size=2>\n";
		echo "Basis-<br>Text<br>bearbeiten</font></td>\n";
		echo "<td valign='top' align='center'>\n";
		echo "<font face='$font' size=2>\n";
		echo "Basis-<br>Text<br>ansehen</font></td></tr>\n";
		$is_finished = FALSE;

		# select a metatext record by memb_id
		$qry = "select m1.proj_id as p_id, m1.vers_id as ver, ";
		$qry .= "m1.title as ti, m1.titlabb as ta, m1.submit as dt, ";
		$qry .= "m1.status as st, m1.link as lk, m1.descr as ds ";
		$qry .= "from metatext as m1, metatext as m2 ";
		$qry .= "where m1.ref ";
		if( !$id = mysql_query( "select *
			from metatext where memb_id = $m_id
			order by titlabb, vers_id desc" )) {
			echo "Error No. 3: ".mysql_errno().": ".mysql_error();
			exit;
		}

		# list all metatext records
		while( $row = mysql_fetch_array( $id )) {

			# is the prev. listed text the prev. project version?
			$new_exists = ( $p_id == $row[ "proj_id" ])
				&& ( --$ver == $row[ "vers_id" ] );
			$p_id = $row[ "proj_id" ];
			$ver = $row[ "vers_id" ];
			$ti = $row[ "title" ];
			$ta = $row[ "titlabb" ];
			$dt = dt_de( $row[ "submit" ]);
			$st = $row[ "status" ];
			$ml = htmlentities( $row[ "maillst" ]);
			$rb = $row[ "ref_by" ];
			$lk = $row[ "link" ];
			$ds = add_xid( $row[ "descr" ], $xid );
			$st = st_de( $st ); 

			# get subproject
			if( $rb > 0 ) {
				if( !$rid = mysql_query( "select title, titlabb 
					from metatext where proj_id = $rb
					and status = 'act'" )){
					echo "Error No. 31: ".mysql_errno().": ".mysql_error();
					exit;
				}
				if( !$row = mysql_fetch_array( $rid )){
					echo "Error No. 32: ".mysql_errno().": ".mysql_error();
					exit;
				}
				$rbs = "'".$row[ "titlabb" ]."': ".$row[ "title" ];
			}

			# check submitted base text  
			if( !$rid = mysql_query( "select proj_id  
				from paragraph 
				where proj_id = $p_id
				and vers_id = $ver" )) {
				echo "Error No. 4: ".mysql_errno().": ".mysql_error();
				exit;
			}

			# if no rows selected then no text was submitted
			$istxt = $row = mysql_fetch_array( $rid );

			####################################################
			# 1st col: project / vers_id / status / started at
			####################################################

			echo "<tr>\n<td valign='top'>\n";
			echo "<font face='$font' size=2>\n";
			echo "<b>$ta</b><br>Version&nbsp;<b>$ver</b>&nbsp;/&nbsp;<b>";

			switch( $st ){
			case $ini:
				echo "<font color='#FF0000'>$st</font></b><br>$dt";
				if( $istxt ){
					echo "<center><form action='/modify.phtml?xid=$xid' ";
					echo "method='post'>\n";
					$mode = "activate";
					echo "<input type=submit value='aktivieren'>";
					echo hidden_vars( $mode );
					echo "</form></center>";
				}
			break;
			case $act:
				echo "$st</b><br>$dt";
				if( !$new_exists ){
					echo "<center><form action='/modify.phtml?xid=$xid' ";
					echo "method='post'>\n";
					$mode = "finish";
					echo "<input type=submit value='abschliessen'>";
					echo hidden_vars( $mode );
					echo "</form></center>";
				}
			break;
			case $fin:
				echo "$st</b><br>$dt";
				$is_finished = TRUE;
			break;
			default:
				echo "$st</b><br>$dt";
			}
			echo "</font></td>\n";

			####################################################
			# 2nd col: title / description / subproject
			####################################################

			echo "<td valign='top'>\n<font face='$font' size=2>\n";
			echo "<b>$ti</b><br>$ds";
			if(( $st == $ini ) or ( $st == $act )){
				echo "<br><font color='#0000FF'>";
				if( $rb ){
					echo "Geh&ouml;rt zu Projekt $rbs";
				}
				else {
					echo "(Geh&ouml;rt zu keinem Projekt)";
				}
				echo "</font><br><font color='#007700'>";
				echo "Mailingliste $ml</font>";
			}
			echo "</font></td>\n";

			####################################################
			# 3rd col: project data (metatext)
			####################################################

			echo "<td align=center>\n<font face='$font' size=2>\n";

			# fill cols for new projects
			if( $st == $ini ) {

				$ti = urlencode( $ti );
				$ds = urlencode( $ds );
				echo "<form action='/modify.phtml?xid=$xid' method='post'>\n";
				$mode = "data_change";
				echo "<input type=submit value='&auml;ndern'>";
				echo hidden_vars( $mode );
				echo "</form></font></td>\n";

				############################################
				# 4th col: edit base text
				############################################
				echo "<td align=center>\n<font face='$font' size=2>\n";
				echo "<form action='/modify.phtml?xid=$xid' method='post'>\n";
				echo "<input type=submit value=";

				# is there an already submitted base text?
				if( $istxt ){
					echo "'&auml;ndern'>";
					$mode = "text_change";
				}
				else {
					echo "'  neu  '>";
					$mode = "text_new";
				}
				echo hidden_vars( $mode );
				echo "</form></font></td>\n";

				############################################
				# 5th col: view base text
				############################################
				echo "<td align=center>\n<font face='$font' size=2>\n";

				# is there an already submitted base text?
				if( $istxt ){
					echo "<a href='".lnkxid( $lk, $xid )."'>HTML</a>";
					echo "<br><a href='";
					echo lnkxid( "$lk?action=ascii", $xid )."'>ASCII</a>";
				}
				else {
					echo "nicht<br>m&ouml;glich";
				}
			}

			# fill cols for active, archives or finished projects
			else {
				if( $st == $act ){
					echo "<form action='/modify.phtml?xid=$xid' ";
					echo "method='post'>\n";
					$mode = "data_change";
					echo "<input type=submit value='&auml;ndern'>";
					echo hidden_vars( $mode );
					echo "</form></font></td>\n";
				}
				else{
					echo "nicht<br>&auml;nderbar</font></td>\n";
				}

				############################################
				# 4th col: edit base text
				############################################
				echo "<td align=center>\n<font face='$font' size=2>\n";

				# active projects can have new versions
				if( !$new_exists && ( $st == $act )){
					echo "<form action='modify.phtml?xid=$xid' ";
					echo "method='post'>\n";
					$mode = "text_version";
					echo hidden_vars( $mode );
					echo "\n<input type=submit value=";
					$ver++;
					echo "'Vers. $ver'></form>";
				}
				elseif( $new_exists && ( $st == $act )){
					echo "siehe<br>'Neu'";
				}
				elseif( $is_finished ){
					echo "nicht<br>&auml;nderbar";
				}
				else{
					echo "siehe<br>'Aktiv'";
				}
				echo "</font></td>\n";

				############################################
				# 5th col: view base text
				############################################
				echo "<td align=center>\n<font face='$font' size=2>\n";
				echo "<a href='".lnkxid( $lk, $xid )."'>HTML</a>";
				echo "<br><a href='";
				echo lnkxid( "$lk?action=ascii", $xid )."'>ASCII</a>";
			}
			echo "</font></td></tr>\n";
		}
		echo "</table></center>\n<p>";
?>

<h4>Erl&auml;uterungen</h4>
Die Tabellenspalten 'Projektdaten bearbeiten' und 'Basis-Text bearbeiten' 
zeigen die jeweiligen Bearbeitungsoptionen an. Diese h&auml;ngen vom Status 
des Projekts (siehe erste Spalte) ab:
<ul>
<li>Status <b>'Neu'</b>:
	<ul>
	<li>Erste Spalte:
		<ul>
		<li>Button <b>'aktivieren'</b>: Der eingereichte Basis-Text
		kann aktiviert (=ver&ouml;ffentlicht) werden.</li></ul>
	<li>Spalte <b>Projektdaten bearbeiten</b>:
		<ul>
		<li>Button <b>'&auml;ndern'</b>: Die Daten neuer Projekte 
		d&uuml;rfen ge&auml;ndert werden.</li></ul>
	<li>Spalte <b>Basis-Text bearbeiten</b>:
		<ul>
		<li>Button <b>'neu'</b>: Der <i>erste</i> Basis-Text der 
		Version kann eingereicht werden.</li>
		<li>Button <b>'&auml;ndern'</b>: Ein ver&auml;nderter Text 
		kann eingereicht werden.</li></ul>
	<li>Spalte <b>Basis-Text ansehen</b>:
		<ul>
		<li>Link <b>'HTML'</b>: Vorschau auf den noch nicht 
		&ouml;ffentlichen Basis-Text.</li></ul></ul><br>
<li>Status <b>'Aktiv'</b>:
	<ul>
	<li>Erste Spalte:
		<ul>
		<li>Button <b>'abschliessen'</b>: Der aktuelle Basis-Text
		kann abgeschlossen werden. Der Button erscheint nur, wenn
		es kein zugeh&ouml;riges Projekt mit dem Status 'Neu' gibt. 
		Abgeschlossene Texte/Projekte
		k&ouml;nnen nicht mehr kommentiert werden.</li></ul>
	<li>Spalte <b>'Projektdaten bearbeiten'</b>:
		<ul>
		<li>Button <b>'&auml;ndern'</b>: Die Daten aktiver Projekte 
		d&uuml;rfen ge&auml;ndert werden.</li></ul>
	<li>Spalte <b>'Basis-Text bearbeiten'</b>:
		<ul>
		<li>Button <b>'Vers. X'</b>: Ein ver&auml;nderter Text kann
		als <i>neue</i> Version eingereicht werden. Die Vorversion 
		wird dadurch <i>automatisch</i> archiviert!</li>
		<li>Der Basis-Text eines abgeschlossenen Projekts darf
		nicht ge&auml;ndert werden.</ul>
	<li>Spalte <b>'Basis-Text ansehen'</b>:
		<ul>
		<li>Link <b>'HTML'</b>: Anzeige des aktuellen Basis-Textes.</li></ul></ul><br>
<li>Status <b>'Archiv':</b>
	<ul>
	<li>Spalte <b>'Projektdaten bearbeiten'</b>:
		<ul>
		<li>Die Daten archivierter Projekte d&uuml;rfen nicht 
		ge&auml;ndert werden.</li></ul>
	<li>Spalte <b>'Basis-Text bearbeiten'</b>:
		<ul>
		<li>Der Basis-Text archivierter Projekte darf nicht
		ge&auml;ndert werden.</li></ul>
	<li>Spalte <b>'Basis-Text ansehen'</b>:
		<ul>
		<li>Link <b>'HTML'</b>: Anzeige des archivierten Basis-Textes.
		</li></ul></ul><br>
<li>Status <b>'Final':</b>
	<ul>
	<li>Spalte <b>'Projektdaten bearbeiten'</b>:
		<ul>
		<li>Die Daten abgeschlossener Projekte d&uuml;rfen nicht 
		ge&auml;ndert werden.</li></ul>
	<li>Spalte <b>'Basis-Text bearbeiten'</b>:
		<ul>
		<li>Der Basis-Text abgeschlossener Projekte darf nicht
		ge&auml;ndert werden.</li></ul>
	<li>Spalte <b>'Basis-Text ansehen'</b>:
		<ul>
		<li>Link <b>'HTML'</b>: Anzeige des abgeschlossenen Basis-Textes.
		</li></ul></ul></ul></p><br></font>
<?php
	}
}

# user and/or password is not correct or empty
if( empty( $e ) or empty( $wd ) or !$pw_valid ){ 
	if( !head( "Oops, da stimmt was nicht!", '', $xid, $xpar )) exit;
	echo "<font face='$font' size=2>\n<p>\n";
	if( empty( $e ) and empty( $wd )){
		echo "E-Mail-Adresse und Passwort fehlen!";
	}
	elseif( empty( $e )){
		echo "Die E-Mail-Adresse muss angegeben werden!";
	}
	elseif( empty( $wd )){
		echo "Das Passwort muss angegeben werden!";
	}
	elseif( !pw_valid ){
		echo "Das eingegebene Passwort passt nicht zur E-Mail-";
		echo "Adresse $e!";
	}
	echo "</p>\n<p>\nOhne korrektes Passwort zur korrekten ";
	echo "E-Mail-Adresse ist der Zutritt zur Projektverwaltung ";
	echo "nicht m&ouml;glich!</p>\n<p>";
	echo "<a href='".lnkxid( '/maintainer.phtml#manage?&e=$e', $xid )."'>";
	echo "<b>Zur&uuml;ck zum Anmeldeformular...</b></a></p></font>";
}

foot()
?>
