Files
4G/wfl_plugins/wfl_plugin_buttonleiste.php

1111 lines
33 KiB
PHP
Executable File

<?php
@session_start();
if ( isset( $_GET[ "mandant_name" ] ) )
{
$mandant_name = $_GET[ "mandant_name" ];
}
if ( isset( $_GET[ "workflow_name" ] ) )
{
$workflow_name = $_GET[ "workflow_name" ];
}
if ( isset( $_GET[ "maske_name" ] ) )
{
$maske_name = $_GET[ "maske_name" ];
}
if ( isset( $_GET[ "maske_pos" ] ) )
{
$maske_pos = $_GET[ "maske_pos" ];
}
if ( isset( $_GET[ "cmd" ] ) )
{
$cmd = $_GET[ "cmd" ];
}
if ( isset( $_GET[ "aufgerufen" ] ) )
{
$aufgerufen = $_GET[ "aufgerufen" ];
}
if ( isset( $_POST[ "mandant_name" ] ) )
{
$mandant_name = $_POST[ "mandant_name" ];
}
if ( isset( $_POST[ "workflow_name" ] ) )
{
$workflow_name = $_POST[ "workflow_name" ];
}
if ( isset( $_POST[ "maske_name" ] ) )
{
$maske_name = $_POST[ "maske_name" ];
}
if ( isset( $_POST[ "maske_pos" ] ) )
{
$maske_pos = $_POST[ "maske_pos" ];
}
if ( isset( $_POST[ "cmd" ] ) )
{
$cmd = $_POST[ "cmd" ];
}
if ( isset( $_POST[ "aufgerufen" ] ) )
{
$aufgerufen = $_POST[ "aufgerufen" ];
}
// Die Workflow-Plugins sollen Maskenteile der fertigen Maske bereitstellen.
/*
Der Rahmen eines Plugins sieht so aus, dass sie auf das cmd=buttonleiste mit einer Ausgabe ihrer buttonleiste Konfigurationsmaske reagieren müssen. Wird das Plugin also folgendermaßen aufgerufen:
$( "#ergebnis" ).load( "wfl_plugin_name.php?mandant_name=XXX&workflow_name=YYY&maske_name=ZZZ&maske_pos=02&cmd=buttonleiste" );
muss das Plugin mit einer buttonleiste Konfigurationsmaske (die ein Formular enthält) antworten, also beispielsweise:
<h2>buttonleisteuration des Plugins wfl_plugin_name</h2>
<form name='wfl_plugin_name_buttonleiste' action='wfl_plugin_name.php' ... >
<input type='hidden' name='mandant_name' value='XXX' />
<input type='hidden' name='workflow_name' value='YYY' />
<input type='hidden' name='maske_name' value='ZZZ' />
<input type='hidden' name='maske_pos' value='02' />
<input type='hidden' name='cmd' value='save_buttonleiste' />
<input type='hidden' name='aufgerufen' value='aufgerufen' />
<table>
<tr><td>buttonleisteuration 1</td><td><input type='text' name='alpha_01' /></td></tr>
...
<input type='submit' value='OK' />
</form>
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-Detailbuttonleisteuration" 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 buttonleisteuration 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_buttonleiste_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;
}
//////////////////////
// buttonleiste Konfigurationsmaske
//////////////////////
function wfl_plugin_buttonleiste_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 );
$masken = liefere_masken_zu_workflow( $mandant_name, $workflow_name );
if ( $aufgerufen == "aufgerufen" )
{
// Verarbeitung der buttonleisteurationsmaske
//////////////////////////////////////////////////////////////
xlog( 4, "POST ".json_encode( $POST ) );
//POST
/*
{
"mandant_name":"Gaia",
"workflow_name":"Checkup",
"maske_name":"sachliche Pr\u00fcfung",
"maske_pos":"06",
"cmd":"konfig",
"aufgerufen":"aufgerufen",
"element_hoehe":"280",
"speichern_und_schliessen":"ja",
"speichern_und_schliessen_bez":"speichern und schlie\u00dfen",
"schliessen":"ja",
"schliessen_bez":"schlie\u00dfen (ohne speichern)",
"weiterleitung_an_wf_schritt":"ja",
"weiterleitung_an_wf_schritt_bez":"Weiter zu Schritt",
"weiterleitung_m_b":"ja",
"weiterleitung_m_g":"ja",
"erl_masken":{"1":"sachliche Pr\u00fcfung"},
"weiterleitung":"ja",
"weiterleitung_bez":"Weiterleiten",
"weiterleitung_a_b":"ja",
"weiterleitung_a_g":"ja",
"wf_schritt_abschliessen":"ja",
"wf_schritt_abschliessen_bez":"Bearbeitung abschlie\u00dfen",
"aktiviert":"weiterleitung"
}
aktiviert = {speichern_und_schliessen|schliessen|weiterleitung_an_wf_schritt|weiterleitung|wf_schritt_abschliessen}
*/
switch ( $POST[ "aktiviert" ] )
{
case "speichern_und_schliessen":
$a_speichern_und_schliessen = "ja";
$a_schliessen = "nein";
$a_weiterleitung_an_wf_schritt = "nein";
$a_weiterleitung = "nein";
$a_wf_schritt_abschliessen = "nein";
break;
case "schliessen":
$a_speichern_und_schliessen = "nein";
$a_schliessen = "ja";
$a_weiterleitung_an_wf_schritt = "nein";
$a_weiterleitung = "nein";
$a_wf_schritt_abschliessen = "nein";
break;
case "weiterleitung_an_wf_schritt":
$a_speichern_und_schliessen = "nein";
$a_schliessen = "nein";
$a_weiterleitung_an_wf_schritt = "ja";
$a_weiterleitung = "nein";
$a_wf_schritt_abschliessen = "nein";
break;
case "weiterleitung":
$a_speichern_und_schliessen = "nein";
$a_schliessen = "nein";
$a_weiterleitung_an_wf_schritt = "nein";
$a_weiterleitung = "ja";
$a_wf_schritt_abschliessen = "nein";
break;
case "wf_schritt_abschliessen":
$a_speichern_und_schliessen = "nein";
$a_schliessen = "nein";
$a_weiterleitung_an_wf_schritt = "nein";
$a_weiterleitung = "nein";
$a_wf_schritt_abschliessen = "ja";
break;
}
if ( $POST[ "titel_anzeigen" ] == "ja" )
{
$titel_anzeigen = "ja";
}
else
{
$titel_anzeigen = "nein";
}
$element_hoehe = $POST[ "element_hoehe" ];
///////////////////////////////////////////////////////////////
// Buttonkonfiguration
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
// Speichern und schließen
if ( $POST[ "speichern_und_schliessen" ] == "ja" )
{
$button_anzeigen = "ja";
}
else
{
$button_anzeigen = "nein";
}
$bezeichnung = $POST[ "speichern_und_schliessen_bez" ];
if ( strlen( $bezeichnung ) == 0 )
{
$bezeichnung = "Speichern und schließen";
}
$buttons[] = array( "name"=>"speichern_und_schliessen", "anzeige"=>$button_anzeigen, "bezeichnung"=>$bezeichnung, "weiterleitung_b"=>"", "weiterleitung_g"=>"", "masken"=>"", "aktiviert"=>$a_speichern_und_schliessen );
///////////////////////////////////////////////////////////////
// schließen (ohne speichern)
if ( $POST[ "schliessen" ] == "ja" )
{
$button_anzeigen = "ja";
}
else
{
$button_anzeigen = "nein";
}
if ( strlen( $bezeichnung ) == 0 )
{
$bezeichnung = "Schließen (ohne speichern)";
}
$bezeichnung = $POST[ "schliessen_bez" ];
$buttons[] = array( "name"=>"schliessen", "anzeige"=>$button_anzeigen, "bezeichnung"=>$bezeichnung, "weiterleitung_b"=>"", "weiterleitung_g"=>"", "masken"=>"", "aktiviert"=>$a_schliessen );
///////////////////////////////////////////////////////////////
// weiterleiten an anderen WF-Schritt
if ( $POST[ "weiterleitung_an_wf_schritt" ] == "ja" )
{
$button_anzeigen = "ja";
}
else
{
$button_anzeigen = "nein";
}
// Weiterleitung an Benutzer erlaubt?
if ( $POST[ "weiterleitung_m_b" ] == "ja" )
{
$weiterleitung_m_b = "ja";
}
else
{
$weiterleitung_m_b = "nein";
}
// Weiterleitung an Gruppen erlaubt?
if ( $POST[ "weiterleitung_m_g" ] == "ja" )
{
$weiterleitung_m_g = "ja";
}
else
{
$weiterleitung_m_g = "nein";
}
if ( strlen( $bezeichnung ) == 0 )
{
$bezeichnung = "Weiter zu Schritt";
}
$bezeichnung = $POST[ "weiterleitung_an_wf_schritt_bez" ];
$erl_masken = $POST[ "erl_masken" ];
$buttons[] = array( "name"=>"weiterleitung_an_wf_schritt", "anzeige"=>$button_anzeigen, "bezeichnung"=>$bezeichnung, "weiterleitung_b"=>$weiterleitung_m_b, "weiterleitung_g"=>$weiterleitung_m_g, "masken"=>json_encode( $erl_masken, JSON_UNESCAPED_UNICODE ), "aktiviert"=>$a_weiterleitung_an_wf_schritt );
///////////////////////////////////////////////////////////////
// weiterleiten im gleichen Schritt
if ( $POST[ "weiterleitung" ] == "ja" )
{
$button_anzeigen = "ja";
}
else
{
$button_anzeigen = "nein";
}
// Weiterleitung an Benutzer erlaubt?
if ( $POST[ "weiterleitung_a_b" ] == "ja" )
{
$weiterleitung_a_b = "ja";
}
else
{
$weiterleitung_a_b = "nein";
}
// Weiterleitung an Gruppen erlaubt?
if ( $POST[ "weiterleitung_a_g" ] == "ja" )
{
$weiterleitung_a_g = "ja";
}
else
{
$weiterleitung_a_g = "nein";
}
if ( strlen( $bezeichnung ) == 0 )
{
$bezeichnung = "Weiterleiten";
}
$bezeichnung = $POST[ "weiterleitung_bez" ];
$buttons[] = array( "name"=>"weiterleitung", "anzeige"=>$button_anzeigen, "bezeichnung"=>$bezeichnung, "weiterleitung_b"=>$weiterleitung_a_b, "weiterleitung_g"=>$weiterleitung_a_g, "masken"=>"", "aktiviert"=>$a_weiterleitung );
///////////////////////////////////////////////////////////////
// Bearbeitung abschließen
if ( $POST[ "wf_schritt_abschliessen" ] == "ja" )
{
$button_anzeigen = "ja";
}
else
{
$button_anzeigen = "nein";
}
if ( strlen( $bezeichnung ) == 0 )
{
$bezeichnung = "Bearbeitung abschließen";
}
$bezeichnung = $POST[ "wf_schritt_abschliessen_bez" ];
$buttons[] = array( "name"=>"wf_schritt_abschliessen", "anzeige"=>$button_anzeigen, "bezeichnung"=>$bezeichnung, "weiterleitung_b"=>"", "weiterleitung_g"=>"", "masken"=>"", "aktiviert"=>$a_wf_schritt_abschliessen );
$STATEMENT = "delete from ca_wfl_maske_einstellungen where workflow_id = ".$workflow[ 0 ]." and maske_id = ".$maske[ 0 ]." and plugin = 'wfl_plugin_buttonleiste.php' and pos = '".$maske_pos."'";
xdb( $STATEMENT );
$STATEMENT = "insert into ca_wfl_maske_einstellungen ( workflow_id, maske_id, plugin, pos, e_01, e_02, e_03 ) values ( ".$workflow[ 0 ].", ".$maske[ 0 ].", 'wfl_plugin_buttonleiste.php', '".$maske_pos."', 'base', '".$titel_anzeigen."', '".$element_hoehe."' )";
xdb( $STATEMENT );
foreach( $buttons as $key=>$button )
{
$STATEMENT = "insert into ca_wfl_maske_einstellungen ( workflow_id, maske_id, plugin, pos, e_01, e_02, e_03, e_04, e_05, e_06, e_07, e_08 ) values ( ".$workflow[ 0 ].", ".$maske[ 0 ].", 'wfl_plugin_buttonleiste.php', '".$maske_pos."', 'button', '".$button[ "name" ]."', '".$button[ "anzeige" ]."', '".$button[ "bezeichnung" ]."', '".$button[ "weiterleitung_b" ]."', '".$button[ "weiterleitung_g" ]."', '".$button[ "masken" ]."', '".$button[ "aktiviert" ]."' )";
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_buttonleiste.php' and pos = '".$maske_pos."'";
$ergebnis = xdb( $STATEMENT );
$weiterleitung_an_wf_schritt_ziele = array();
if ( $ergebnis[ 0 ] > 0 )
{
$a_speichern_und_schliessen = "";
$a_schliessen = "";
$a_weiterleitung_an_wf_schritt = "";
$a_weiterleitung = "";
$a_wf_schritt_abschliessen = "";
foreach ( $ergebnis[ 1 ] as $konfig_option )
{
// verarbeiten
switch ( $konfig_option[ "e_01" ] )
{
case "base":
$titel_anzeigen = $konfig_option[ "e_02" ];
$div_hoehe = $konfig_option[ "e_03" ];
break;
case "button":
switch( $konfig_option[ "e_02" ] )
{
case "speichern_und_schliessen":
if ( $konfig_option[ "e_03" ] == "ja" )
{
$speichern_und_schliessen_anzeige = " checked ";
}
else
{
$speichern_und_schliessen_anzeige = " ";
}
$speichern_und_schliessen_bez = $konfig_option[ "e_04" ];
if ( $konfig_option[ "e_08" ] == "ja" )
{
$a_speichern_und_schliessen = " checked ";
}
break;
case "schliessen":
if ( $konfig_option[ "e_03" ] == "ja" )
{
$schliessen_anzeige = " checked ";
}
else
{
$schliessen_anzeige = " ";
}
$schliessen_bez = $konfig_option[ "e_04" ];
if ( $konfig_option[ "e_08" ] == "ja" )
{
$a_schliessen = " checked ";
}
break;
case "weiterleitung_an_wf_schritt":
if ( $konfig_option[ "e_03" ] == "ja" )
{
$weiterleitung_an_wf_schritt_anzeige = " checked ";
}
else
{
$weiterleitung_an_wf_schritt_anzeige = " ";
}
$weiterleitung_an_wf_schritt_bez = $konfig_option[ "e_04" ];
if ( $konfig_option[ "e_08" ] == "ja" )
{
$a_weiterleitung_an_wf_schritt = " checked ";
}
if ( $konfig_option[ "e_05" ] == "ja" )
{
$weiterleitung_an_wf_schritt_benutzer = " checked ";
}
else
{
$weiterleitung_an_wf_schritt_benutzer = " ";
}
if ( $konfig_option[ "e_06" ] == "ja" )
{
$weiterleitung_an_wf_schritt_gruppe = " checked ";
}
else
{
$weiterleitung_an_wf_schritt_gruppe = " ";
}
$weiterleitung_an_wf_schritt_ziele = json_decode( $konfig_option[ "e_07" ], true );
if ( ! ( is_array( $weiterleitung_an_wf_schritt_ziele ) ) )
{
$weiterleitung_an_wf_schritt_ziele = array();
}
break;
case "weiterleitung":
if ( $konfig_option[ "e_03" ] == "ja" )
{
$weiterleitung_anzeige = " checked ";
}
else
{
$weiterleitung_anzeige = " ";
}
$weiterleitung_bez = $konfig_option[ "e_04" ];
if ( $konfig_option[ "e_08" ] == "ja" )
{
$a_weiterleitung = " checked ";
}
if ( $konfig_option[ "e_05" ] == "ja" )
{
$weiterleitung_benutzer = " checked ";
}
else
{
$weiterleitung_benutzer = " ";
}
if ( $konfig_option[ "e_06" ] == "ja" )
{
$weiterleitung_gruppe = " checked ";
}
else
{
$weiterleitung_gruppe = " ";
}
break;
case "wf_schritt_abschliessen":
if ( $konfig_option[ "e_03" ] == "ja" )
{
$wf_schritt_abschliessen_anzeige = " checked ";
}
else
{
$wf_schritt_abschliessen_anzeige = " ";
}
$wf_schritt_abschliessen_bez = $konfig_option[ "e_04" ];
if ( $konfig_option[ "e_08" ] == "ja" )
{
$a_wf_schritt_abschliessen = " checked ";
}
break;
}
break;
}
}
}
if ( ( strlen( $a_speichern_und_schliessen ) == 0 ) && ( strlen( $a_schliessen ) == 0 ) && ( strlen( $a_weiterleitung_an_wf_schritt ) == 0 ) && ( strlen( $a_weiterleitung ) == 0 ) && ( strlen( $a_wf_schritt_abschliessen ) == 0 ) )
{
$a_speichern_und_schliessen = " checked ";
}
if ( strlen( $speichern_und_schliessen_bez ) == 0 )
{
$speichern_und_schliessen_bez = "Speichern und schließen";
}
if ( strlen( $schliessen_bez ) == 0 )
{
$schliessen_bez = "Schließen (ohne speichern)";
}
if ( strlen( $weiterleitung_an_wf_schritt_bez ) == 0 )
{
$weiterleitung_an_wf_schritt_bez = "Weiter zu Schritt";
}
if ( strlen( $weiterleitung_bez ) == 0 )
{
$weiterleitung_bez = "Weiterleitung";
}
if ( strlen( $wf_schritt_abschliessen_bez ) == 0 )
{
$wf_schritt_abschliessen_bez = "Bearbeitung abschließen";
}
$html_output = "<h4>Konfiguration des Plugins wfl_plugin_historie</h4>";
if ( $titel_anzeigen == "ja" )
{
$titel_anzeigen_checked = " checked ";
}
else
{
$titel_anzeigen_checked = "";
}
foreach( $masken[ 2 ] as $m )
{
if ( in_array( $m["maske_name"], $weiterleitung_an_wf_schritt_ziele ) )
{
$checked = " checked ";
}
else
{
$checked = " ";
}
$o = $o."<tr>
<td></td><td></td><td></td><td><input type='checkbox' name='erl_masken[".$m[ "maske_id" ]."]' value='".$m[ "maske_name" ]."' ".$checked." /> ".$m[ "maske_name" ]."</td>
</tr>";
}
$html_output = "<h4>Konfiguration des Plugins wfl_plugin_buttonleiste</h4>";
$html_output = $html_output.
"<form name='wfl_plugin_name_buttonleiste' action='wfl_plugins/wfl_plugin_buttonleiste.php' method='post' accept-charset='UTF-8' >
<input type='hidden' name='mandant_name' value='".$mandant_name."' />
<input type='hidden' name='workflow_name' value='".$workflow_name."' />
<input type='hidden' name='maske_name' value='".$maske_name."' />
<input type='hidden' name='maske_pos' value='".$maske_pos."' />
<input type='hidden' name='cmd' value='konfig' />
<input type='hidden' name='aufgerufen' value='aufgerufen' />
<table>
<tr>
<td style='width: 300px;' >Überschrift anzeigen</td>
<td><input type='checkbox' name='titel_anzeigen' value='ja' ".$titel_anzeigen_checked." /></td>
</tr>
<tr>
<td style='width: 300px;' >Element-Höhe (in Pixel, leer für automatisch)</td>
<td><input type='text' name='element_hoehe' style='width:174px;' value='".$element_hoehe."' /></td>
</tr>
</table>
<hr />
<table>
<tr>
<td style='font-weight:bold;'>Option</td>
<td style='font-weight:bold;'>anzeigen</td>
<td style='font-weight:bold;'>aktiviert</td>
<td style='font-weight:bold;'>Bezeichnung</td>
</tr>
<tr>
<td style='width: 300px;' >speichern und schließen</td>
<td style='width: 100px;' ><input type='checkbox' name='speichern_und_schliessen' value='ja' ".$speichern_und_schliessen_anzeige." /></td>
<td style='width: 100px;' ><input type='radio' name='aktiviert' value='speichern_und_schliessen' ".$a_speichern_und_schliessen." ></input></td>
<td style='width: 300px;' ><input type='text' style='width: 300px;' name='speichern_und_schliessen_bez' value='".$speichern_und_schliessen_bez."' /></td>
</tr>
<tr>
<td style='width: 300px;' >schließen (ohne speichern)</td>
<td style='width: 100px;' ><input type='checkbox' name='schliessen' value='ja' ".$schliessen_anzeige." /></td>
<td style='width: 100px;' ><input type='radio' name='aktiviert' value='schliessen' ".$a_schliessen." ></input></td>
<td style='width: 300px;' ><input type='text' style='width: 300px;' name='schliessen_bez' value='".$schliessen_bez."' /></td>
</tr>
<tr>
<td style='width: 300px;' >Weiterleiten an anderen Workflowschritt</td>
<td style='width: 100px;' ><input type='checkbox' name='weiterleitung_an_wf_schritt' value='ja' ".$weiterleitung_an_wf_schritt_anzeige." /></td>
<td style='width: 100px;' ><input type='radio' name='aktiviert' value='weiterleitung_an_wf_schritt' ".$a_weiterleitung_an_wf_schritt." ></input></td>
<td style='width: 300px;' ><input type='text' style='width: 300px;' name='weiterleitung_an_wf_schritt_bez' value='".$weiterleitung_an_wf_schritt_bez."' /></td>
</tr>
<tr>
<td></td><td></td><td></td><td>Weiterleitung erlauben an:</td>
</tr>
<tr>
<td></td><td></td><td></td><td><input type='checkbox' value='ja' name='weiterleitung_m_b' ".$weiterleitung_an_wf_schritt_benutzer." /> Benutzer</td>
</tr>
<tr>
<td></td><td></td><td></td><td><input type='checkbox' value='ja' name='weiterleitung_m_g' ".$weiterleitung_an_wf_schritt_gruppe." /> Gruppen</td>
</tr>
<tr>
<td></td><td></td><td></td><td>Weiterleitungen erlauben an folgende Schritte:</td>
</tr>
".$o."
<tr>
<td style='width: 300px;' >Weiterleiten (im gleichen Schritt bleiben)</td>
<td style='width: 100px;' ><input type='checkbox' value='ja' name='weiterleitung' ".$weiterleitung_anzeige." /></td>
<td style='width: 100px;' ><input type='radio' name='aktiviert' value='weiterleitung' ".$a_weiterleitung."></input></td>
<td style='width: 300px;' ><input type='text' style='width: 300px;' name='weiterleitung_bez' value='".$weiterleitung_bez."' /></td>
</tr>
<tr>
<td></td><td></td><td></td><td>Weiterleitung erlauben an:</td>
</tr>
<tr>
<td></td><td></td><td></td><td><input type='checkbox' value='ja' name='weiterleitung_a_b' ".$weiterleitung_benutzer." /> Benutzer</td>
</tr>
<tr>
<td></td><td></td><td></td><td><input type='checkbox' value='ja' name='weiterleitung_a_g' ".$weiterleitung_gruppe." /> Gruppen</td>
</tr>
<tr>
<td style='width: 300px;' >Workflowschritt abschließen</td>
<td style='width: 100px;' ><input type='checkbox' name='wf_schritt_abschliessen' value='ja' ".$wf_schritt_abschliessen_anzeige." /></td>
<td style='width: 100px;' ><input type='radio' name='aktiviert' value='wf_schritt_abschliessen' ".$a_wf_schritt_abschliessen." ></input></td>
<td style='width: 300px;' ><input type='text' name='wf_schritt_abschliessen_bez' style='width: 300px;' value='".$wf_schritt_abschliessen_bez."' /></td>
</tr>
</table>
<input type='submit' value='OK' />
</form>";
}
return $html_output;
}
//////////////////////
// Workflow-Arbeitsfunktion
//////////////////////
function wfl_plugin_buttonleiste( $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, 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_buttonleiste.php' and pos = '".$maske_pos."'";
$ergebnis = xdb( $STATEMENT );
//xlog( 4, "pflicht ".$pflichtfelder );
if ( $ergebnis[ 0 ] > 0 )
{
foreach( $ergebnis[ 1 ] as $treffer )
{
switch ( $treffer[ "e_01" ] )
{
case "base":
$titel_anzeigen = $treffer[ "e_02" ];
$element_hoehe = $treffer[ "e_03" ];
break;
case "button":
switch ( $treffer[ "e_02" ] )
{
//array( "name"=>"wf_schritt_abschliessen", "anzeige"=>$button_anzeigen, "bezeichnung"=>$bezeichnung, "weiterleitung_b"=>"", "weiterleitung_g"=>"", "masken"=>"" );
case "speichern_und_schliessen":
$sus_anzeige = $treffer[ "e_03" ];
$sus_bez = $treffer[ "e_04" ];
if ( $treffer[ "e_08" ] == "ja" )
{
$sus_checked = " checked ";
}
break;
case "schliessen":
$s_anzeige = $treffer[ "e_03" ];
$s_bez = $treffer[ "e_04" ];
if ( $treffer[ "e_08" ] == "ja" )
{
$s_checked = " checked ";
}
break;
case "weiterleitung_an_wf_schritt":
$wawfs_anzeige = $treffer[ "e_03" ];
$wawfs_bez = $treffer[ "e_04" ];
$wawfs_m_b = $treffer[ "e_05" ];
$wawfs_m_g = $treffer[ "e_06" ];
$wawfs_masken = json_decode( $treffer[ "e_07" ], true );
if ( $treffer[ "e_08" ] == "ja" )
{
$wawfs_checked = " checked ";
}
break;
case "weiterleitung":
$w_anzeige = $treffer[ "e_03" ];
$w_bez = $treffer[ "e_04" ];
$w_a_b = $treffer[ "e_05" ];
$w_a_g = $treffer[ "e_06" ];
if ( $treffer[ "e_08" ] == "ja" )
{
$w_checked = " checked ";
}
break;
case "wf_schritt_abschliessen":
$wfsa_anzeige = $treffer[ "e_03" ];
$wfsa_bez = $treffer[ "e_04" ];
if ( $treffer[ "e_08" ] == "ja" )
{
$wfsa_checked = " checked ";
}
break;
}
break;
}
}
}
else
{
$html_output = $html_output."<p>Für dieses Modul (wfl_plugin_buttonleiste) liegt keine Konfiguration vor. Bitte kontaktieren Sie Ihren Systemadministrator.</p><input type='button' value='zum Schreibtisch' onclick='window.location.href = \"us_schreibtisch.php\"' />";
}
if ( strlen( $html_output ) == 0 )
{
if ( $titel_anzeigen == "ja" )
{
$html_output = "<h3 style='margin-left:15px;'>".$maske[ 2 ][ "maske_plugin_".$maske_pos."_bezeichnung" ]."</h3>";
}
else
{
$html_output = "";
}
$skript = "";
//$html_output = $html_output."";
if ( ( $wawfs_anzeige == "ja" ) || ( $w_anzeige == "ja" ) )
{
if ( ( $wawfs_m_g == "ja" ) || ( $w_a_g == "ja" ) )
{
$gruppen_liste = liefere_alle_gruppen( $mandant_name, false );
$g_options = "";
if ( $gruppen_liste[ 0 ] > 0 )
{
$g_og_options = "<optgroup label='Gruppen'>";
foreach( $gruppen_liste[ 2 ] as $benny )
{
$g_options = $g_options."<option >".$benny."</option>";
}
$g_options = $g_options."</optgroup>";
}
}
if ( ( $wawfs_m_b == "ja" ) || ( $w_a_b == "ja" ) )
{
$benutzer_liste = liefere_alle_benutzer_bavn( $_SESSION[ "mandant_name" ], false, false );
if ( $benutzer_liste[ 0 ] > 0 )
{
$b_og_options = $b_og_options."<optgroup label='Benutzer'>";
foreach( $benutzer_liste[ 2 ] as $benny )
{
if ( $_SESSION[ "benutzer_anmeldename" ] != $benny[ "benutzer_anmeldename" ] )
{
$b_options = $b_options."<option ".$selecte_d." >".$benny[ "benutzer_vorname" ]." ".$benny[ "benutzer_nachname" ]." (".$benny[ "benutzer_anmeldename" ].")</option>";
}
}
$b_options = $b_options."</optgroup>";
}
}
//$html_output = $html_output."<tr><td style='height:40px;' ><input type='radio' name='aktion' value='weiterleitung' >Weiterleiten</input></td><td><select style='width: 350px;' id='weiterleitung_ziel' name='weiterleitung_ziel' ><option></option>".$options."</select></td></tr>";
}
if ( $wawfs_anzeige == "ja" )
{
if ( ( $wawfs_m_b == "ja" ) && ( $wawfs_m_g == "ja" ) )
{
// Gruppen und Benutzer
$options = $g_og_options.$g_options.$b_og_options.$b_options;
}
else
{
if ( $wawfs_m_b == "ja" )
{
$options = $b_options;
}
if ( $wawfs_m_g == "ja" )
{
$options = $g_options;
}
}
$select = "<select style='width: 350px;' class=' chosen_bl928fskjn ' id='weiterleitung_ziel_emp' name='weiterleitung_ziel_emp' >".$options."</select>";
foreach( $wawfs_masken as $id => $name )
{
$wawfs_options = $wawfs_options."<option value='".$id."' >".$name."</option>";
}
$wawfs_select = "<select style='width: 350px;' class=' chosen_bl928fskjn ' id='weiterleitung_ziel_zs' name='weiterleitung_ziel_zs' >".$wawfs_options."</select>";
$wawfs = "<tr><td style='height:37px;' ><input type='radio' name='aktion' value='weiterleiten_zu_schritt' ".$wawfs_checked." onchange='radio_change(this);' >".$wawfs_bez."</input></td></tr>";
$wawfs_opt = "<div style='display:hidden;' class=' wzs ' ><table><tr><td>Zielschritt</td><td>".$wawfs_select."</td></tr><tr><td>Empfänger</td><td>".$select."</td></tr></table></div>";
$options = "";
$select = "";
//<div class='wzs' >".$wawfs_select."</div>
}
if ( $w_anzeige == "ja" )
{
if ( ( $w_a_b == "ja" ) && ( $w_a_g == "ja" ) )
{
// Gruppen und Benutzer
$options = $g_og_options.$g_options.$b_og_options.$b_options;
}
else
{
if ( $w_a_b == "ja" )
{
$options = $b_options;
}
if ( $w_a_g == "ja" )
{
$options = $g_options;
}
}
$select = "<select style='width: 350px;' class=' chosen_bl928fskjn ' id='weiterleitung_ziel_oa' name='weiterleitung_ziel_oa' >".$options."</select>";
$weiterleitung = "<tr><td style='height:37px;' ><input type='radio' name='aktion' value='weiterleiten' ".$w_checked." onchange='radio_change(this);' >".$w_bez."</input></td></tr>";
$weiterleitung_opt = "<div style='display:hidden;' class=' weiter_maske ' ><table><tr><td >Empfänger</td><td style='vertical-align:top;'>".$select."</td></tr></table></div>";
$options = "";
$select = "";
}
if ( $sus_anzeige == "ja" )
{
$sus = "<tr><td style='height:37px;' ><input type='radio' name='aktion' value='speichern' ".$sus_checked." onchange='radio_change(this);' >".$sus_bez."</input></td></tr>";
}
if ( $s_anzeige == "ja" )
{
$speichern = "<tr><td style='height:37px;' ><input type='radio' name='aktion' value='nicht_speichern' ".$s_checked." onchange='radio_change(this);' >".$s_bez."</input></td></tr>";
}
if ( $wfsa_anzeige == "ja" )
{
$wfsa = "<tr><td style='height:37px;' ><input type='radio' name='aktion' value='schritt_abschliessen' ".$wfsa_checked." onchange='radio_change(this);' >".$wfsa_bez."</input></td></tr>";
}
$html_output = $html_output."<table ><tr><td><table>".$wawfs.$weiterleitung.$sus.$speichern.$wfsa."</table></td><td style='vertical-align:top;'>".$wawfs_opt.$weiterleitung_opt."</td></tr></table>";
$skript = "
<script>
$( '.chosen_bl928fskjn' ).chosen({ allow_single_deselect:true });
$( '.wzs' ).hide();
$( '.weiter_maske' ).hide();
</script>";
$html_output = $html_output."<p><input type='submit' value='Aktion ausführen' onclick='' /></p>".$skript;
}
if ( strlen( $element_hoehe ) > 0 )
{
$s = "style='height:".$element_hoehe."px;'";
}
else
{
$s = "";
}
$radio_change = "
<script>
(function(){
var x = document.getElementsByName( 'aktion' );
var i;
for (i = 0; i < x.length; i++) {
if ( x[ i ].checked == true ) {
radio_change( x[ i ] );
}
}
})();
function radio_change( par )
{
//alert( par.value );
switch ( par.value )
{
case 'weiterleiten_zu_schritt':
$( '.weiter_maske' ).hide();
$( '.wzs' ).show();
break;
case 'weiterleiten':
$( '.weiter_maske' ).show();
$( '.wzs' ).hide();
break;
case 'speichern':
case 'nicht_speichern':
case 'schritt_abschliessen':
$( '.wzs' ).hide();
$( '.weiter_maske' ).hide();
break;
}
}
</script>";
return "<div ".$s." >".$html_output."</div>".$radio_change;
}
?>