Hochladen aller Dateien des Projekts.
This commit is contained in:
830
w_maske.php
Executable file
830
w_maske.php
Executable file
@@ -0,0 +1,830 @@
|
||||
<?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> <span id='span_menu_3'>|</span> <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 = " <span style='color:silver;'>|</span> ";
|
||||
|
||||
}
|
||||
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;">© calbers.de 2011-2015</p><a name="footer" ></a></body></html>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user