Files
4G/w_fkt.php

1862 lines
49 KiB
PHP
Executable File

<?php
// Workflow
function workflow_anlegen( $mandant_name, $workflow_name, $dokart_kuerzel, $start_art, $protokoll_anlegen="on" )
{
$ok = existiert_mandant( $mandant_name );
if ( $ok[ 0 ] > 0 )
{
if ( strlen( $workflow_name ) > 0 )
{
if ( strlen( $dokart_kuerzel ) > 0 )
{
if ( strlen( $start_art ) > 0 )
{
if ( $protokoll_anlegen == "on" )
{
$protokoll_anlegen = "ja";
}
else
{
$protokoll_anlegen = "nein";
}
$STATEMENT = "insert into ca_wfl ( mandant_id, workflow_name, dokart_kuerzel, start_art, protokoll, status, start_maske ) values ( ".$ok[ 0 ].", '".$workflow_name."', '".$dokart_kuerzel."', '".$start_art."', '".$protokoll_anlegen."', 'in Entwicklung', 0 )";
$workflow_id = xdb( $STATEMENT );
if ( $workflow_id[ 0 ] > 0 )
{
$rc = $workflow_id[ 0 ];
$meldung = "Der Workflow ".$workflow_name." wurde mit der ID ".$rc." angelegt.";
}
else
{
$rc = -99;
$meldung = "Der Workflow ".$workflow_name." konnte nicht angelegt werden: ".$workflow_id[ 1 ];
}
}
else
{
$rc = -3;
$meldung = "Es wurde keine Start-Art angegeben.";
}
}
else
{
$rc = -2;
$meldung = "Es wurde kein Dokumentart-Kürzel angegeben.";
}
}
else
{
$rc = -1;
$meldung = "Es wurde kein Workflow-Name angegeben.";
}
}
else
{
$rc = $ok[ 0 ];
$meldung = $ok[ 1 ];
}
if ( $rc < 0 )
{
$level = 2;
}
else
{
$level = 4;
}
xlog( $level, "w_fkt.workflow_anlegen: RC ".$rc.": ".$meldung );
return array( $rc, $meldung );
}
function liefere_workflows( $mandant_name )
{
$ok = existiert_mandant( $mandant_name );
if ( $ok[ 0 ] > 0 )
{
$STATEMENT = "select workflow_id, workflow_name, status, start_maske, dokart_kuerzel, start_art, protokoll from ca_wfl where mandant_id = ".$ok[ 0 ];
$ergebnis = xdb( $STATEMENT );
if ( $ergebnis[ 0 ] > 0 )
{
$wfl = $ergebnis[ 1 ];
$rc = count( $wfl );
$meldung = "Liefere ".$rc." Workflows im Mandanten ".$mandant_name.".";
}
else
{
$rc = -99;
$meldung = "Es ist ein Fehler aufgetreten: ".$ergebnis[ 1 ];
}
}
else
{
$rc = $ok[ 0 ];
$meldung = $ok[ 1 ];
}
if ( $rc < 0 )
{
$level = 2;
}
else
{
$level = 6;
}
xlog( $level, "w_fkt.liefere_workflows: RC ".$rc.": ".$meldung );
return array( $rc, $meldung, $wfl );
}
function workflow_loeschen( $mandant_name, $workflow_name )
{
$ok = existiert_mandant( $mandant_name );
if ( $ok[ 0 ] > 0 )
{
if ( strlen( $workflow_name ) > 0 )
{
$m = liefere_masken_zu_workflow( $mandant_name, $workflow_name );
if ( $m[ 0 ] > 0 )
{
foreach( $m[ 2 ] as $maske )
{
loesche_maske( $mandant_name, $workflow_name, $maske[ "maske_name" ] );
}
}
$STATEMENT = "delete from ca_wfl where mandant_id = ".$ok[ 0 ]." and workflow_name = '".$workflow_name."'";
$ergebnis = xdb( $STATEMENT );
if ( $ergebnis[ 0 ] >= 0 )
{
$rc = 0;
$meldung = "Der Workflow ".$workflow_name." wurde im Mandanten ".$mandant_name." gelöscht.";
}
else
{
$rc = $ergebnis[ 0 ];
$meldung = "Es ist ein Fehler aufgetreten: ".$ergebnis[ 1 ];
}
}
else
{
$rc = -2;
$meldung = "Es wurde kein Workflow-Name angegeben.";
}
}
else
{
$rc = $ok[ 0 ];
$meldung = $ok[ 1 ];
}
if ( $rc < 0 )
{
$level = 2;
}
else
{
$level = 4;
}
xlog( $level, "w_fkt.workflow_loeschen: RC ".$rc.": ".$meldung );
return array( $rc, $meldung );
}
function liefere_workflowinformationen( $mandant_name, $workflow_name, $workflow_id = "" )
{
$ok = existiert_mandant( $mandant_name );
if ( $ok[ 0 ] > 0 )
{
if ( ( strlen( $workflow_name ) > 0 ) || ( strlen( $workflow_id ) > 0 ) )
{
if ( strlen( $workflow_name ) > 0 )
{
$where = " and workflow_name = '".$workflow_name."' ";
}
else
{
$where = " and workflow_id = '".$workflow_id."'";
}
$STATEMENT = "select mandant_id, workflow_id, workflow_name, dokart_kuerzel, start_art, status, start_maske, protokoll from ca_wfl where mandant_id = ".$ok[ 0 ]." ".$where;
$ergebnis = xdb( $STATEMENT );
if ( $ergebnis[ 0 ] > 0 )
{
$wfl_info[ "mandant_id" ] = $ergebnis[ 1 ][ 0 ][ "mandant_id" ];
$wfl_info[ "workflow_id" ] = $ergebnis[ 1 ][ 0 ][ "workflow_id" ];
$wfl_info[ "workflow_name" ] = $ergebnis[ 1 ][ 0 ][ "workflow_name" ];
$wfl_info[ "dokart_kuerzel" ] = $ergebnis[ 1 ][ 0 ][ "dokart_kuerzel" ];
$wfl_info[ "start_art" ] = $ergebnis[ 1 ][ 0 ][ "start_art" ];
$wfl_info[ "protokoll" ] = $ergebnis[ 1 ][ 0 ][ "protokoll" ];
$wfl_info[ "status" ] = $ergebnis[ 1 ][ 0 ][ "status" ];
$wfl_info[ "start_maske" ] = $ergebnis[ 1 ][ 0 ][ "start_maske" ];
$rc = $wfl_info[ "workflow_id" ];
$meldung = "Liefere Informationen zum Workflow ".$workflow_name.".";
}
else
{
$rc = -1;
$meldung = "Der Workflow ".$workflow_name." wurde nicht gefunden oder Fehler: ".$ergebnis[ 1 ];
}
}
else
{
$rc = -2;
$meldung = "Es wurde kein Workflow-Name angegeben.";
}
}
else
{
$rc = $ok[ 0 ];
$meldung = $ok[ 1 ];
}
if ( $rc < 0 )
{
$level = 2;
}
else
{
$level = 6;
}
xlog( $level, "w_fkt.liefere_workflowinformationen: RC ".$rc.": ".$meldung );
return array( $rc, $meldung, $wfl_info );
}
function workflow_bearbeiten( $mandant_name, $workflow_name, $dokart_kuerzel, $start_art, $status, $start_maske, $protokoll_anlegen )
{
$ok = existiert_mandant( $mandant_name );
if ( $ok[ 0 ] > 0 )
{
if ( !( ( strlen( $status ) == 0 ) || ( strlen( $workflow_name ) == 0 ) || ( strlen( $dokart_kuerzel ) == 0 ) || ( strlen( $start_art ) == 0 ) || ( ( $protokoll_anlegen != "ja" ) && ( $protokoll_anlegen != "nein" ) ) ) )
{
if ( ( ( strlen( $start_maske ) == 0 ) || ( $start_maske == 0 ) ) && ( $status == "produktiv" ) )
{
$rc = -4;
$meldung = "Ein Workflow, der produktiv gesetzt werden soll, muss eine Startmaske definiert haben.";
}
else
{
if ( strlen( $start_maske ) == 0 )
{
$start_m = " null ";
}
else
{
$start_m = "'".$start_maske."'";
}
$STATEMENT = "update ca_wfl set dokart_kuerzel = '".$dokart_kuerzel."', start_art = '".$start_art."', protokoll = '".$protokoll_anlegen."', start_maske = ".$start_m.", status = '".$status."' where workflow_name = '".$workflow_name."' and mandant_id = ".$ok[ 0 ];
$ergebnis = xdb( $STATEMENT );
$rc = 0;
$meldung = "Der Workflow ".$workflow_name." im Mandanten ".$mandant_name." wurde geändert.";
}
}
else
{
$rc = -1;
$meldung = "Falsche Parametrisierung: mandant_name|workflow_name|dokart_kuerzel|start_art|protokoll_anlegen|status|start_maske => ".$mandant_name."|".$workflow_name."|".$dokart_kuerzel."|".$start_art."|".$protokoll_anlegen."|".$status."|".$start_maske;
}
}
else
{
$rc = $ok[ 0 ];
$meldung = $ok[ 1 ];
}
if ( $rc < 0 )
{
$level = 2;
}
else
{
$level = 4;
}
xlog( $level, "w_fkt.workflow_bearbeiten: RC ".$rc.": ".$meldung );
return array( $rc, $meldung );
}
// Masken
function erstelle_maske( $mandant_name, $workflow_name, $maske_name, $maske_default_empfaenger, $maske_default_empfaenger_typ, $maske_default_folgemaske_id, $maske_default_frist, $plugin_01, $plugin_02 = array(), $plugin_03 = array(), $plugin_04 = array(), $plugin_05 = array(), $plugin_06 = array(), $plugin_07 = array(), $plugin_08 = array(), $plugin_09 = array(), $plugin_10 = array() )
{
/*
Beispiel:
$plugin_04[ "name" ] => Name der PHP-Plugin-Datei
$plugin_04[ "bezeichnung" ] => Bezeichnung
$plugin_04[ "aufgeklappt" ] => Startet in der Maske aufgeklappt
$plugin_04[ "einklappbar" ] => ist einklappbar
*/
$ok = existiert_mandant( $mandant_name );
if ( $ok[ 0 ] > 0 )
{
if ( !( ( strlen( $workflow_name ) == 0 ) || ( strlen( $maske_name ) == 0 ) || ( strlen( $maske_default_empfaenger ) == 0 ) || ( strlen( $maske_default_empfaenger ) == 0 ) || ( strlen( $plugin_01[ "name" ] ) == 0 ) ) )
{
$w = liefere_workflowinformationen( $mandant_name, $workflow_name );
if ( $w[ 0 ] > 0 )
{
$m = liefere_maskeninformationen( $mandant_name, $workflow_name, $maske_name );
if ( $m[ 0 ] <= 0 )
{
if ( $maske_default_folgemaske_id == "" )
{
$maske_default_folgemaske_id = 0;
}
if ( $maske_default_frist == "" )
{
$maske_default_frist = 3;
}
/////////////////////
// Zusammensetzen der Einstellungen pro Plugin
// standardmäßig geöffnet
$c_p01 = "0";
$c_p02 = "0";
$c_p03 = "0";
$c_p04 = "0";
$c_p05 = "0";
$c_p06 = "0";
$c_p07 = "0";
$c_p08 = "0";
$c_p09 = "0";
$c_p10 = "0";
// einklappbar
$e_p01 = "0";
$e_p02 = "0";
$e_p03 = "0";
$e_p04 = "0";
$e_p05 = "0";
$e_p06 = "0";
$e_p07 = "0";
$e_p08 = "0";
$e_p09 = "0";
$e_p10 = "0";
// accordion
$a_p01 = "0";
$a_p02 = "0";
$a_p03 = "0";
$a_p04 = "0";
$a_p05 = "0";
$a_p06 = "0";
$a_p07 = "0";
$a_p08 = "0";
$a_p09 = "0";
$a_p10 = "0";
if ( $plugin_01[ "name" ] != "" )
{
if ( $plugin_01[ "aufgeklappt" ] == "ja" )
{
$c_p01 = "1";
}
if ( $plugin_01[ "einklappbar" ] == "ja" )
{
$e_p01 = "1";
}
if ( $plugin_01[ "accordion" ] == "ja" )
{
$a_p01 = "1";
}
}
if ( $plugin_02[ "name" ] != "" )
{
if ( $plugin_02[ "aufgeklappt" ] == "ja" )
{
$c_p02 = "1";
}
if ( $plugin_02[ "einklappbar" ] == "ja" )
{
$e_p02 = "1";
}
if ( $plugin_02[ "accordion" ] == "ja" )
{
$a_p02 = "1";
}
}
if ( $plugin_03[ "name" ] != "" )
{
if ( $plugin_03[ "aufgeklappt" ] == "ja" )
{
$c_p03 = "1";
}
if ( $plugin_03[ "einklappbar" ] == "ja" )
{
$e_p03 = "1";
}
if ( $plugin_03[ "accordion" ] == "ja" )
{
$a_p03 = "1";
}
}
if ( $plugin_04[ "name" ] != "" )
{
if ( $plugin_04[ "aufgeklappt" ] == "ja" )
{
$c_p04 = "1";
}
if ( $plugin_04[ "einklappbar" ] == "ja" )
{
$e_p04 = "1";
}
if ( $plugin_04[ "accordion" ] == "ja" )
{
$a_p04 = "1";
}
}
if ( $plugin_05[ "name" ] != "" )
{
if ( $plugin_05[ "aufgeklappt" ] == "ja" )
{
$c_p05 = "1";
}
if ( $plugin_05[ "einklappbar" ] == "ja" )
{
$e_p05 = "1";
}
if ( $plugin_05[ "accordion" ] == "ja" )
{
$a_p05 = "1";
}
}
if ( $plugin_06[ "name" ] != "" )
{
if ( $plugin_06[ "aufgeklappt" ] == "ja" )
{
$c_p06 = "1";
}
if ( $plugin_06[ "einklappbar" ] == "ja" )
{
$e_p06 = "1";
}
if ( $plugin_06[ "accordion" ] == "ja" )
{
$a_p06 = "1";
}
}
if ( $plugin_07[ "name" ] != "" )
{
if ( $plugin_07[ "aufgeklappt" ] == "ja" )
{
$c_p07 = "1";
}
if ( $plugin_07[ "einklappbar" ] == "ja" )
{
$e_p07 = "1";
}
if ( $plugin_07[ "accordion" ] == "ja" )
{
$a_p07 = "1";
}
}
if ( $plugin_08[ "name" ] != "" )
{
if ( $plugin_08[ "aufgeklappt" ] == "ja" )
{
$c_p08 = "1";
}
if ( $plugin_08[ "einklappbar" ] == "ja" )
{
$e_p08 = "1";
}
if ( $plugin_08[ "accordion" ] == "ja" )
{
$a_p08 = "1";
}
}
if ( $plugin_09[ "name" ] != "" )
{
if ( $plugin_09[ "aufgeklappt" ] == "ja" )
{
$c_p09 = "1";
}
if ( $plugin_09[ "einklappbar" ] == "ja" )
{
$e_p09 = "1";
}
if ( $plugin_09[ "accordion" ] == "ja" )
{
$a_p09 = "1";
}
}
if ( $plugin_10[ "name" ] != "" )
{
if ( $plugin_10[ "aufgeklappt" ] == "ja" )
{
$c_p10 = "1";
}
if ( $plugin_10[ "einklappbar" ] == "ja" )
{
$e_p10 = "1";
}
if ( $plugin_10[ "accordion" ] == "ja" )
{
$a_p10 = "1";
}
}
//xlog( 4, json_encode( $plugin_01 ) );
$c_p01 = $c_p01.$e_p01.$a_p01."0000000";
$c_p02 = $c_p02.$e_p02.$a_p02."0000000";
$c_p03 = $c_p03.$e_p03.$a_p03."0000000";
$c_p04 = $c_p04.$e_p04.$a_p04."0000000";
$c_p05 = $c_p05.$e_p05.$a_p05."0000000";
$c_p06 = $c_p06.$e_p06.$a_p06."0000000";
$c_p07 = $c_p07.$e_p07.$a_p07."0000000";
$c_p08 = $c_p08.$e_p08.$a_p08."0000000";
$c_p09 = $c_p09.$e_p09.$a_p09."0000000";
$c_p10 = $c_p10.$e_p10.$a_p10."0000000";
$zeitpunkt = time();
$STATEMENT = "insert into ca_wfl_maske ( workflow_id, maske_name, maske_default_empfaenger, maske_default_empfaenger_typ, maske_default_folgemaske, 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, maske_p01_einst, maske_p02_einst, maske_p03_einst, maske_p04_einst, maske_p05_einst, maske_p06_einst, maske_p07_einst, maske_p08_einst, maske_p09_einst, maske_p10_einst, maske_p01_bez, maske_p02_bez, maske_p03_bez, maske_p04_bez, maske_p05_bez, maske_p06_bez, maske_p07_bez, maske_p08_bez, maske_p09_bez, maske_p10_bez, maske_default_frist, erstellt_am, geaendert_am ) values ( ".$w[ 0 ].", '".$maske_name."', '".$maske_default_empfaenger."', '".$maske_default_empfaenger_typ."', ".$maske_default_folgemaske_id.", '".$plugin_01[ "name" ]."', '".$plugin_02[ "name" ]."', '".$plugin_03[ "name" ]."', '".$plugin_04[ "name" ]."', '".$plugin_05[ "name" ]."', '".$plugin_06[ "name" ]."', '".$plugin_07[ "name" ]."', '".$plugin_08[ "name" ]."', '".$plugin_09[ "name" ]."', '".$plugin_10[ "name" ]."', '".$c_p01."', '".$c_p02."', '".$c_p03."', '".$c_p04."', '".$c_p05."', '".$c_p06."', '".$c_p07."', '".$c_p08."', '".$c_p09."', '".$c_p10."', '".$plugin_01[ "bezeichnung" ]."', '".$plugin_02[ "bezeichnung" ]."', '".$plugin_03[ "bezeichnung" ]."', '".$plugin_04[ "bezeichnung" ]."', '".$plugin_05[ "bezeichnung" ]."', '".$plugin_06[ "bezeichnung" ]."', '".$plugin_07[ "bezeichnung" ]."', '".$plugin_08[ "bezeichnung" ]."', '".$plugin_09[ "bezeichnung" ]."', '".$plugin_10[ "bezeichnung" ]."', ".$maske_default_frist.", '".$zeitpunkt."', '".$zeitpunkt."' ); ";
//xlog( 4, $STATEMENT );
$ma = xdb( $STATEMENT );
$rc = $ma[ 0 ];
$meldung = "Die Maske ".$maske_name." wurde im Workflow ".$workflow_name." mit der ID ".$rc." erstellt.";
}
else
{
$rc = -4;
$meldung = "Die Maske ".$maske_name." existiert bereits im Workflow ".$workflow_name.".";
}
}
else
{
$rc = -3;
$meldung = "Der Workflow ".$workflow_name." existiert nicht oder Fehler: ".$w[ 1 ];
}
}
else
{
$rc = -2;
$meldung = "Falsche Parametrisierung: workflow_name|maske_name|maske_default_empfaenger|maske_default_empfaenger_typ|plugin_01 => ".$workflow_name."|".$maske_name."|".$maske_default_empfaenger."|".$maske_default_empfaenger_typ."|".$plugin_01[ "name" ];
}
}
else
{
$rc = $ok[ 0 ];
$meldung = $ok[ 1 ];
}
if ( $rc < 0 )
{
$level = 2;
}
else
{
$level = 4;
}
xlog( $level, "w_fkt.erstelle_maske: RC ".$rc.": ".$meldung );
return array( $rc, $meldung );
}
function aendere_maske( $mandant_name, $workflow_name, $maske_name, $neuer_maske_name, $maske_default_empfaenger, $maske_default_empfaenger_typ, $maske_default_folgemaske_id, $maske_default_frist, $plugin_01, $plugin_02 = array(), $plugin_03 = array(), $plugin_04 = array(), $plugin_05 = array(), $plugin_06 = array(), $plugin_07 = array(), $plugin_08 = array(), $plugin_09 = array(), $plugin_10 = array() )
{
/*
Beispiel:
$plugin_04[ "name" ] => Name der PHP-Plugin-Datei
$plugin_04[ "bezeichnung" ] => Bezeichnung
$plugin_04[ "aufgeklappt" ] => Startet in der Maske aufgeklappt
$plugin_04[ "einklappbar" ] => ist einklappbar
*/
//xlog( 4, "bezeichnung ".$plugin_01[ "bezeichnung" ] );
$ok = existiert_mandant( $mandant_name );
if ( $ok[ 0 ] > 0 )
{
if ( !( ( strlen( $workflow_name ) == 0 ) || ( strlen( $maske_name ) == 0 ) || ( strlen( $maske_default_empfaenger ) == 0 ) || ( strlen( $plugin_01[ "name" ] ) == 0 ) ) )
{
$w = liefere_workflowinformationen( $mandant_name, $workflow_name );
if ( $w[ 0 ] > 0 )
{
$m = liefere_maskeninformationen( $mandant_name, $workflow_name, $maske_name );
if ( $m[ 0 ] > 0 )
{
if ( strlen( $neuer_maske_name ) == 0 )
{
$neuer_maske_name = $maske_name;
}
/////////////////////
// Zusammensetzen der Einstellungen pro Plugin
// standardmäßig geöffnet
$c_p01 = "0";
$c_p02 = "0";
$c_p03 = "0";
$c_p04 = "0";
$c_p05 = "0";
$c_p06 = "0";
$c_p07 = "0";
$c_p08 = "0";
$c_p09 = "0";
$c_p10 = "0";
// einklappbar
$e_p01 = "0";
$e_p02 = "0";
$e_p03 = "0";
$e_p04 = "0";
$e_p05 = "0";
$e_p06 = "0";
$e_p07 = "0";
$e_p08 = "0";
$e_p09 = "0";
$e_p10 = "0";
// accordion
$a_p01 = "0";
$a_p02 = "0";
$a_p03 = "0";
$a_p04 = "0";
$a_p05 = "0";
$a_p06 = "0";
$a_p07 = "0";
$a_p08 = "0";
$a_p09 = "0";
$a_p10 = "0";
if ( $plugin_01[ "name" ] != "" )
{
if ( $plugin_01[ "aufgeklappt" ] == "ja" )
{
$c_p01 = "1";
}
if ( $plugin_01[ "einklappbar" ] == "ja" )
{
$e_p01 = "1";
}
if ( $plugin_01[ "accordion" ] == "ja" )
{
$a_p01 = "1";
}
}
if ( $plugin_02[ "name" ] != "" )
{
if ( $plugin_02[ "aufgeklappt" ] == "ja" )
{
$c_p02 = "1";
}
if ( $plugin_02[ "einklappbar" ] == "ja" )
{
$e_p02 = "1";
}
if ( $plugin_02[ "accordion" ] == "ja" )
{
$a_p02 = "1";
}
}
if ( $plugin_03[ "name" ] != "" )
{
if ( $plugin_03[ "aufgeklappt" ] == "ja" )
{
$c_p03 = "1";
}
if ( $plugin_03[ "einklappbar" ] == "ja" )
{
$e_p03 = "1";
}
if ( $plugin_03[ "accordion" ] == "ja" )
{
$a_p03 = "1";
}
}
if ( $plugin_04[ "name" ] != "" )
{
if ( $plugin_04[ "aufgeklappt" ] == "ja" )
{
$c_p04 = "1";
}
if ( $plugin_04[ "einklappbar" ] == "ja" )
{
$e_p04 = "1";
}
if ( $plugin_04[ "accordion" ] == "ja" )
{
$a_p04 = "1";
}
}
if ( $plugin_05[ "name" ] != "" )
{
if ( $plugin_05[ "aufgeklappt" ] == "ja" )
{
$c_p05 = "1";
}
if ( $plugin_05[ "einklappbar" ] == "ja" )
{
$e_p05 = "1";
}
if ( $plugin_05[ "accordion" ] == "ja" )
{
$a_p05 = "1";
}
}
if ( $plugin_06[ "name" ] != "" )
{
if ( $plugin_06[ "aufgeklappt" ] == "ja" )
{
$c_p06 = "1";
}
if ( $plugin_06[ "einklappbar" ] == "ja" )
{
$e_p06 = "1";
}
if ( $plugin_06[ "accordion" ] == "ja" )
{
$a_p06 = "1";
}
}
if ( $plugin_07[ "name" ] != "" )
{
if ( $plugin_07[ "aufgeklappt" ] == "ja" )
{
$c_p07 = "1";
}
if ( $plugin_07[ "einklappbar" ] == "ja" )
{
$e_p07 = "1";
}
if ( $plugin_07[ "accordion" ] == "ja" )
{
$a_p07 = "1";
}
}
if ( $plugin_08[ "name" ] != "" )
{
if ( $plugin_08[ "aufgeklappt" ] == "ja" )
{
$c_p08 = "1";
}
if ( $plugin_08[ "einklappbar" ] == "ja" )
{
$e_p08 = "1";
}
if ( $plugin_08[ "accordion" ] == "ja" )
{
$a_p08 = "1";
}
}
if ( $plugin_09[ "name" ] != "" )
{
if ( $plugin_09[ "aufgeklappt" ] == "ja" )
{
$c_p09 = "1";
}
if ( $plugin_09[ "einklappbar" ] == "ja" )
{
$e_p09 = "1";
}
if ( $plugin_09[ "accordion" ] == "ja" )
{
$a_p09 = "1";
}
}
if ( $plugin_10[ "name" ] != "" )
{
if ( $plugin_10[ "aufgeklappt" ] == "ja" )
{
$c_p10 = "1";
}
if ( $plugin_10[ "einklappbar" ] == "ja" )
{
$e_p10 = "1";
}
if ( $plugin_10[ "accordion" ] == "ja" )
{
$a_p10 = "1";
}
}
$c_p01 = $c_p01.$e_p01.$a_p01."0000000";
$c_p02 = $c_p02.$e_p02.$a_p02."0000000";
$c_p03 = $c_p03.$e_p03.$a_p03."0000000";
$c_p04 = $c_p04.$e_p04.$a_p04."0000000";
$c_p05 = $c_p05.$e_p05.$a_p05."0000000";
$c_p06 = $c_p06.$e_p06.$a_p06."0000000";
$c_p07 = $c_p07.$e_p07.$a_p07."0000000";
$c_p08 = $c_p08.$e_p08.$a_p08."0000000";
$c_p09 = $c_p09.$e_p09.$a_p09."0000000";
$c_p10 = $c_p10.$e_p10.$a_p10."0000000";
$STATEMENT = "update ca_wfl_maske set maske_name = '".$neuer_maske_name."', maske_default_empfaenger = '".$maske_default_empfaenger."', maske_default_empfaenger_typ = '".$maske_default_empfaenger_typ."', maske_plugin_01 = '".$plugin_01[ "name" ]."', maske_plugin_02 = '".$plugin_02[ "name" ]."', maske_plugin_03 = '".$plugin_03[ "name" ]."', maske_plugin_04 = '".$plugin_04[ "name" ]."', maske_plugin_05 = '".$plugin_05[ "name" ]."', maske_plugin_06 = '".$plugin_06[ "name" ]."', maske_plugin_07 = '".$plugin_07[ "name" ]."', maske_plugin_08 = '".$plugin_08[ "name" ]."', maske_plugin_09 = '".$plugin_09[ "name" ]."', maske_plugin_10 = '".$plugin_10[ "name" ]."', maske_p01_einst = '".$c_p01."', maske_p01_bez = '".$plugin_01[ "bezeichnung" ]."', maske_p02_einst = '".$c_p02."', maske_p02_bez = '".$plugin_02[ "bezeichnung" ]."', maske_p03_einst = '".$c_p03."', maske_p03_bez = '".$plugin_03[ "bezeichnung" ]."', maske_p04_einst = '".$c_p04."', maske_p04_bez = '".$plugin_04[ "bezeichnung" ]."', maske_p05_einst = '".$c_p05."', maske_p05_bez = '".$plugin_05[ "bezeichnung" ]."', maske_p06_einst = '".$c_p06."', maske_p06_bez = '".$plugin_06[ "bezeichnung" ]."', maske_p07_einst = '".$c_p07."', maske_p07_bez = '".$plugin_07[ "bezeichnung" ]."', maske_p08_einst = '".$c_p08."', maske_p08_bez = '".$plugin_08[ "bezeichnung" ]."', maske_p09_einst = '".$c_p09."', maske_p09_bez = '".$plugin_09[ "bezeichnung" ]."', maske_p10_einst = '".$c_p10."', maske_p10_bez = '".$plugin_10[ "bezeichnung" ]."', maske_default_folgemaske = ".$maske_default_folgemaske_id.", maske_default_frist = '".$maske_default_frist."', geaendert_am = '".time()."' where maske_id = ".$m[ 0 ];
//xlog( 4, "aendere_maske ".$STATEMENT );
$ma = xdb( $STATEMENT );
$rc = $ma[ 0 ];
$meldung = "Die Maske ".$maske_name." (ID ".$m[ 0 ].") wurde im Workflow ".$workflow_name." geändert.";
}
else
{
$rc = -4;
$meldung = "Die Maske ".$maske_name." existiert im Workflow ".$workflow_name." nicht.";
}
}
else
{
$rc = -3;
$meldung = "Der Workflow ".$workflow_name." existiert nicht oder Fehler: ".$w[ 1 ];
}
}
else
{
$rc = -2;
$meldung = "Falsche Parametrisierung: workflow_name|maske_name|maske_default_empfaenger|maske_default_empfaenger_typ|plugin_01 => ".$workflow_name."|".$maske_name."|".$maske_default_empfaenger."|".$maske_default_empfaenger_typ."|".$plugin_01[ "name" ];
}
}
else
{
$rc = $ok[ 0 ];
$meldung = $ok[ 1 ];
}
if ( $rc < 0 )
{
$level = 2;
}
else
{
$level = 4;
}
xlog( $level, "w_fkt.aendere_maske: RC ".$rc.": ".$meldung );
return array( $rc, $meldung );
}
function liefere_maskeninformationen( $mandant_name, $workflow_name, $maske_name = "", $maske_id = "", $workflow = "" )
{
$ok = existiert_mandant( $mandant_name );
$ergebnis = array();
if ( $ok[ 0 ] > 0 )
{
if ( !( ( strlen( $workflow_name ) == 0 ) || ( ( strlen( $maske_name ) == 0 ) && ( strlen( $maske_id ) == 0 ) ) ) )
{
if ( is_array( $workflow ) )
{
$w = $workflow;
}
else
{
$w = liefere_workflowinformationen( $mandant_name, $workflow_name );
}
if ( $w[ 0 ] > 0 )
{
if ( strlen( $maske_name ) > 0 )
{
$where = " maske_name = '".$maske_name."' ";
}
else
{
$where = " maske_id = ".$maske_id;
}
$STATEMENT = "select workflow_id, maske_id, maske_name, maske_default_empfaenger, maske_default_empfaenger_typ, maske_default_folgemaske, 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, maske_p01_einst, maske_p02_einst, maske_p03_einst, maske_p04_einst, maske_p05_einst, maske_p06_einst, maske_p07_einst, maske_p08_einst, maske_p09_einst, maske_p10_einst, maske_p01_bez, maske_p02_bez, maske_p03_bez, maske_p04_bez, maske_p05_bez, maske_p06_bez, maske_p07_bez, maske_p08_bez, maske_p09_bez, maske_p10_bez, maske_default_frist, geaendert_am, erstellt_am from ca_wfl_maske where workflow_id = ".$w[ 0 ]." and ".$where;
//xlog( 4, $STATEMENT );
$m = xdb( $STATEMENT );
if ( $m[ 0 ] > 0 )
{
$ergebnis[ "workflow_id" ] = $m[ 1 ][ 0 ][ "workflow_id" ];
$ergebnis[ "workflow_name" ] = $workflow_name;
$ergebnis[ "workflow" ] = $w[ 2 ];
$ergebnis[ "workflow_id" ] = $m[ 1 ][ 0 ][ "workflow_id" ];
$ergebnis[ "maske_id" ] = $m[ 1 ][ 0 ][ "maske_id" ];
$ergebnis[ "maske_name" ] = $m[ 1 ][ 0 ][ "maske_name" ];
$ergebnis[ "maske_default_empfaenger" ] = $m[ 1 ][ 0 ][ "maske_default_empfaenger" ];
$ergebnis[ "maske_default_empfaenger_typ" ] = $m[ 1 ][ 0 ][ "maske_default_empfaenger_typ" ];
$ergebnis[ "maske_default_folgemaske" ] = $m[ 1 ][ 0 ][ "maske_default_folgemaske" ];
$ergebnis[ "maske_default_frist" ] = $m[ 1 ][ 0 ][ "maske_default_frist" ];
$ergebnis[ "geaendert_am" ] = $m[ 1 ][ 0 ][ "geaendert_am" ];
$ergebnis[ "erstellt_am" ] = $m[ 1 ][ 0 ][ "erstellt_am" ];
$ergebnis[ "geaendert_am_date" ] = date( "d.m.Y H:i", $m[ 1 ][ 0 ][ "geaendert_am" ] )." Uhr";
$ergebnis[ "erstellt_am_date" ] = date( "d.m.Y H:i", $m[ 1 ][ 0 ][ "erstellt_am" ] )." Uhr";
$ergebnis[ "maske_plugin_01_bez" ] = $m[ 1 ][ 0 ][ "maske_p01_bez" ];
$ergebnis[ "maske_plugin_01_bezeichnung" ] = $m[ 1 ][ 0 ][ "maske_p01_bez" ];
$ergebnis[ "maske_plugin_02_bez" ] = $m[ 1 ][ 0 ][ "maske_p02_bez" ];
$ergebnis[ "maske_plugin_02_bezeichnung" ] = $m[ 1 ][ 0 ][ "maske_p02_bez" ];
$ergebnis[ "maske_plugin_03_bez" ] = $m[ 1 ][ 0 ][ "maske_p03_bez" ];
$ergebnis[ "maske_plugin_03_bezeichnung" ] = $m[ 1 ][ 0 ][ "maske_p03_bez" ];
$ergebnis[ "maske_plugin_04_bez" ] = $m[ 1 ][ 0 ][ "maske_p04_bez" ];
$ergebnis[ "maske_plugin_04_bezeichnung" ] = $m[ 1 ][ 0 ][ "maske_p04_bez" ];
$ergebnis[ "maske_plugin_05_bez" ] = $m[ 1 ][ 0 ][ "maske_p05_bez" ];
$ergebnis[ "maske_plugin_05_bezeichnung" ] = $m[ 1 ][ 0 ][ "maske_p05_bez" ];
$ergebnis[ "maske_plugin_06_bez" ] = $m[ 1 ][ 0 ][ "maske_p06_bez" ];
$ergebnis[ "maske_plugin_06_bezeichnung" ] = $m[ 1 ][ 0 ][ "maske_p06_bez" ];
$ergebnis[ "maske_plugin_07_bez" ] = $m[ 1 ][ 0 ][ "maske_p07_bez" ];
$ergebnis[ "maske_plugin_07_bezeichnung" ] = $m[ 1 ][ 0 ][ "maske_p07_bez" ];
$ergebnis[ "maske_plugin_08_bez" ] = $m[ 1 ][ 0 ][ "maske_p08_bez" ];
$ergebnis[ "maske_plugin_08_bezeichnung" ] = $m[ 1 ][ 0 ][ "maske_p08_bez" ];
$ergebnis[ "maske_plugin_09_bez" ] = $m[ 1 ][ 0 ][ "maske_p09_bez" ];
$ergebnis[ "maske_plugin_09_bezeichnung" ] = $m[ 1 ][ 0 ][ "maske_p09_bez" ];
$ergebnis[ "maske_plugin_10_bez" ] = $m[ 1 ][ 0 ][ "maske_p10_bez" ];
$ergebnis[ "maske_plugin_10_bezeichnung" ] = $m[ 1 ][ 0 ][ "maske_p10_bez" ];
/////////////////////
$ergebnis[ "maske_plugin_01" ] = $m[ 1 ][ 0 ][ "maske_plugin_01" ];
if ( substr( $m[ 1 ][ 0 ][ "maske_p01_einst" ], 0, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_01_geoeffnet" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_01_geoeffnet" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p01_einst" ], 1, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_01_einklappbar" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_01_einklappbar" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p01_einst" ], 2, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_01_accordion" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_01_accordion" ] = "nein";
}
/////////////////////
$ergebnis[ "maske_plugin_02" ] = $m[ 1 ][ 0 ][ "maske_plugin_02" ];
if ( substr( $m[ 1 ][ 0 ][ "maske_p02_einst" ], 0, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_02_geoeffnet" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_02_geoeffnet" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p02_einst" ], 1, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_02_einklappbar" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_02_einklappbar" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p02_einst" ], 2, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_02_accordion" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_02_accordion" ] = "nein";
}
/////////////////////
$ergebnis[ "maske_plugin_03" ] = $m[ 1 ][ 0 ][ "maske_plugin_03" ];
if ( substr( $m[ 1 ][ 0 ][ "maske_p03_einst" ], 0, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_03_geoeffnet" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_03_geoeffnet" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p03_einst" ], 1, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_03_einklappbar" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_03_einklappbar" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p03_einst" ], 2, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_03_accordion" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_03_accordion" ] = "nein";
}
/////////////////////
$ergebnis[ "maske_plugin_04" ] = $m[ 1 ][ 0 ][ "maske_plugin_04" ];
if ( substr( $m[ 1 ][ 0 ][ "maske_p04_einst" ], 0, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_04_geoeffnet" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_04_geoeffnet" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p04_einst" ], 1, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_04_einklappbar" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_04_einklappbar" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p04_einst" ], 2, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_04_accordion" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_04_accordion" ] = "nein";
}
/////////////////////
$ergebnis[ "maske_plugin_05" ] = $m[ 1 ][ 0 ][ "maske_plugin_05" ];
if ( substr( $m[ 1 ][ 0 ][ "maske_p05_einst" ], 0, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_05_geoeffnet" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_05_geoeffnet" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p05_einst" ], 1, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_05_einklappbar" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_05_einklappbar" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p05_einst" ], 2, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_05_accordion" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_05_accordion" ] = "nein";
}
/////////////////////
$ergebnis[ "maske_plugin_06" ] = $m[ 1 ][ 0 ][ "maske_plugin_06" ];
if ( substr( $m[ 1 ][ 0 ][ "maske_p06_einst" ], 0, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_06_geoeffnet" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_06_geoeffnet" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p06_einst" ], 1, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_06_einklappbar" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_06_einklappbar" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p06_einst" ], 2, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_06_accordion" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_06_accordion" ] = "nein";
}
/////////////////////
$ergebnis[ "maske_plugin_07" ] = $m[ 1 ][ 0 ][ "maske_plugin_07" ];
if ( substr( $m[ 1 ][ 0 ][ "maske_p07_einst" ], 0, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_07_geoeffnet" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_07_geoeffnet" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p07_einst" ], 1, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_07_einklappbar" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_07_einklappbar" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p07_einst" ], 2, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_07_accordion" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_07_accordion" ] = "nein";
}
/////////////////////
$ergebnis[ "maske_plugin_08" ] = $m[ 1 ][ 0 ][ "maske_plugin_08" ];
if ( substr( $m[ 1 ][ 0 ][ "maske_p08_einst" ], 0, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_08_geoeffnet" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_08_geoeffnet" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p08_einst" ], 1, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_08_einklappbar" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_08_einklappbar" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p08_einst" ], 2, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_08_accordion" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_08_accordion" ] = "nein";
}
/////////////////////
$ergebnis[ "maske_plugin_09" ] = $m[ 1 ][ 0 ][ "maske_plugin_09" ];
if ( substr( $m[ 1 ][ 0 ][ "maske_p09_einst" ], 0, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_09_geoeffnet" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_09_geoeffnet" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p09_einst" ], 1, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_09_einklappbar" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_09_einklappbar" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p09_einst" ], 2, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_09_accordion" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_09_accordion" ] = "nein";
}
/////////////////////
$ergebnis[ "maske_plugin_10" ] = $m[ 1 ][ 0 ][ "maske_plugin_10" ];
if ( substr( $m[ 1 ][ 0 ][ "maske_p10_einst" ], 0, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_10_geoeffnet" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_10_geoeffnet" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p10_einst" ], 1, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_10_einklappbar" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_10_einklappbar" ] = "nein";
}
if ( substr( $m[ 1 ][ 0 ][ "maske_p10_einst" ], 2, 1 ) == "1" )
{
$ergebnis[ "maske_plugin_10_accordion" ] = "ja";
}
else
{
$ergebnis[ "maske_plugin_10_accordion" ] = "nein";
}
$rc = $m[ 1 ][ 0 ][ "maske_id" ];
$meldung = "Liefere Informationen zur Maske ".$ergebnis[ "maske_name" ]." aus dem Workflow ".$workflow_name.".";
}
else
{
$rc = -4;
$meldung = "Die Maske ".$maske_name." / ID ".$maske_id." existiert im Workflow ".$workflow_name." nicht.";
}
}
else
{
$rc = -3;
$meldung = "Der Workflow ".$workflow_name." existiert nicht oder Fehler: ".$w[ 1 ];
}
}
else
{
$rc = -2;
$meldung = "Falsche Parametrisierung: workflow_name|maske_name|maske_id => ".$workflow_name."|".$maske_name."|".$maske_id;
}
}
else
{
$rc = $ok[ 0 ];
$meldung = $ok[ 1 ];
}
if ( $rc < 0 )
{
$level = 2;
}
else
{
$level = 6;
}
xlog( $level, "w_fkt.liefere_maskeninformationen: RC ".$rc.": ".$meldung );
return array( $rc, $meldung, $ergebnis );
}
function liefere_masken_zu_workflow( $mandant_name, $workflow_name )
{
$ok = existiert_mandant( $mandant_name );
$ergebnisarray = array();
if ( $ok[ 0 ] > 0 )
{
$w = liefere_workflowinformationen( $mandant_name, $workflow_name );
if ( $w[ 0 ] > 0 )
{
$STATEMENT = "select workflow_id, maske_id, maske_name, maske_default_empfaenger, maske_default_empfaenger_typ, maske_default_folgemaske, 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 from ca_wfl_maske where workflow_id = ".$w[ 0 ]." ";
//xlog( 5, $STATEMENT );
$m = xdb( $STATEMENT );
if ( $m[ 0 ] > 0 )
{
$ergebnisarray = $m[ 1 ];
$rc = count( $ergebnisarray );
$meldung = "Liefere ".$rc." Masken für den Workflow ".$workflow_name.".";
}
else
{
$rc = 0;
$meldung = "Es wurden keine Masken gefunden oder Fehler: ".$ergebnis[ 1 ];
}
}
else
{
$rc = -2;
$meldung = "Falsche Parametrisierung: workflow_name => ".$workflow_name;
}
}
else
{
$rc = $ok[ 0 ];
$meldung = $ok[ 1 ];
}
if ( $rc < 0 )
{
$level = 2;
}
else
{
$level = 4;
}
xlog( $level, "w_fkt.liefere_masken_zu_workflow: RC ".$rc.": ".$meldung );
return array( $rc, $meldung, $ergebnisarray );
}
function loesche_maske( $mandant_name, $workflow_name, $maske_name )
{
$ok = existiert_mandant( $mandant_name );
$ergebnisarray = array();
if ( $ok[ 0 ] > 0 )
{
$w = liefere_workflowinformationen( $mandant_name, $workflow_name );
if ( $w[ 0 ] > 0 )
{
$m = liefere_maskeninformationen( $mandant_name, $workflow_name, $maske_name );
if ( $m[ 0 ] > 0 )
{
$STATEMENT = "delete from ca_wfl_maske_einstellungen where maske_id = ".$m[ 0 ];
xdb( $STATEMENT );
$STATEMENT = "delete from ca_wfl_maske where maske_id = ".$m[ 0 ];
xdb( $STATEMENT );
$rc = 0;
$meldung = "Die Maske ".$maske_name." wurde im Workflow ".$workflow_name." gelöscht.";
}
else
{
$rc = -4;
$meldung = "Die Maske ".$maske_name." existiert nicht im Workflow ".$workflow_name.".";
}
}
else
{
$rc = -2;
$meldung = "Falsche Parametrisierung: workflow_name => ".$workflow_name;
}
}
else
{
$rc = $ok[ 0 ];
$meldung = $ok[ 1 ];
}
if ( $rc < 0 )
{
$level = 2;
}
else
{
$level = 4;
}
xlog( $level, "w_fkt.loesche_maske: RC ".$rc.": ".$meldung );
return array( $rc, $meldung );
}
///// Workflow-Protokoll
function erstelle_protokolleintrag( $mandant_name, $workflow_name, $dok_id, $benutzer_anmeldename, $ereignis, $text )
{
$ok = existiert_mandant( $mandant_name );
$ergebnisarray = array();
if ( $ok[ 0 ] > 0 )
{
$w = liefere_workflowinformationen( $mandant_name, $workflow_name );
if ( $w[ 0 ] > 0 )
{
$STATEMENT = "insert into ca_wfl_protokoll ( dok_id, workflow_id, zeitstempel, benutzer_anmeldename, ereignis, text ) values ( ".$dok_id.", ".$w[ 0 ].", '".time()."', '".$benutzer_anmeldename."', '".$ereignis."', '".$text."' )";
xdb( $STATEMENT );
$rc = 0;
$meldung = "Es wurde ein Workflow-Protokolleintrag für das Dokument ".$dok_id." erzeugt.";
}
else
{
$rc = -2;
$meldung = "Falsche Parametrisierung: workflow_name => ".$workflow_name;
}
}
else
{
$rc = $ok[ 0 ];
$meldung = $ok[ 1 ];
}
if ( $rc < 0 )
{
$level = 2;
}
else
{
$level = 4;
}
xlog( $level, "w_fkt.erstelle_protokolleintrag: RC ".$rc.": ".$meldung );
return array( $rc, $meldung );
}
function liefere_protokoll( $mandant_name, $dok_id )
{
$ok = existiert_mandant( $mandant_name );
if ( $ok[ 0 ] > 0 )
{
if ( strlen( $dok_id ) > 0 )
{
$STATEMENT = "select id, dok_id, workflow_id, zeitstempel, benutzer_anmeldename, ereignis, text from ca_wfl_protokoll where dok_id = ".$dok_id." order by zeitstempel";
$ergebnis = xdb( $STATEMENT );
if ( $ergebnis[ 0 ] > 0 )
{
$wid = -1;
foreach( $ergebnis[ 1 ] as $zeile )
{
if ( $zeile[ "workflow_id" ] != $wid )
{
$w = liefere_workflowinformationen( $mandant_name, "", $zeile[ "workflow_id" ] );
$wid = $zeile[ "workflow_id" ];
}
$protokoll[] = array(
"id" => $zeile[ "id" ],
"workflow_id" => $zeile[ "workflow_id" ],
"zeitstempel" => $zeile[ "zeitstempel" ],
"benutzer_anmeldename" => $zeile[ "benutzer_anmeldename" ],
"ereignis" => $zeile[ "ereignis" ],
"text" => $zeile[ "text" ],
"zeitstempel_h" => date( "d.m.Y H:i", $zeile[ "zeitstempel" ] )." Uhr",
"workflow_name" => $w[ 2 ][ "workflow_name" ]
);
}
$rc = count( $protokoll );
$meldung = "Liefere Workflow-Protokoll zu Dokument ".$dok_id.".";
}
else
{
$protokoll = array( "dok_id"=>$dok_id, "zeitstempel"=>"n.a.", "text"=>"Zu diesem Dokument gibt es kein Workflowprotokoll." );
}
}
else
{
$rc = -3;
$meldung = "Es wurde keine Dokument-ID angegeben.";
}
}
else
{
$rc = $ok[ 0 ];
$meldung = $ok[ 1 ];
}
if ( $rc < 0 )
{
$level = 2;
}
else
{
$level = 4;
}
xlog( $level, "w_fkt.liefere_protokoll: RC ".$rc.": ".$meldung );
return array( $rc, $meldung, $protokoll );
}
function starte_workflow( $mandant_name, $workflow_name, $dok_id, $benutzer_anmeldename = "", $empfaenger = "", $empfaenger_typ = "" )
{
$ok = existiert_mandant( $mandant_name );
if ( $ok[ 0 ] > 0 )
{
$w = liefere_workflowinformationen( $mandant_name, $workflow_name );
if ( $w[ 0 ] > 0 )
{
$m = liefere_maskeninformationen( $mandant_name, $workflow_name, "", $w[ 2 ][ "start_maske" ], $w );
if ( ( $w[ 2 ][ "status" ] == "in Entwicklung" ) || ( $w[ 2 ][ "status" ] == "im Test" ) )
{
$emp = "ca_admin";
$emp_typ = "b";
}
else
{
// produktiver Workflow
if ( ( strlen( $empfaenger ) > 0 ) && ( strlen( $empfaenger_typ ) > 0 ) )
{
// Es wurde jemand angegeben
$emp = $empfaenger;
$emp_typ = $empfaenger_typ;
}
else
{
// es wurde niemand angegeben. Also feststellen, wer der Default-Empfänger der ersten Maske ist:
$emp = $m[ 2 ][ "maske_default_empfaenger" ];
$emp_typ = $m[ 2 ][ "maske_default_empfaenger_typ" ];
}
}
if ( $m[ 2 ][ "maske_default_frist" ] > 0 )
{
$heute = time();
$frist = bcmul( $m[ 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 = "";
}
$STATEMENT = "select w_flag from ca_dok_ablage where dok_id = ".$dok_id;
$w_flag_ergebnis = xdb( $STATEMENT );
$w_flag = $w_flag_ergebnis[ 1 ][ 0 ][ "w_flag" ];
if ( $w_flag != 1 )
{
$p = erzeuge_postkorb_element( $mandant_name, $dok_id, $emp, "ca_system", "Dokument zur Bearbeitung: ".$workflow_name."/".$m[ 2 ][ "maske_name" ], 1, $emp_typ, $zieldatum, $zieldatum, "", $w[ 0 ], $w[ 2 ][ "start_maske" ] );
if ( $p[ 0 ] > 0 )
{
$STATEMENT = "update ca_dok_ablage set w_flag = 1 where dok_id = ".$dok_id." and mandant_id = ".$ok[ 0 ];
$er = xdb( $STATEMENT );
if ( $w[ 2 ][ "protokoll" ] == "ja" )
{
$e = erstelle_protokolleintrag( $mandant_name, $workflow_name, $dok_id, $benutzer_anmeldename, "WFL_START", "Der Workflow ".$workflow_name." wurde für das Dokument ".$dok_id." gestartet." );
if ( $emp_typ == "b" )
{
$b_txt = "dem Benutzer ".$emp;
}
else
{
$b_txt = "der Gruppe ".$emp;
}
$e = erstelle_protokolleintrag( $mandant_name, $workflow_name, $dok_id, $benutzer_anmeldename, "WEITERLEITUNG", "Das Dokument wurde in der Maske ".$m[ 2 ][ "maske_name" ]." ".$b_txt." in den Postkorb gelegt".$frist_txt."." );
}
$rc = $p[ 0 ];
$meldung = "Der Workflow ".$workflow_name." wurde für das Dokument ".$dok_id." gestartet.";
}
else
{
// Sollte man etwas tun (außer einen Fehler zurückgeben)?
$rc = $p[ 0 ];
$meldung = "Es gab einen Fehler beim Erzeugen des Postkorbeintrags: ".$p[ 1 ];
}
}
else
{
$rc = -5;
$meldung = "Das Dokument ".$dok_id." befindet sich bereits in einem Workflow.";
}
}
else
{
$rc = -2;
$meldung = "Falsche Parametrisierung: workflow_name => ".$workflow_name;
}
}
else
{
$rc = $ok[ 0 ];
$meldung = $ok[ 1 ];
}
if ( $rc < 0 )
{
$level = 2;
}
else
{
$level = 4;
}
xlog( $level, "w_fkt.starte_workflow: RC ".$rc.": ".$meldung );
return array( $rc, $meldung );
}
?>