next up previous contents index
Next: Funktionen zum Abfragen von Up: Modulaufruf-Konzept Previous: Modulaufruf-Konzept

wf_call_moduls ($specialmodultyp, $step, $modulfunktion, $control_args = array(), $onlyspecial = 0, $isextrapage = 0, $modulenr = "", $noout = 0) [File 'lib-workflow-modul.inc.php']:

Um jeweils die Module eines Schrittes oder einer Extrapage aufzurufen, wird die Funktion 'wf_call_moduls' aus 'lib-workflow-modul.inc.php' verwendet. Diese erhält als Parameter u.a. die Schritt- bzw. Extrapagenummer $step und ein boolsches Flag $isextrapage, um zu unterscheiden, ob die Schritt- oder die Extrapage mit Nummer $step gemeint ist. 'wf_call_moduls' bestimmt aus den Informationen der Datenbank (siehe Relationen 'workflow_schritt_modul', 'workflow_schritt_modul_param' bzw. 'workflow_extrapage_modul', 'workflow_extrapage_modul_param') welche Module auf welche Art und Weise aufgerufen werden.

Sollen nur die Module eines bestimmten Modul-Typs ('parent', 'loop' oder 'end') aufgerufen werden, so muss der Parameter $onlyspecial ungleich 'false' sein (Standart ist gleich 'false') und der Parameter $specialmodultyp den Typ-Namen ('parent', 'loop' oder 'end') enthalten. Ist $onlyspecial gleich 'false', so werden alle Module des Schrittes bzw. der Extrapage aufgerufen.

Ist andererseits der Parameter $modulnr ungleich dem leeren String, so wird nur das Modul mit der in $modulnr angegebenen Modulnummer aufgerufen.

Mit dem Parameter $modulfunktion wird angegeben, welche Funktion in den Modulen aufgerufen werden soll. Der Name der Funktion ergibt sich zu ``<modultypprefix>module_<modulname>_<modulfunktion>'', wobei <modultypprefix> je nach Modultyp den Wert ``parent_'', ``loop_'', ``end_'' oder leerer String (normales Modul) hat, <modulname> der Name des Moduls ist und <modulfunktion> den Wert von $modulfunktion enthält. D.h. der Funktionsname der aufzurufenden Funktion ergibt sich einfach zu ``<moduldateiname>_<modulfunktion>'', wenn <moduldateiname> der Dateiname des Moduls ohne die Endung '.inc.php' ist. Es wird hierbei erwartet, dass die Funktion in der entsprechenden Datei ``<moduldateiname>.inc.php'' des jeweiligen Moduls definiert wird. D.h. diese Datei wird von 'wf_call_moduls' mit dem php-Befehl 'include_once' vor dem Aufruf der Modulfunktion included. Wird im weiteren von dem Aufruf eines Moduls mit einer bestimmten Modulfunktion <modulfunktion> gesprochen, so ist mit <modulfunktion> nicht der tatsächliche php-Funktionsname aus dem Modul gemeint, sondern nur der Wert des Parameters $modulfunktion, aus dem sich der tatsächliche Name für jedes Modul, wie oben beschrieben, ableiten lässt.

Beispiele für den Wert von $modulfunktion sind ``main'' und ``head'' (siehe unten).

Die Module werden in der Reihenfolge ihrer Modulnummern aufgerufen, d.h. Module mit kleinerer Nummer zuerst.

Bei jedem Aufruf einer Funktion eines Moduls werden jeweils zwei Parameter übergeben. Als erster Parameter dient das von außen an 'wf_call_moduls' übergebene Array $control_args. Es enthält i.a. dynamische Werte, die z.B. den aktuellen Workflowschritt beschreiben, oder Variablenwerte, die von einem Parent-Schritt übergeben werden (z.B. aktuelle Klausurnummer für einen Klausur-Subworkflow). Von 'wf_call_moduls' wird in diesem noch der Parameter 'modul_nr' hinzugefügt, der die Modulnummer innerhalb des Schrittes bzw. der Extrapage des spezifischen Moduls enthält. Der zweite Parameter an die aufgerufene Funktion ist ein Array, das alle Modul-Parameter-Definitionen aus der Datenbank (siehe Relation 'workflow_schritt_modul_param' bzw. 'workflow_extrapage_modul_param') enthält. Im Gegensatz zum ersten Parameter sind diese Werte fest für ein bestimmtes Modul eines Schrittes bzw. einer Extrapage in einem Workflow nach Generierung des Workflows vorgegeben und können keine dynamischen Informationen tragen.

Falls der boolsche Parameter $noout ungleich 'false' ist, so verursacht die Funktion 'wf_call_moduls' selbst keine Ausgabe auf Stdout, um dies komplett den aufgerufenen Modulen zu überlassen. Ansonsten wird nämlich vor und nach jedem Modul-Aufruf eine HTML-Kommentar-Zeile in die Ausgabe eingebaut, die aber stören kann, falls die aufgerufenen Module die HTML-Seite vollständig selbst erzeugen (incl. html -Tag).

Die Rückgabe von 'wf_call_moduls' ist die Liste der Rückgaben der einzelnen Modul-Funktionsaufrufe.


next up previous contents index
Next: Funktionen zum Abfragen von Up: Modulaufruf-Konzept Previous: Modulaufruf-Konzept
Copyright Munich Network Management Team