<?php
@session_start();

$benutzer_anmeldename		= $_SESSION[ "benutzer_anmeldename" ];
$mandant_name				= $_SESSION["mandant_name"];

include_once( "f_admin.php" );
include_once( "f_wfl.php" );

$benutzer = liefere_benutzerinformationen( $mandant_name, $benutzer_anmeldename );


$_SESSION[ "title" ] = "Benutzereinstellungen f&uuml;r ".$benutzer[ 2 ][ "benutzer_vorname" ]." ".$benutzer[ 2 ][ "benutzer_nachname" ];
include( 'ssi_header.php' );
$_SESSION[ "title" ] = "";

echo "<div style=' min-height:550px;'>";

$pwd_gueltigkeitsdauer_tage = liefere_konfig( $mandant_name, "pwd_gueltigkeitsdauer_tage");

$pwd_ablauf = bcadd( $benutzer[ 2 ][ "benutzer_passwort_letzte_aenderung" ], bcmul( $pwd_gueltigkeitsdauer_tage, 86400, 0 ), 0 );

$zeitspanne = bcsub( $pwd_ablauf, time(), 0 );

$vergangene_zeit = berechne_zeitspanne( $zeitspanne );

echo "<center>";

if ( strlen( $benutzer[ 2 ][ "domaene" ] ) == 0 )
{
	echo "<h1>Benutzerpasswort &auml;ndern</h1>
	<p />
	<form name='passwort_aendern' accept-charset='UTF-8' action='su_web.php?cmd=passwort_aendern' method='post'>
	<input type='hidden' name='benutzer_anmeldename' value='".$_SESSION[ "benutzer_anmeldename" ]."' />
	<table id='us_einstellungen'>
	<tr><td>neues Passwort</td><td><input type='password' style='width:200px;' name='neues_pwd_1' /></td></tr>
	<tr><td>Passwort wiederholen</td><td><input type='password' style='width:200px;' name='neues_pwd_2' /></td></tr>
	</table>
	<p />
	<input type='submit' value='Passwort &auml;ndern' /><input type='reset' value='Abbrechen'></form>";
}
else
{
	echo "<h1>Benutzerinformationen</h1><p />";
}



echo "<table  id='us_einstellungen'>";





if ( strlen( $benutzer[ 2 ][ "domaene" ] ) == 0 )
{
	echo "<tr><td style='margin-top:10px;text-align:left;'>letzte Passwort-&Auml;nderung am</td><td style='margin-top:10px;text-align:left;'><b>".date( "d.m.Y H:i", $benutzer[ 2 ][ "benutzer_passwort_letzte_aenderung" ] )." Uhr</b></td></tr><tr><td style='margin-top:10px;text-align:left;'>Zeit bis zur n&auml;chsten Passwort-&Auml;nderung</td><td style='margin-top:10px;text-align:left;'><b>".$vergangene_zeit."</b></td></tr>";
}
else
{
	$ad_benutzer = ldap_liefere_benutzerinformationen( $mandant_name, $domaene, $benutzer_anmeldename );
	
	echo "<tr><td style='margin-top:10px;text-align:left;'>Dom&auml;ne</td><td style='margin-top:10px;text-align:left;'><b>".$benutzer[ 2 ][ "domaene" ]."</b></td></tr><tr><td style='margin-top:10px;text-align:left;'>letzte Passwort-&Auml;nderung (LDAP) am</td><td style='margin-top:10px;text-align:left;'><b>".date( "d.m.Y H:i", $ad_benutzer[ 2 ][ "pw_letzte_aenderung" ] )." Uhr</b></td></tr>";
}
echo "<tr><td style='margin-top:10px;text-align:left;'>Benutzer wurde angelegt am</td><td style='margin-top:10px;text-align:left;'><b>".date( "d.m.Y H:i", $benutzer[ 2 ][ "benutzer_angelegt_am" ] )." Uhr</b></td></tr>";
echo "</table><p style='margin-bottom:15px;' />";

echo '<div name="ergebnis_1" id="ergebnis_1" style=" margin-top:10px;" >'.$_SESSION[ "meldung_pwd" ].'</div>';
$_SESSION[ "meldung_pwd" ] = "";

echo '<hr  id="hr_uebersicht" />';


echo '<h1>Abwesenheit einstellen</h1>';

$a = welche_benutzer_vertritt_benutzer( $mandant_name, $benutzer_anmeldename );

if ( $a[ 0 ] == 0 )
{

	if ( $benutzer[ 2 ][ "benutzer_abwesend" ] == "ja" )
	{
		$vertreter = $benutzer[ 2 ][ "benutzer_vertreter" ];
		$j_selected = " selected ";
		$n_selected = "";
	}
	else
	{
		$vertreter = "";
		$j_selected = "";
		$n_selected = " selected ";
	}

	$gruppen_liste = liefere_alle_gruppen( $_SESSION[ "mandant_name" ], false );
				
	$options = "";

	if ( $gruppen_liste[ 0 ] > 0 )
	{
		$options = "<optgroup label='Gruppen'>";
		foreach( $gruppen_liste[ 2 ] as $benny )
		{
			if ( ( $benutzer[ 2 ][ "benutzer_vertreter" ] == $benny ) && ( $benutzer[ 2 ][ "benutzer_vertreter_typ" ] == "g" ) )
			{
				$selecte_d = " selected ";
			}
			else
			{
				$selecte_d = " ";
			}
			
			$options = $options."<option ".$selecte_d." >".$benny."</option>";
		}
		$options = $options."</optgroup>";
	}

	$vertretung_nur_gruppen = liefere_konfig( $_SESSION[ "mandant_name" ], "vertretung_nur_gruppen" );

	if ( $vertretung_nur_gruppen == "nein" )
	{
		$benutzer_liste = liefere_alle_benutzer_bavn( $_SESSION[ "mandant_name" ], false, false );
		
		if ( $benutzer_liste[ 0 ] > 0 )
		{
			$options = $options."<optgroup label='Benutzer'>";
			foreach( $benutzer_liste[ 2 ] as $benny )
			{
				//xlog( 4, $benutzer[ 2 ][ "benutzer_vertreter" ]."|".$benny[ "benutzer_anmeldename" ]."|".$benutzer[ 2 ][ "benutzer_vertreter_typ" ] );
				if ( ( $benutzer[ 2 ][ "benutzer_vertreter" ] == $benny[ "benutzer_anmeldename" ] ) && ( $benutzer[ 2 ][ "benutzer_vertreter_typ" ] == "b" ) )
				{
					$selecte_d = " selected ";
				}
				else
				{
					$selecte_d = " ";
				}
				
				if ( $benutzer_anmeldename != $benny[ "benutzer_anmeldename" ] )
				{
					$options = $options."<option ".$selecte_d." >".$benny[ "benutzer_vorname" ]." ".$benny[ "benutzer_nachname" ]." (".$benny[ "benutzer_anmeldename" ].")</option>";
				}
			}
			$options = $options."</optgroup>";
		}
	}

	echo "<form name='benutzer_abwesend' action='su_web.php?cmd=setze_benutzer_anwesenheit&mandant_name=".urlencode( $mandant_name )."&alpha_01=".urlencode( $_SESSION[ "benutzer_anmeldename" ] )."' method='post' accept-charset='UTF-8' onsubmit='return setze_abwesenheit();' >";

	echo "<table style=' font-size:90%; ' >
	<tr><td style='height:20px; width:220px;' >Benutzer ist abwesend</td><td><select style='width:300px;'  name='alpha_02' id='alpha_02' ><option ".$n_selected." >nein</option><option ".$j_selected." >ja</option></select></td></tr>
	<tr><td >Vertreter</td><td><select id='alpha_03'  name='alpha_03' style='width:300px;' ><option />".$options."</select></td></tr>

	</table>";
	echo "<script>$( '#alpha_03' ).chosen({  });

	function setze_abwesenheit()
	{
		var abwesend = document.getElementById( 'alpha_02' ).value;
		var vertr = document.getElementById( 'alpha_03' ).value;
		
		if ( ( vertr.length == 0 ) && ( abwesend == 'ja' ) )
		{
			alert( 'Es wurde kein Vertreter angegeben!' );
			return false;
		}
		
	}

	</script>";
				

	echo "<input type='submit' value='Speichern' onclick='' /><p style='margin-bottom:15px;' /></form>";

	echo "<div name=''>".$_SESSION[ "benutzer_abwesend" ]."</div>";
				$_SESSION[ "benutzer_abwesend" ] = "";

}
else
{
	echo "Da Sie aktuell Vertreter von anderen Benutzern sind, können Sie sich nicht abwesend melden.<br />Bitte kontaktieren Sie Ihren System-Administrator, falls Sie dies ändern möchten.";
}

echo '<hr  id="hr_uebersicht" />';
echo '<h1>Benutzerspezifische Einstellungen</h1>';

$ergebnis_1 = liefere_benutzerspezifische_einstellungen_kategorien( $mandant_name, $benutzer_anmeldename );

if ( $ergebnis_1[ 0 ] > 0 )
{
	foreach( $ergebnis_1[ 2 ] as $kategorie )
	{
		$ergebnis_2 = liefere_benutzerspezifische_einstellungen_anhand_kategorie_vollstaendig( $mandant_name, $benutzer_anmeldename, $kategorie );
		
		if ( $ergebnis_2[ 0 ] > 0 )
		{
			echo "<a name='".urlencode( $kategorie )."' href='#".urlencode( $kategorie )."'></a>";
			echo "<h2>".$kategorie."</h2>";
			
			echo "<form name='form' action='su_web.php?cmd=benutzereinstellungen_aendern&mandant_name=".urlencode( $mandant_name )."&kategorie=".$kategorie."' method='post' accept-charset='UTF-8' >";
			
			echo "<input type='hidden' value='".$benutzer_anmeldename."' name='benutzer_anmeldename' />";
			echo "<table style=' font-size:90%; ' >";
			$i = 0;
			foreach ( $ergebnis_2[ 2 ] as $einstellung )
			{
				$i++;
				if ( $einstellung[ "benutzer_darf_wert_aendern" ] == "ja" )
				{
					if ( strlen( $einstellung[ "wertemenge"] ) > 0 )
					{
						$wertemenge = liefere_wertemenge_elemente( $mandant_name, $einstellung[ "wertemenge" ] );
						
						if ( count( $wertemenge[ 2 ] ) > 0 )
						{
							$optionen = "";
							foreach ( $wertemenge[ 2 ] as $element )
							{
								if ( $element[ "alpha_01" ] == $einstellung[ "wert" ] )
								{
									$selected = "selected";
								}
								else
								{
									$selected = "";
								}
								
								$optionen = $optionen."<option ".$selected.">".$element[ "alpha_01" ]."</option>";
								
							}
							
						}
						$einstellung_element = "<select name='alpha_".liefere_anzahl_zeichen( bcsub( 2, strlen( $i ) ), "0" ).$i."' style='width:300px;'>".$optionen."</select>";
						
					}
					else
					{
						$einstellung_element = "<input type='text' name='alpha_".liefere_anzahl_zeichen( bcsub( 2, strlen( $i ) ), "0" ).$i."' style='width:300px;' value='".$einstellung[ "wert" ]."' />";
					}
					
					
				}
				else
				{
					$einstellung_element = "<span name='alpha_".liefere_anzahl_zeichen( bcsub( 2, strlen( $i ) ), "0" ).$i."' style='width:300px;' >".$einstellung[ "wert" ]."</span>";
				}
				$elem = "<input type='hidden' name='bez_a_".liefere_anzahl_zeichen( bcsub( 2, strlen( $i ) ), "0" ).$i."' value='".$einstellung[ "einstellung" ]."' />";
				
				echo "<tr><td style='height:20px; width:220px;' >".$einstellung[ "bezeichnung" ].$elem."</td><td>".$einstellung_element."</td></tr>";
			}
			echo "</table>";
			echo "<input type='submit' value='Speichern'>";  //<input type='button' value='Abbrechen' onclick='document.location.href=\"us_einstellungen.php\";'>
			echo "</form><div name=''>".$_SESSION[ $kategorie ]."</div>";
			$_SESSION[ $kategorie ] = "";
		}
	}
}

echo '<hr  id="hr_uebersicht" />';
echo '<h1>Benutzerrechte</h1>';

$sysr = welche_systemrechte_besitzt_benutzer( $mandant_name, $benutzer_anmeldename );
if ( $sysr[ 0 ] > 0 )
{
	foreach( $sysr[ 2 ] as $systemrecht )
	{
		echo "<p style='margin-top:10px;'>".$systemrecht."</p>";
	}
}



echo '<hr  id="hr_uebersicht" />';
echo '<h1>Gruppenmitgliedschafen</h1>';
echo '<h2>direkte Gruppenmitgliedschafen</h2>';

$ergebnis = in_welchen_gruppen_ist_benutzer_mitglied( $mandant_name, $benutzer_anmeldename );

if ( count( $ergebnis[ 3 ] ) > 0 )
{
	foreach( $ergebnis[ 3 ] as $gruppe )
	{
		echo "<p style='margin-top:10px;'>".$gruppe."</p>";
	}
}
else
{
	echo "<p style='margin-top:10px;'>- keine -</p>";
}


if ( count( $ergebnis[ 4 ] ) > 0 )
{
	echo '<h2>indirekte Gruppenmitgliedschafen</h2>';
	
	foreach( $ergebnis[ 4 ] as $gruppe )
	{
		echo "<p style='margin-top:10px;'>".$gruppe."</p>";
	}
}


if ( strlen( $benutzer[ 2 ][ "domaene" ] ) > 0 )
{
	// Es handelt sich um einen AD-Benutzer
	
	
	
	if ( count( $ad_benutzer[ 3 ] ) > 0 )
	{
		echo '<h2>LDAP-Gruppenmitgliedschafen</h2>';
		
		echo "<table>";
		
		foreach( $ad_benutzer[ 3 ] as $gruppe=>$vollname )
		{
			echo "<tr><td style='margin-top:10px;text-align:left;'><b>".$gruppe."</b></td><td style='margin-top:10px;text-align:left;'>".$vollname."</td></tr>";
		}
		echo "</table>";
	}
	
	
}

echo "</center><p style='height:30px;' />";




/*
echo "benutzername: ".$_SESSION[ "benutzer_anmeldename" ]."<br />";
echo "passwort: ".$_POST["passwort"]."<br />";
echo "mandant: ".$_SESSION["mandant_name"]."<br />";
echo "sprache: ".$_SESSION["sprache"]."<br />";
*/

echo "</div>";

include( 'ssi_footer.php' );

?>
