Konfiguration des Plugins wfl_plugin_name
... Logischerweise muss es auch die Antwort, d.h. das Abschicken des Formulars angemessen bearbeiten können. Das bedeutet, dass es die Eingaben in der Tabelle ca_wfl_maske_einstellungen zur späteren Verwendung speichern soll und danach die Seite "Masken-Detailkonfiguration" aufrufen soll. ///////////////////////// Die eigentliche Arbeit soll dann von einer Arbeitsfunktion erledigt werden. Diese muss zwingend so heißen wie das Plugin (ohne die Endung .php). Ein Plugin wfl_plugin_name.php muss also eine Funktion wfl_plugin_name( $mandant_name, $maske, $maske_pos, $dokument ) { ... } bereitstellen, welche als Rückgabewert dann die Ausgabe des Plugins (also fertiges HTML) generiert. Diese Funktion bekommt in den Parametern $maske und $dokument das Ergebnis der Funktionen liefere_maskeninformationen und liefere_dokumentinformationen bereitgestellt und muss diese zusammen mit seiner Konfiguration aus der Tabelle ca_wfl_maske_einstellungen zu einem HTML-Output zusammenführen. */ switch( $cmd ) { case "konfig": include_once( "../f_admin.php" ); include_once( "../f_wfl.php" ); include_once( "../w_fkt.php" ); include_once( "../su_web.php" ); $html_output = wfl_plugin_kopfdaten_konfig( $mandant_name, $workflow_name, $maske_name, $maske_pos, $aufgerufen, $_POST ); echo $html_output; break; default: include_once( "f_admin.php" ); include_once( "f_wfl.php" ); include_once( "w_fkt.php" ); include_once( "su_web.php" ); break; } ////////////////////// // Konfigurationsfunktion ////////////////////// function wfl_plugin_kopfdaten_konfig( $mandant_name, $workflow_name, $maske_name, $maske_pos, $aufgerufen, $POST ) { $workflow = liefere_workflowinformationen( $mandant_name, $workflow_name ); $maske = liefere_maskeninformationen( $mandant_name, $workflow_name, $maske_name ); if ( $aufgerufen == "aufgerufen" ) { // Verarbeitung der Konfigurationsmaske ////////////////////////////////////////////////////////////// /* Einträge: e_01 e_02 e_03 e_04 e_05 e_06 e_07 e_08 base benutze_tab_reiter ja attrib sichtbar ja/nein änderbar ja/nein Pflichtfeld ja/nein Reihenfolge Tab-Reiter */ //xlog( 4, "POST ".json_encode( $POST ) ); $STATEMENT = "delete from ca_wfl_maske_einstellungen where workflow_id = ".$workflow[ 0 ]." and maske_id = ".$maske[ 0 ]." and plugin = 'wfl_plugin_kopfdaten.php' and pos = '".$maske_pos."'"; xdb( $STATEMENT ); /* {"mandant_name":"Gaia", "workflow_name":"Testworkflow", "workflow_id":"5", "maske_name":"Pr\u00fcfen", "maske_id":"24", "maske_pos":"02", "cmd":"konfig", "aufgerufen":"aufgerufen", "benutze_tab_reiter":"ja", "alpha_01":{"sichtbar":"ja","aenderbar":"ja","pflicht":"ja","fettdruck":"ja","reihenfolge":"6","tab_reiter":"eins","name":"Kategorie","db_feld":"alpha_01","wertemenge":"dok_kategorien"}, "num_01":{"sichtbar":"ja","aenderbar":"ja","pflicht":"ja","fettdruck":"ja","reihenfolge":"1","tab_reiter":"eins","name":"Dateigr\u00f6\u00dfe","db_feld":"num_01","wertemenge":""}, "datum_01":{"sichtbar":"ja","aenderbar":"ja","fettdruck":"ja","reihenfolge":"1","tab_reiter":"zwei","name":"Datum","db_feld":"datum_01","wertemenge":""}, "alpha_03":{"sichtbar":"ja","reihenfolge":"2","tab_reiter":"zwei","name":"Monat","db_feld":"alpha_03","wertemenge":"monate"},"alpha_05":{"sichtbar":"ja", "reihenfolge":"1","tab_reiter":"Adresse","name":"Adresse 1","db_feld":"alpha_05","wertemenge":""},"alpha_06":{"sichtbar":"ja","reihenfolge":"7","tab_reiter":"Adresse","name":"Ort","db_feld":"alpha_06","wertemenge":""}, "alpha_07":{"sichtbar":"ja","reihenfolge":"6","tab_reiter":"Adresse","name":"PLZ","db_feld":"alpha_07","wertemenge":""}, "alpha_08":{"sichtbar":"ja","reihenfolge":"2","tab_reiter":"Adresse","name":"Adresse 2","db_feld":"alpha_08","wertemenge":""}, "alpha_02":{"reihenfolge":"1","tab_reiter":"","name":"Betreff","db_feld":"alpha_02","wertemenge":""} } */ $mandant_name = $POST[ "mandant_name" ]; $workflow_name = $POST[ "workflow_name" ]; $workflow_id = $POST[ "workflow_id" ]; $maske_name = $POST[ "maske_name" ]; $maske_id = $POST[ "maske_id" ]; $maske_pos = $POST[ "maske_pos" ]; $layout_spalten = $POST[ "layout_spalten" ]; $layout_zeilen = $POST[ "layout_zeilen" ]; $layout_feldanordnung = $POST[ "layout_feldanordnung" ]; $div_hoehe = $POST[ "div_hoehe" ]; $wertemengen_darstellung = $POST[ "wertemengen_darstellung" ]; if ( $POST[ "benutze_tab_reiter" ] == "ja" ) { $benutze_tab_reiter = "ja"; } else { $benutze_tab_reiter = "nein"; } if ( $POST[ "titel_anzeigen" ] == "ja" ) { $titel_anzeigen = "ja"; } else { $titel_anzeigen = "nein"; } $STATEMENT = "insert into ca_wfl_maske_einstellungen ( workflow_id, maske_id, pos, plugin, e_01, e_02, e_03, e_04, e_05, e_06, e_07, e_08 ) values ( ".$workflow_id.", ".$maske_id.", '".$maske_pos."', 'wfl_plugin_kopfdaten.php', 'base', '".$benutze_tab_reiter."', '".$layout_spalten."', '".$layout_feldanordnung."', '".$layout_zeilen."', '".$div_hoehe."', '".$wertemengen_darstellung."', '".$titel_anzeigen."' )"; xdb( $STATEMENT ); foreach( $POST as $feld=>$attrib_konfig ) { if ( is_array( $attrib_konfig ) ) { //xlog( 4, $feld." attrib ".json_encode( $attrib_konfig ) ); //alpha_01 attrib {"sichtbar":"ja","reihenfolge":"1","tab_reiter":"sdgf"} if ( $attrib_konfig[ "sichtbar" ] == "ja" ) { $sichtbar = "ja"; } else { $sichtbar = "nein"; } if ( $attrib_konfig[ "aenderbar" ] == "ja" ) { $aenderbar = "ja"; } else { $aenderbar = "nein"; } if ( $attrib_konfig[ "pflicht" ] == "ja" ) { $pflicht = "ja"; } else { $pflicht = "nein"; } if ( $attrib_konfig[ "fettdruck" ] == "ja" ) { $fettdruck = "ja"; } else { $fettdruck = "nein"; } $name = $attrib_konfig[ "name" ]; $db_feld = $attrib_konfig[ "db_feld" ]; $reihenfolge = $attrib_konfig[ "reihenfolge" ]; $wertemenge = $attrib_konfig[ "wertemenge" ]; if ( $benutze_tab_reiter == "ja" ) { $tab_reiter = $attrib_konfig[ "tab_reiter" ]; } else { $tab_reiter = ""; } $STATEMENT = "insert into ca_wfl_maske_einstellungen ( workflow_id, maske_id, pos, plugin, e_01, e_02, e_03, e_04, e_05, e_06, e_07, e_08, e_09, e_10 ) values ( ".$workflow_id.", ".$maske_id.", '".$maske_pos."', 'wfl_plugin_kopfdaten.php', 'attrib', '".$name."', '".$db_feld."', '".$sichtbar."', '".$aenderbar."', '".$pflicht."', '".$reihenfolge."', '".$tab_reiter."', '".$fettdruck."', '".$wertemenge."' )"; //xlog( 4, $STATEMENT ); xdb( $STATEMENT ); } } /* $STATEMENT = "insert into ca_wfl_maske_einstellungen ( workflow_id, maske_id, plugin, pos, e_1 ) values ( ".$workflow[ 0 ].", ".$maske[ 0 ].", 'wfl_plugin_debug.php', '".$maske_pos."', '".$alpha_01."' )"; xdb( $STATEMENT ); */ ////////////////////////////////////////////////////////////// // gespeichert? Dann ist alles gut - es geht zurück zur rufenden Maske. $_SESSION[ "wfl" ] = "detail_0"; $_SESSION[ "wfl_meld" ] = "Konfiguration gespeichert."; header( "Location: /ca/w_wfl.php" ); exit; } else { $STATEMENT = "select workflow_id, maske_id, pos, plugin, e_01, e_02, e_03, e_04, e_05, e_06, e_07, e_08, e_09, e_10, e_11, e_12, e_13, e_14, e_15 from ca_wfl_maske_einstellungen where workflow_id = ".$workflow[ 0 ]." and maske_id = ".$maske[ 0 ]." and plugin = 'wfl_plugin_kopfdaten.php' and pos = '".$maske_pos."' order by e_07"; //xlog( 4, $STATEMENT ); /* Einträge: e_1 e_2 e_3 e_4 e_5 e_6 e_7 e_8 base benutze_tab_reiter ja attrib sichtbar ja/nein änderbar ja/nein Pflichtfeld ja/nein Reihenfolge Tab-Reiter */ $ergebnis = xdb( $STATEMENT ); //xlog( 4, json_encode( $ergebnis ) ); if ( $ergebnis[ 0 ] > 0 ) { foreach ( $ergebnis[ 1 ] as $konfig_option ) { // verarbeiten switch ( $konfig_option[ "e_01" ] ) { case "base": $benutze_tab_reiter = $konfig_option[ "e_02" ]; $layout_spalten = $konfig_option[ "e_03" ]; $layout_zeilen = $konfig_option[ "e_05" ]; $layout_feldanordnung = $konfig_option[ "e_04" ]; $div_hoehe = $konfig_option[ "e_06" ]; $wertemengen_darstellung = $konfig_option[ "e_07" ]; $titel_anzeigen = $konfig_option[ "e_08" ]; if ( $titel_anzeigen == "ja" ) { $titel_anzeigen_checked = " checked "; } else { $titel_anzeigen_checked = ""; } if ( $benutze_tab_reiter == "ja" ) { $benutze_tab_reiter_checked = " checked "; } else { $benutze_tab_reiter_checked = ""; } switch( $layout_feldanordnung ) { case "top_down": $rdlr_1 = " selected "; $rdlr_2 = ""; break; case "left_right": $rdlr_1 = ""; $rdlr_2 = " selected "; break; } switch( $wertemengen_darstellung ) { case "chosen": $wd_1 = " selected "; $wd_2 = ""; break; case "standard": $wd_1 = ""; $wd_2 = " selected "; break; } break; case "attrib": $attribute[ $konfig_option[ "e_03" ] ] = array( "name"=>$konfig_option[ "e_02" ], "db_feld"=>$konfig_option[ "e_03" ], "sichtbar"=>$konfig_option[ "e_04" ], "aenderbar"=>$konfig_option[ "e_05" ], "pflicht"=>$konfig_option[ "e_06" ], "reihenfolge"=>$konfig_option[ "e_07" ], "fettdruck"=>$konfig_option[ "e_09" ], "tab_reiter"=>$konfig_option[ "e_08" ] ); break; } } } //xlog( 4, json_encode( $attribute ) ); $html_output = "

Konfiguration des Plugins wfl_plugin_kopfdaten auf Position ".$maske_pos."

"; for ( $i = 1; $i <= 10; $i++ ) { if ( strlen( $layout_zeilen ) > 0 ) { if ( $layout_zeilen == $i ) { $sel = " selected "; } else { $sel = ""; } } else { if ( $i == 5 ) { $sel = " selected "; } else { $sel = ""; } } $lz_options = $lz_options.""; } for ( $i = 1; $i <= 3; $i++ ) { if ( strlen( $layout_spalten ) > 0 ) { if ( $layout_spalten == $i ) { $sel = " selected "; } else { $sel = ""; } } else { if ( $i == 2 ) { $sel = " selected "; } else { $sel = ""; } } $ls_options = $ls_options.""; } $html_output = $html_output. "
Konfiguration 1
Überschrift anzeigen
Tab-Reiter verwenden
Layout Zeilenzahl
Layout Spaltenzahl
Layout Feldanordnung
Wertemengen-Darstellung
Element-Höhe (in Pixel, leer für automatisch)
"; $dokart_kuerzel = $workflow[ 2 ][ "dokart_kuerzel" ]; $dokart_attribute = liefere_attribute_zu_dokumentart( $_SESSION[ "mandant_name" ], $dokart_kuerzel ); $html_output = $html_output.""; $i = 1; foreach( $dokart_attribute[ 2 ] as $db_feld => $attrib ) { $p = explode( "_", $db_feld ); // nur Kopfattribute if ( $p[ 0 ] != "p" ) { if ( isset( $attribute[ $db_feld ] ) ) { if ( $attribute[ $db_feld ][ "sichtbar" ] == "ja" ) { $sichtbar = " checked "; } else { $sichtbar = ""; } if ( $attribute[ $db_feld ][ "aenderbar" ] == "ja" ) { $aenderbar = " checked "; } else { $aenderbar = ""; } if ( $attribute[ $db_feld ][ "pflicht" ] == "ja" ) { $pflicht = " checked "; } else { $pflicht = ""; } if ( $attribute[ $db_feld ][ "fettdruck" ] == "ja" ) { $fettdruck = " checked "; } else { $fettdruck = ""; } for ( $i = 1; $i <= 50; $i++ ) { if ( strlen( (string)$i ) == 1 ) { $fertig = "0".$i; } else { $fertig = (string)$i; } if ( $attribute[ $db_feld ][ "reihenfolge" ] == $fertig ) { $sel = " selected "; } else { $sel = ""; } $options = $options.""; } if ( strlen( $attribute[ $db_feld ][ "tab_reiter" ] ) > 0 ) { $tab_reiter = $attribute[ $db_feld ][ "tab_reiter" ]; } else { $tab_reiter = ""; } } else { $sichtbar = ""; $aenderbar = ""; $pflicht = ""; $tab_reiter = ""; $fettdruck = ""; for ( $i = 1; $i <= 50; $i++ ) { if ( strlen( (string)$i ) == 1 ) { $fertig = "0".$i; } else { $fertig = (string)$i; } $options = $options.""; } } $html_output = $html_output." "; $options = ""; } } $systemfelder = array( "zzz_dokid"=>"Dokument-ID", "zzz_kennung"=>"Kennung", "zzz_groesse"=>"Dateigröße (in Bytes)", "zzz_mimetype"=>"MIME-Type", "zzz_impdatum"=>"Import-Datum", "zzz_dokuart"=>"Dokumentart-Kürzel", "zzz_dokuartlang"=>"Dokumentart-Name" ); $html_output = $html_output.""; foreach( $systemfelder as $db_feld=>$name ) { /* $attribute[ $konfig_option[ "e_03" ] ] = array( "name"=>$konfig_option[ "e_02" ], "db_feld"=>$konfig_option[ "e_03" ], "sichtbar"=>$konfig_option[ "e_04" ], "aenderbar"=>$konfig_option[ "e_05" ], "pflicht"=>$konfig_option[ "e_06" ], "reihenfolge"=>$konfig_option[ "e_07" ], "fettdruck"=>$konfig_option[ "e_09" ], "tab_reiter"=>$konfig_option[ "e_08" ] ); */ if ( isset( $attribute[ $db_feld ] ) ) { if ( $attribute[ $db_feld ][ "sichtbar" ] == "ja" ) { $sichtbar = " checked "; } else { $sichtbar = ""; } if ( $attribute[ $db_feld ][ "aenderbar" ] == "ja" ) { $aenderbar = " checked "; } else { $aenderbar = ""; } if ( $attribute[ $db_feld ][ "pflicht" ] == "ja" ) { $pflicht = " checked "; } else { $pflicht = ""; } if ( $attribute[ $db_feld ][ "fettdruck" ] == "ja" ) { $fettdruck = " checked "; } else { $fettdruck = ""; } for ( $i = 1; $i <= 50; $i++ ) { if ( strlen( (string)$i ) == 1 ) { $fertig = "0".$i; } else { $fertig = (string)$i; } if ( $attribute[ $db_feld ][ "reihenfolge" ] == $fertig ) { $sel = " selected "; } else { $sel = ""; } $options = $options.""; } if ( strlen( $attribute[ $db_feld ][ "tab_reiter" ] ) > 0 ) { $tab_reiter = $attribute[ $db_feld ][ "tab_reiter" ]; } else { $tab_reiter = ""; } } else { $sichtbar = ""; $aenderbar = ""; $pflicht = ""; $tab_reiter = ""; $fettdruck = ""; for ( $i = 1; $i <= 50; $i++ ) { if ( strlen( (string)$i ) == 1 ) { $fertig = "0".$i; } else { $fertig = (string)$i; } $options = $options.""; } } $html_output = $html_output." "; $options = ""; } $html_output = $html_output."
Attribut-Name DB-Feld sichtbar änderbar Pflichtfeld Fettdruck Reihenfolge Tab-Reiter Wertemenge
".$attrib[ "attrib_name" ]." ".$db_feld." ".$attrib[ "attrib_wertemenge" ]."

".$name." ".$db_feld."
"; } return $html_output; } ////////////////////// // Workflow-Arbeitsfunktion ////////////////////// function wfl_plugin_kopfdaten( $mandant_name, $workflow, $maske, $maske_pos, $dokument ) { $STATEMENT = "select workflow_id, maske_id, pos, plugin, e_01, e_02, e_03, e_04, e_05, e_06, e_07, e_08, e_09 from ca_wfl_maske_einstellungen where workflow_id = ".$workflow[ 0 ]." and maske_id = ".$maske[ 0 ]." and plugin = 'wfl_plugin_kopfdaten.php' and pos = '".$maske_pos."' order by e_08, e_07"; $ergebnis = xdb( $STATEMENT ); //$html_output = json_encode( $ergebnis ); /* Einträge: e_01 e_02 e_03 e_04 e_05 e_06 e_07 e_08 e_09 e_10 base benutze_tab_reiter ja attrib sichtbar ja/nein änderbar ja/nein Pflichtfeld ja/nein Reihenfolge Tab-Reiter Fettdruck Wertemenge */ if ( $ergebnis[ 0 ] > 0) { $attribute = array(); $tab = array(); foreach( $ergebnis[ 1 ] as $treffer ) { //xlog( 4, json_encode( $treffer ) ); if ( $treffer[ "e_01" ] == "base" ) { $benutze_tab_reiter = $treffer[ "e_02" ]; $layout_spalten = $treffer[ "e_03" ]; $layout_zeilen = $treffer[ "e_05" ]; $layout_feldanordnung = $treffer[ "e_04" ]; $div_hoehe = $treffer[ "e_06" ]; $wertemengen_darstellung = $treffer[ "e_07" ]; $titel_anzeigen = $treffer[ "e_08" ]; } if ( $treffer[ "e_01" ] == "attrib" ) { if ( $treffer[ "e_04" ] == "ja" ) { $attribute[] = array( "name"=>$treffer[ "e_02" ], "db_feld"=>$treffer[ "e_03" ], "sichtbar"=>$treffer[ "e_04" ], "aenderbar"=>$treffer[ "e_05" ], "pflicht"=>$treffer[ "e_06" ], "tab_reiter"=>$treffer[ "e_08" ], "fettdruck"=>$treffer[ "e_09" ] ); } } } if ( count( $attribute ) > 0 ) { foreach ( $attribute as $attr ) { $width = "200px"; $dokart_attribut = $dokument[ 2 ][ "attribute" ][ $attr[ "db_feld" ] ]; //xlog( 4, json_encode( $dokart_attribut ) ); if ( strlen( $dokart_attribut[ "attrib_wertemenge" ] ) > 0 ) { //$eingabe = "hallo"; if ( $attr[ "pflicht" ] == "ja" ) { $class = " pflichtfeld "; $pflichtfelder = $pflichtfelder.$attr[ "db_feld" ]."|"; $wertemenge_leerelement = ""; } else { $class = " kein_pflichtfeld "; $wertemenge_leerelement = "