Files
4G/w_maske.php

830 lines
28 KiB
PHP
Executable File

<?php
@session_start();
include_once( "f_admin.php" );
include_once( "f_wfl.php" );
include_once( "su_web.php" );
include_once( "w_fkt.php" );
if ( isset( $_GET[ "cmd" ] ) )
{
$aseiuzrfsuaeghfol_cmd = $_GET[ "cmd" ];
if ( isset( $_GET[ "mid" ] ) )
{
$aseiuzrfsuaeghfol_maske_id = $_GET[ "mid" ];
}
if ( isset( $_GET[ "wid" ] ) )
{
$aseiuzrfsuaeghfol_workflow_id = $_GET[ "wid" ];
}
if ( isset( $_GET[ "did" ] ) )
{
$aseiuzrfsuaeghfol_dok_id = $_GET[ "did" ];
}
if ( isset( $_GET[ "eid" ] ) )
{
$aseiuzrfsuaeghfol_element_id = $_GET[ "eid" ];
}
}
else
{
$aseiuzrfsuaeghfol_cmd = "";
}
if ( isset( $_POST[ "cmd" ] ) )
{
$aseiuzrfsuaeghfol_cmd = $_POST[ "cmd" ];
}
switch ( $aseiuzrfsuaeghfol_cmd )
{
case "render":
$aseiuzrfsuaeghfol_html_output = _wfl_render( $aseiuzrfsuaeghfol_workflow_id, $aseiuzrfsuaeghfol_maske_id, $aseiuzrfsuaeghfol_dok_id, $aseiuzrfsuaeghfol_element_id );
echo $aseiuzrfsuaeghfol_html_output;
break;
case "verarbeitung":
$aseiuzrfsuaeghfol_html_output = _wfl_verarbeitung( $_POST );
//echo $aseiuzrfsuaeghfol_html_output;
break;
default:
break;
}
function _wfl_render( $aseiuzrfsuaeghfol_workflow_id, $aseiuzrfsuaeghfol_maske_id, $aseiuzrfsuaeghfol_dok_id, $aseiuzrfsuaeghfol_element_id )
{
$aseiuzrfsuaeghfol_sp = sperre_dokument( $aseiuzrfsuaeghfol_dok_id, $_SESSION[ "benutzer_anmeldename" ] );
$aseiuzrfsuaeghfol_workflow = liefere_workflowinformationen( $_SESSION[ "mandant_name" ], "", $aseiuzrfsuaeghfol_workflow_id );
$aseiuzrfsuaeghfol_maske = liefere_maskeninformationen( $_SESSION[ "mandant_name" ], $aseiuzrfsuaeghfol_workflow[ 2 ][ "workflow_name" ], "", $aseiuzrfsuaeghfol_maske_id, $aseiuzrfsuaeghfol_workflow );
$aseiuzrfsuaeghfol_dokument = liefere_dokumentinformationen( $_SESSION[ "mandant_name" ], $aseiuzrfsuaeghfol_dok_id );
if ( strlen( $aseiuzrfsuaeghfol_dokument[ 2 ][ "titel_lang" ] ) > 0 )
{
$aseiuzrfsuaeghfol_dok = $aseiuzrfsuaeghfol_dokument[ 2 ][ "titel_lang" ];
}
else
{
$aseiuzrfsuaeghfol_dok = $aseiuzrfsuaeghfol_dok_id;
}
if ( $aseiuzrfsuaeghfol_sp[ 0 ] > 0 )
{
$aseiuzrfsuaeghfol_kopf = liefere_kopf( $aseiuzrfsuaeghfol_workflow[ 2 ], $aseiuzrfsuaeghfol_maske[ 2 ], $aseiuzrfsuaeghfol_dok );
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output.$aseiuzrfsuaeghfol_kopf[ "html" ];
$aseiuzrfsuaeghfol_plugins = array( "maske_plugin_01", "maske_plugin_02", "maske_plugin_03", "maske_plugin_04", "maske_plugin_05", "maske_plugin_06", "maske_plugin_07", "maske_plugin_08", "maske_plugin_09", "maske_plugin_10" );
//$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output."<script>window.open( 'w_maske.php?cmd=zeige_dok&d=".$aseiuzrfsuaeghfol_dok_id."&m=".$aseiuzrfsuaeghfol_dokument[ 2 ][ "mime_type" ]."', 'dok_anzeige', 'dependent=yes,location=no,menubar=no,status=no, toolbar=no' );</script>";
//<div id='maske' style='display:inline; border: 4px solid blue; ' >
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output."<div style=' float:left; width:60%;'>"; //border: 4px solid green;
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output."
<form action='w_maske.php' method='POST' accept-charset='utf-8' >
<input type='hidden' name='mandant_name' value='".$_SESSION[ "mandant_name" ]."' />
<input type='hidden' name='workflow_name' value='".$aseiuzrfsuaeghfol_workflow[ 2 ][ "workflow_name" ]."' />
<input type='hidden' name='workflow_id' value='".$aseiuzrfsuaeghfol_workflow[ 2 ][ "workflow_id" ]."' />
<input type='hidden' name='maske_name' value='".$aseiuzrfsuaeghfol_maske[ 2 ][ "maske_name" ]."' />
<input type='hidden' name='maske_id' value='".$aseiuzrfsuaeghfol_maske[ 2 ][ "maske_id" ]."' />
<input type='hidden' name='element_id' value='".$aseiuzrfsuaeghfol_element_id."' />
<input type='hidden' name='dok_id' value='".$aseiuzrfsuaeghfol_dok_id."' />
<input type='hidden' name='cmd' value='verarbeitung' />
";
foreach ( $aseiuzrfsuaeghfol_plugins as $aseiuzrfsuaeghfol_p )
{
if ( strlen( $aseiuzrfsuaeghfol_maske[ 2 ][ $aseiuzrfsuaeghfol_p ] ) > 0 )
{
if ( $aseiuzrfsuaeghfol_maske[ 2 ][ $aseiuzrfsuaeghfol_p."_accordion" ] == "ja" )
{
$we4aifnaweufnauewfiaerw_titel = "<h3>".$aseiuzrfsuaeghfol_maske[ 2 ][ $aseiuzrfsuaeghfol_p."_bezeichnung" ]."</h3>";
if ( $aseiuzrfsuaeghfol_maske[ 2 ][ $aseiuzrfsuaeghfol_p."_geoeffnet" ] == "ja" )
{
$aseiuzrfsuaeghfol_geoeffnet = "0";
}
else
{
$aseiuzrfsuaeghfol_geoeffnet = "false";
}
//maske_plugin_01_einklappbar
if ( $aseiuzrfsuaeghfol_maske[ 2 ][ $aseiuzrfsuaeghfol_p."_einklappbar" ] == "ja" )
{
$aseiuzrfsuaeghfol_einklappbar = "true";
}
else
{
$aseiuzrfsuaeghfol_einklappbar = "false";
}
$aseiuzrfsuaeghfol_accord = " id='accordion_".$aseiuzrfsuaeghfol_p."' ";
$oweifhnjawoeifmskript = "<script> $( \"#accordion_".$aseiuzrfsuaeghfol_p."\" ).accordion({ collapsible: ".$aseiuzrfsuaeghfol_einklappbar.", active:".$aseiuzrfsuaeghfol_geoeffnet.", heightStyle: 'content' });</script>";
}
else
{
$aseiuzrfsuaeghfol_accord = "";
$oweifhnjawoeifmskript = "";
$we4aifnaweufnauewfiaerw_titel = "";
}
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output."<div ".$aseiuzrfsuaeghfol_accord." style='width:100%;' >";
$aseiuzrfsuaeghfol_funcname = explode( ".", $aseiuzrfsuaeghfol_maske[ 2 ][ $aseiuzrfsuaeghfol_p ] );
$aseiuzrfsuaeghfol_funcname = $aseiuzrfsuaeghfol_funcname[ 0 ];
$aseiuzrfsuaeghfol_maske_pos = explode( "_", $aseiuzrfsuaeghfol_p );
$aseiuzrfsuaeghfol_maske_pos = $aseiuzrfsuaeghfol_maske_pos[ 2 ];
include_once( "wfl_plugins/".$aseiuzrfsuaeghfol_maske[ 2 ][ $aseiuzrfsuaeghfol_p ] );
$aseiuzrfsuaeghfol_id = liefere_zufaelligen_string();
//maske_plugin_01_bezeichnung
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output.$we4aifnaweufnauewfiaerw_titel;
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output."<div id='".$aseiuzrfsuaeghfol_id."'>";
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output.$aseiuzrfsuaeghfol_funcname( $_SESSION[ "mandant_name" ], $aseiuzrfsuaeghfol_workflow, $aseiuzrfsuaeghfol_maske, $aseiuzrfsuaeghfol_maske_pos, $aseiuzrfsuaeghfol_dokument );
//maske_plugin_01_geoeffnet
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output."</div></div><hr style='max-width: 100%; text-align:left; margin-left:0px;' />".$oweifhnjawoeifmskript;
}
}
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output."</form>";
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output."</div><div id='aseiuzrfsuaeghfol_anzeige' style=' width:39%; vertical-align:top; float:right; '>"._web_verpacke_dok_in_tags( $aseiuzrfsuaeghfol_dokument[ 2 ][ "dok_id" ], $aseiuzrfsuaeghfol_dokument[ 2 ][ "mime_type" ], 14 )."</div><div style='clear:both;'></div>";
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output.liefere_fuss( $aseiuzrfsuaeghfol_kopf );
}
else
{
$aseiuzrfsuaeghfol_kopf_output = liefere_kopf( $aseiuzrfsuaeghfol_workflow[ 2 ], $aseiuzrfsuaeghfol_maske[ 2 ], $aseiuzrfsuaeghfol_dok );
$aseiuzrfsuaeghfol_kopf_output = $aseiuzrfsuaeghfol_kopf_output;
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_kopf_output[ "html" ]."<div style='min-height:600px;'><p style='margin-left: 40px;' >".$aseiuzrfsuaeghfol_sp[ 1 ]."</p>";
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output."<input type='button' style='margin-left: 40px;' value='zum Schreibtisch' onclick='window.location.href=\"us_schreibtisch.php\"' /></div>";
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output.liefere_fuss( $aseiuzrfsuaeghfol_kopf );
}
return $aseiuzrfsuaeghfol_html_output;
}
function _wfl_verarbeitung( $POST )
{
//xlog( 4, json_encode( $POST ) );
//2015.01.26 10:08:33 INFO 24 {"mandant_name":"Gaia","workflow_name":"Checkup","workflow_id":"1","maske_name":"sachliche Pr\u00fcfung","maske_id":"1","element_id":"61","dok_id":"100024147","cmd":"verarbeitung","a":{"num_01":"","alpha_01":"test","alpha_02":"d3batchdocumentcheck.pdf","alpha_04":"","alpha_09":"","datum_01":"","alpha_03":"","alpha_05":""},"zeile1":{"p_datum_01":"28.01.2015","p_geld_01":"","p_num_01":"312","p_alpha_02":"Originalgr\u00f6\u00dfe","p_alpha_04":"","p_alpha_01":""},"zeile2":{"p_datum_01":"08.01.2015","p_geld_01":"","p_num_01":"123","p_alpha_02":"verkleinerte Darstellung","p_alpha_04":"","p_alpha_01":""},"zeile3":{"p_datum_01":"04.01.2015","p_geld_01":"","p_num_01":"213","p_alpha_02":"verkleinerte Darstellung","p_alpha_04":"","p_alpha_01":""},"vers_aWKy9H7bYFJd4MIuxBPoobPbe6_length":"25","weiterleitung_ziel":"","aktion":"speichern"}
$multi = array();
foreach( $POST as $key => $value )
{
switch ( $key )
{
case "a":
$kopfdaten = $value;
break;
case "mandant_name":
$mandant_name = $value;
break;
case "workflow_name":
$workflow_name = $value;
break;
case "workflow_id":
$workflow_id = $value;
break;
case "maske_name":
$maske_name = $value;
break;
case "maske_id":
$aktuelle_maske_id = $value;
break;
case "element_id":
$element_id = $value;
break;
case "dok_id":
$dok_id = $value;
break;
case "weiterleitung_ziel_oa":
$weiterleitung_ziel_oa = $value;
break;
case "weiterleitung_ziel_zs":
$weiterleitung_ziel_zs = $value;
break;
case "weiterleitung_ziel_emp":
$weiterleitung_ziel_emp = $value;
break;
case "aktion":
$aktion = $value;
break;
default:
if ( substr( $key, 0, 5 ) == "zeile" )
{
$mehrfachattribute[] = $value;
}
break;
}
}
// xlog( 5, "Aktion: ".$aktion );
// xlog( 5, "Post: ".json_encode( $POST ) );
switch( $aktion )
{
case "nicht_speichern":
// Keine Aktion nötig.
$d = entsperre_dokument( $dok_id );
break;
case "weiterleiten":
$w = liefere_workflowinformationen( $mandant_name, "", $workflow_id );
$aktuelle_maske = liefere_maskeninformationen( $mandant_name, $workflow_name, "", $aktuelle_maske_id, "" );
if ( $aktuelle_maske[ 2 ][ "maske_default_frist" ] > 0 )
{
$heute = time();
$frist = bcmul( $aktuelle_maske[ 2 ][ "maske_default_frist" ], 86400, 0 );
$ziel = bcadd( $heute, $frist, 0 );
$zieldatum = date( "d.m.Y", $ziel );
$frist_txt = " (Bearbeitungsfrist: ".$zieldatum.")";
}
else
{
$zieldatum = "";
$frist_txt = "";
}
if ( strpos( $weiterleitung_ziel_oa, "(" ) === false )
{
// Gruppe
$empfaenger = $weiterleitung_ziel_oa;
$empfaenger_typ = "g";
$weiterl = "der Gruppe ";
}
else
{
// Benutzer
$anfang = bcadd( strpos( $weiterleitung_ziel_oa, "(" ), 1, 0 );
$laenge = bcsub( strpos( $weiterleitung_ziel_oa, ")" ), $anfang, 0 );
$empfaenger = substr( $weiterleitung_ziel_oa, $anfang, $laenge );
$empfaenger_typ = "b";
$weiterl = "dem Benutzer ";
}
$e = aktualisiere_dokument_attribute( $mandant_name, $dok_id, $kopfdaten, $mehrfachattribute );
$f = erzeuge_postkorb_element( $mandant_name, $dok_id, $empfaenger, $_SESSION[ "benutzer_anmeldename" ], "Dokument zur Bearbeitung: ".$workflow_name."/".$aktuelle_maske[ 2 ][ "maske_name" ], 1, $empfaenger_typ, $zieldatum, $zieldatum, "", $workflow_id, $aktuelle_maske_id );
if ( $w[ 2 ][ "protokoll" ] == "ja" )
{
$p = erstelle_protokolleintrag( $mandant_name, $workflow_name, $dok_id, $_SESSION[ "benutzer_anmeldename" ], "WEITERLEITUNG", "Das Dokument wurde in der Maske ".$aktuelle_maske[ 2 ][ "maske_name" ]." vom Benutzer ".$_SESSION[ "benutzer_anmeldename" ]." ".$weiterl." ".$weiterleitung_ziel_oa." weitergeleitet".$frist_txt."." );
}
$g = quittiere_postkorb_element( $mandant_name, $element_id );
$d = entsperre_dokument( $dok_id );
break;
case "weiterleiten_zu_schritt":
$w = liefere_workflowinformationen( $mandant_name, "", $workflow_id );
$aktuelle_maske = liefere_maskeninformationen( $mandant_name, $workflow_name, "", $aktuelle_maske_id, "" );
$naechste_maske = liefere_maskeninformationen( $mandant_name, $workflow_name, "", $weiterleitung_ziel_zs, "" );
if ( $aktuelle_maske[ 2 ][ "maske_default_frist" ] > 0 )
{
$heute = time();
$frist = bcmul( $aktuelle_maske[ 2 ][ "maske_default_frist" ], 86400, 0 );
$ziel = bcadd( $heute, $frist, 0 );
$zieldatum = date( "d.m.Y", $ziel );
$frist_txt = " (Bearbeitungsfrist: ".$zieldatum.")";
}
else
{
$zieldatum = "";
$frist_txt = "";
}
if ( strpos( $weiterleitung_ziel_emp, "(" ) === false )
{
// Gruppe
$empfaenger = $weiterleitung_ziel_emp;
$empfaenger_typ = "g";
$weiterl = "der Gruppe ";
}
else
{
// Benutzer
$anfang = bcadd( strpos( $weiterleitung_ziel_emp, "(" ), 1, 0 );
$laenge = bcsub( strpos( $weiterleitung_ziel_emp, ")" ), $anfang, 0 );
$empfaenger = substr( $weiterleitung_ziel_emp, $anfang, $laenge );
$empfaenger_typ = "b";
$weiterl = "dem Benutzer ";
}
$e = aktualisiere_dokument_attribute( $mandant_name, $dok_id, $kopfdaten, $mehrfachattribute );
$f = erzeuge_postkorb_element( $mandant_name, $dok_id, $empfaenger, $_SESSION[ "benutzer_anmeldename" ], "Dokument zur Bearbeitung: ".$workflow_name."/".$naechste_maske[ 2 ][ "maske_name" ], 1, $empfaenger_typ, $zieldatum, $zieldatum, "", $workflow_id, $weiterleitung_ziel_zs );
//xlog( 4, json_encode( $w ) );
if ( $w[ 2 ][ "protokoll" ] == "ja" )
{
$p = erstelle_protokolleintrag( $mandant_name, $workflow_name, $dok_id, $_SESSION[ "benutzer_anmeldename" ], "WEITERLEITUNG_ZU_SCHRITT", "Das Dokument wurde in der Maske ".$aktuelle_maske[ 2 ][ "maske_name" ]." vom Benutzer ".$_SESSION[ "benutzer_anmeldename" ]." ".$weiterl." ".$weiterleitung_ziel_emp." in die Ziel-Maske ".$naechste_maske[ 2 ][ "maske_name" ]." weitergeleitet".$frist_txt."." );
}
$g = quittiere_postkorb_element( $mandant_name, $element_id );
$d = entsperre_dokument( $dok_id );
break;
case "speichern":
$e = aktualisiere_dokument_attribute( $mandant_name, $dok_id, $kopfdaten, $mehrfachattribute );
if ( $w[ 2 ][ "protokoll" ] == "ja" )
{
$p = erstelle_protokolleintrag( $mandant_name, $workflow_name, $dok_id, $_SESSION[ "benutzer_anmeldename" ], "ATTRIB_SPEICHERN", "Der Benutzer ".$_SESSION[ "benutzer_anmeldename" ]." hat die Attribute gespeichert." );
}
$d = entsperre_dokument( $dok_id );
break;
case "schritt_abschliessen":
///////////////////////////////////////////////
// Hole Informationen über den Workflow:
$w = liefere_workflowinformationen( $mandant_name, "", $workflow_id );
///////////////////////////////////////////////
// Hole Informationen über die aktuell abgeschlossene Maske:
$aktuelle_maske = liefere_maskeninformationen( $mandant_name, $workflow_name, "", $aktuelle_maske_id, "" );
///////////////////////////////////////////////
// Wenn das aktuelle Element das letzte aus diesem Workflowschritt ist und quittiert wurde (Radiobutton "Bearbeitung abschließen"), dann wird das Dokument in diese Maske weitergeleitet.
$neue_maske_id = $aktuelle_maske[ 2 ][ "maske_default_folgemaske" ];
if ( $neue_maske_id != 0 )
{
$neue_maske = liefere_maskeninformationen( $mandant_name, $workflow_name, "", $neue_maske_id, "" );
///////////////////////////////////////////////
// An diese Empfänger wird der Workflow das Element weiterleiten. Die spätere Hook-Funktion hat die Möglichkeit, das Array aus Empfänger-Arrays zu ändern.
$neue_empfaenger = array( array( "empfaenger"=>$neue_maske[ 2 ][ "maske_default_empfaenger" ], "empfaenger_typ"=>$neue_maske[ 2 ][ "maske_default_empfaenger_typ" ] ) );
}
///////////////////////////////////////////////
// Berechnung der Bearbeitungsfrist
if ( $aktuelle_maske[ 2 ][ "maske_default_frist" ] > 0 )
{
$heute = time();
$frist = bcmul( $aktuelle_maske[ 2 ][ "maske_default_frist" ], 86400, 0 );
$ziel = bcadd( $heute, $frist, 0 );
$zieldatum = date( "d.m.Y", $ziel );
$frist_txt = " (Bearbeitungsfrist: ".$zieldatum.")";
}
else
{
$zieldatum = "";
$frist_txt = "";
}
///////////////////////////////////////////////
// Hook-Funktion
$funcname = "workflow_".$workflow_id."_".$aktuelle_maske_id;
if ( function_exists( $funcname ) )
{
$erg_1 = $funcname( $dok_id, $element_id, $kopfdaten, $mehrfachattribute, $neue_empfaenger, $aktuelle_maske[ 2 ], $neue_maske_id, $POST );
//return array( $kopfdaten, $mehrfachattribute, $neue_empfaenger, $attribute, $neue_maske_id );
$kopfdaten = $erg_1[ 0 ];
$mehrfachattribute = $erg_1[ 1 ];
$neue_empfaenger = $erg_1[ 2 ];
$attribute = $erg_1[ 3 ];
$neue_maske_id = $erg_1[ 4 ];
}
if ( $neue_maske_id != 0 )
{
// Weiter im Workflow zur nächsten Maske
///////////////////////////
// Der Schritt kann nur weitergeleitet werden, wenn es keinen weiteren unquittierten Postkorbeintrag in diesem Workflowschritt gibt.
// Wenn $anzahl == 1 dann gibt es keinen weiteren Postkorbeintrag außer dem, der hier gerade behandelt wird.
// Ist $anzahl > 1, dann gibt es noch weitere Postkorbeinträge, die erst noch bearbeitet werden müssen, bevor die Maske gewechselt werden kann.
$STATEMENT = "select count( * ) anzahl from ca_postkorb where dok_id = ".$dok_id." and wid = ".$workflow_id." and mid = ".$aktuelle_maske_id." and quittiert_am = ''";
$ergebnis = xdb( $STATEMENT );
$anzahl = $ergebnis[ 1 ][ 0 ][ "anzahl" ];
if ( $w[ 2 ][ "protokoll" ] == "ja" )
{
$p = erstelle_protokolleintrag( $mandant_name, $workflow_name, $dok_id, $_SESSION[ "benutzer_anmeldename" ], "SCHRITT_ABGESCHLOSSEN", "Der Benutzer ".$_SESSION[ "benutzer_anmeldename" ]." hat die Bearbeitung des Dokumentes ".$dok_id." in der Maske ".$aktuelle_maske[ 2 ][ "maske_name" ]." (Workflow ".$workflow_name.") abgeschlossen." );
}
if ( $anzahl == 1 )
{
foreach( $neue_empfaenger as $r )
{
//xlog( 4, json_encode( $r ) );
$f = erzeuge_postkorb_element( $mandant_name, $dok_id, $r[ "empfaenger" ], $_SESSION[ "benutzer_anmeldename" ], "Dokument zur Bearbeitung: ".$workflow_name."/".$neue_maske[ 2 ][ "maske_name" ], 1, $r[ "empfaenger_typ" ], $zieldatum, $zieldatum, "", $workflow_id, $neue_maske_id );
if ( $w[ 2 ][ "protokoll" ] == "ja" )
{
if ( $r[ "empfaenger_typ" ] == "b" )
{
$empf = "Der Benutzer ";
}
else
{
$empf = "Die Gruppe ";
}
if ( $w[ 2 ][ "protokoll" ] == "ja" )
{
$p = erstelle_protokolleintrag( $mandant_name, $workflow_name, $dok_id, $_SESSION[ "benutzer_anmeldename" ], "SCHRITT_EMPFANGEN", $empf.$r[ "empfaenger" ]." hat das Dokument ".$dok_id." in der Maske ".$neue_maske[ 2 ][ "maske_name" ]." (Workflow ".$workflow_name.") zur Bearbeitung bekommen".$frist_txt."." );
}
}
}
}
}
else
{
// Workflow für dieses Dokument beenden
///////////////////////////
// Den Workflow beenden heißt, den letzten Postkorb-Eintrag zu quittieren, der im Zuge des Workflows noch unquittiert ist.
// Wir stellen also fest, ob es noch unquittierte Einträge außer dem hier behandelten gibt - falls nein ($anzahl == 1) => der Workflow wird beendet,
// d.h. das letzte Element quittiert.
$STATEMENT = "select count( * ) anzahl from ca_postkorb where dok_id = ".$dok_id." and wid = ".$workflow_id." and mid = ".$aktuelle_maske_id." and quittiert_am = ''";
$ergebnis = xdb( $STATEMENT );
$anzahl = $ergebnis[ 1 ][ 0 ][ "anzahl" ];
if ( $w[ 2 ][ "protokoll" ] == "ja" )
{
$p = erstelle_protokolleintrag( $mandant_name, $workflow_name, $dok_id, $_SESSION[ "benutzer_anmeldename" ], "SCHRITT_ABGESCHLOSSEN", "Der Benutzer ".$_SESSION[ "benutzer_anmeldename" ]." hat die Bearbeitung des Dokumentes ".$dok_id." in der Maske ".$aktuelle_maske[ 2 ][ "maske_name" ]." (Workflow ".$workflow_name.") abgeschlossen." );
}
if ( $anzahl == 1 )
{
$p = erstelle_protokolleintrag( $mandant_name, $workflow_name, $dok_id, $_SESSION[ "benutzer_anmeldename" ], "WFL_ENDE", "Der Workflow ".$workflow_name." des Dokumentes ".$dok_id." wurde beendet." );
}
}
$e = aktualisiere_dokument_attribute( $mandant_name, $dok_id, $kopfdaten, $mehrfachattribute );
$g = quittiere_postkorb_element( $mandant_name, $element_id );
$d = entsperre_dokument( $dok_id );
break;
}
//xlog( 4, json_encode( $multi ) );
//
header( "Location: us_schreibtisch.php" );
}
function liefere_kopf( $wfl, $maske, $dok_id )
{
$mandant_name = $_SESSION[ "mandant_name" ];
$benutzer_anmeldename = $_SESSION[ "benutzer_anmeldename" ];
if ( strlen( $benutzer_anmeldename ) > 0 )
{
$time = time();
$vergangene_zeit = bcsub( $time, $_SESSION[ "eingeloggt_ts" ], 0 );
$ts = berechne_zeitspanne( $vergangene_zeit );
if ( ( $benutzer_anmeldename == "superuser" ) and ( $mandant_name == "Standard" ) )
{
$name = "Superuser/Mandanten- und Systemverwaltung";
}
else
{
$benutzer = liefere_benutzerinformationen( $mandant_name, $benutzer_anmeldename );
$name = $benutzer[ 2 ][ "benutzer_vorname" ]." ".$benutzer[ 2 ][ "benutzer_nachname" ];
}
// <form name="sap" action="redir.php" style="display:inline;" method="post" ><input type="text" name="ziel" ><input type="submit" value="=>" ></form>
//<input type="button" style="height:20px;font-size:x-small;" value="Go!" onclick="alert(\'hallo\');"><span style="color:silver;">
$eingeloggt_1 = "<b>".$wfl[ "workflow_name" ]." / Schritt: ".$maske[ "maske_name" ].' / Dokument '.$dok_id."</b>";
$eingeloggt_2 = "<span id='span_menu_1' >Mandant: </span><span id='span_menu_2'>".$mandant_name."</span>&nbsp;&nbsp;<span id='span_menu_3'>|</span>&nbsp;&nbsp;<span id='span_menu_4'>Benutzer: </span><span id='span_menu_5'>".$name."</span><span id='span_menu_6'>, eingeloggt seit ".$ts."</span>";
$eingeloggt_3 = "&nbsp;&nbsp;<span style='color:silver;'>|</span>&nbsp;&nbsp;";
}
else
{
$eingeloggt_1 = "";
$eingeloggt_2 = "";
}
if ( $_SESSION[ "css" ] == "index.php" )
{
$css_datei = liefere_konfig( "Standard", "login_css" );
}
else
{
$css_datei = liefere_konfig( $mandant_name, "login_css" );
}
header( "Content-Type: text/html; charset=utf-8" );
$aseiuzrfsuaeghfol_html_output = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon" >
<!-- #################### JAVASCRIPT standard #################### -->
<script language="javascript" type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
<script language="javascript" type="text/javascript" src="js/jquery-ui.min.js" ></script>
<script language="javascript" type="text/javascript" src="js/su.js" ></script>
<script language="javascript" type="text/javascript" src="js/jquery-ui-i18n.min.js"></script>
<script language="javascript" type="text/javascript" src="js/chosen.jquery.min.js"></script>
<script language="javascript" type="text/javascript" src="js/jstree.min.js"></script>
<script language="javascript" type="text/javascript" src="js/jquery.dataTables.min.js"></script>
<script language="javascript" type="text/javascript" src="js/jquery.fancybox.pack.js"></script>
';
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output. '
<link rel="stylesheet" type="text/css" href="stil/'.$css_datei.'/jquery-ui.min.css" >
<link rel="stylesheet" type="text/css" href="stil/'.$css_datei.'/'.$css_datei.'" >
<link rel="stylesheet" type="text/css" href="stil/'.$css_datei.'/chosen.css" >
<link rel="stylesheet" type="text/css" href="stil/'.$css_datei.'/style.jstree.css" >
<link rel="stylesheet" type="text/css" href="stil/'.$css_datei.'/jquery.fancybox.css" >
<link rel="stylesheet" type="text/css" href="stil/'.$css_datei.'/jquery.dataTables_themeroller.css" >
<link rel="stylesheet" type="text/css" href="stil/'.$css_datei.'/jquery.dataTables.min.css" >
';
//<link rel="stylesheet" type="text/css" href="stil/'.$css_datei.'/styles.css" ></link>
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output. '
<!-- #################### Titel #################### -->
<title>calbers.de Webapplikationen - Workflowbearbeitung</title>
</head>
<body>';
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output. "<a name='header' ></a>";
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output. '<div id="menu_top">
<table border="0" ><tr><td><img src="img/calbers.de.gif" alt="Logo" style="display:inline;" /></td><td><img src="img/calbers.de.gif" alt="Logo" style="display:inline;" /></td></tr></table></div>
<h1 id="title">Workflowbearbeitung</h1>';
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output. '<div id="menu_1">';
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output. $eingeloggt_1;
$aseiuzrfsuaeghfol_html_output = $aseiuzrfsuaeghfol_html_output. "</div><div id='content' style='' >";
return array( "html"=>$aseiuzrfsuaeghfol_html_output, "name"=>$name, "ts"=>$ts, "eingeloggt"=>$eingeloggt_2 );
}
function liefere_fuss( $input )
{
return '</div><div id="menu_2">'.$input[ "eingeloggt" ].'</div><p id="footer" style="text-align:center;">&copy; calbers.de 2011-2015</p><a name="footer" ></a></body></html>';
}
?>