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 ); } ?>