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





















?>