341 lines
11 KiB
PHP
Executable File
341 lines
11 KiB
PHP
Executable File
<?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ü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 ä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 ä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-Ä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ächsten Passwort-Ä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ä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-Ä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' );
|
|
|
|
?>
|