340 lines
8.5 KiB
PHP
Executable File
340 lines
8.5 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=test mit einer Ausgabe ihrer testurationsmaske 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=test" );
|
|
|
|
muss das Plugin mit einer testurationsmaske (die ein Formular enthält) antworten, also beispielsweise:
|
|
|
|
<h2>testuration des Plugins wfl_plugin_name</h2>
|
|
<form name='wfl_plugin_name_test' 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_test' />
|
|
<input type='hidden' name='aufgerufen' value='aufgerufen' />
|
|
<table>
|
|
<tr><td>testuration 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-Detailtesturation" 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 testuration 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_notizen_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;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////
|
|
// testurationsfunktion
|
|
//////////////////////
|
|
|
|
|
|
function wfl_plugin_notizen_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 testurationsmaske
|
|
//////////////////////////////////////////////////////////////
|
|
|
|
//xlog( 4, "POST ".json_encode( $POST ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ( $POST[ "titel_anzeigen" ] == "ja" )
|
|
{
|
|
$titel_anzeigen = "ja";
|
|
}
|
|
else
|
|
{
|
|
$titel_anzeigen = "nein";
|
|
}
|
|
|
|
if ( $POST[ "notizen_anlegen" ] == "ja" )
|
|
{
|
|
$notizen_anlegen = "ja";
|
|
}
|
|
else
|
|
{
|
|
$notizen_anlegen = "nein";
|
|
}
|
|
|
|
|
|
$STATEMENT = "delete from ca_wfl_maske_einstellungen where workflow_id = ".$workflow[ 0 ]." and maske_id = ".$maske[ 0 ]." and plugin = 'wfl_plugin_notizen.php' and pos = '".$maske_pos."'";
|
|
|
|
xdb( $STATEMENT );
|
|
|
|
$STATEMENT = "insert into ca_wfl_maske_einstellungen ( workflow_id, maske_id, plugin, pos, e_01, e_02 ) values ( ".$workflow[ 0 ].", ".$maske[ 0 ].", 'wfl_plugin_notizen.php', '".$maske_pos."', '".$titel_anzeigen."', '".$notizen_anlegen."' )";
|
|
|
|
//xlog( 4, $STATEMENT );
|
|
|
|
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_notizen.php' and pos = '".$maske_pos."'";
|
|
|
|
$ergebnis = xdb( $STATEMENT );
|
|
|
|
$titel_anzeigen = $ergebnis[ 1 ][ 0 ][ "e_01" ];
|
|
$notizen_anlegen = $ergebnis[ 1 ][ 0 ][ "e_02" ];
|
|
|
|
|
|
|
|
$html_output = "<h4>Konfiguration des Plugins wfl_plugin_notizen</h4>";
|
|
|
|
if ( $titel_anzeigen == "ja" )
|
|
{
|
|
$titel_anzeigen_checked = " checked ";
|
|
}
|
|
else
|
|
{
|
|
$titel_anzeigen_checked = "";
|
|
}
|
|
|
|
if ( $notizen_anlegen == "ja" )
|
|
{
|
|
$notizen_anlegen_checked = " checked ";
|
|
}
|
|
else
|
|
{
|
|
$notizen_anlegen_checked = "";
|
|
}
|
|
|
|
$html_output = $html_output.
|
|
"<form name='wfl_plugin_name_test' action='wfl_plugins/wfl_plugin_notizen.php' method='post' >
|
|
<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>Notizen können angelegt werden</td>
|
|
<td><input type='checkbox' name='notizen_anlegen' value='ja' ".$notizen_anlegen_checked." /></td>
|
|
</tr>
|
|
|
|
|
|
</table>
|
|
<input type='submit' value='OK' />
|
|
</form>";
|
|
|
|
}
|
|
|
|
|
|
|
|
return $html_output;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//////////////////////
|
|
// Workflow-Arbeitsfunktion
|
|
//////////////////////
|
|
|
|
|
|
function wfl_plugin_notizen( $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_notizen.php' and pos = '".$maske_pos."'";
|
|
|
|
$ergebnis = xdb( $STATEMENT );
|
|
|
|
//xlog( 4, $STATEMENT );
|
|
|
|
$titel_anzeigen = $ergebnis[ 1 ][ 0 ][ "e_01" ];
|
|
$notizen_anlegen = $ergebnis[ 1 ][ 0 ][ "e_02" ];
|
|
|
|
|
|
if ( $notizen_anlegen == "ja" )
|
|
{
|
|
$config = 0;
|
|
}
|
|
else
|
|
{
|
|
$config = 1;
|
|
}
|
|
|
|
if ( $titel_anzeigen == "ja" )
|
|
{
|
|
$html_output = "<h3 style='margin-left:15px;'>".$maske[ 2 ][ "maske_plugin_".$maske_pos."_bezeichnung" ]."</h3>";
|
|
}
|
|
else
|
|
{
|
|
$html_output = "";
|
|
}
|
|
$html_output = $html_output._web_liefere_dok_kompl_notizen( $dokument[ 2 ][ "dok_id" ], $config );
|
|
|
|
//xlog( 4, $html_output );
|
|
|
|
return $html_output;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
?>
|