Über die Funktion formloader können dynamisch php Scripts (Formulare) geladen werden.
Diese script müssen entweder unter ../share/request/oder ../share/plugins/[PLUGINNAE]/request/ liegen und mit dem Prefix 'f_' beginnen.
Beim aufruf von formloader() können die Argumente mit übergeben werden. Hier ein Beispiel:
formloader(
'content', // arguments[0]: über den Namen wird die auszuführende Datei ermittelt
// In diesem Beispiel: ../share/request/f_content.php
'update', // arguments[1]: 'Funktion', die in der Zieldatei ausgeführt werden soll. Hier also ein Update
// Dieses Argument wird als GET Parameter ($func) übergeben.
10, // arguments[2]: Wert, der in die Zieldatei übergeben wird.
// Dieses Argument wird als GET Parameter ($val) übergeben.
{ // arguments[3]: Array mit weiteren Parametern. Diese werden als GET-Parameter an die Zieldatei übergeben
'key' : 'value',
...
},
'pluginpath' // arguments[4]: Wird das 4. Argument gesetzt, wird statt ../share/request/f_content.php der Pfad ../share/[pluginpath]/request/p_content.php aufgerufen.
);
processor()
Über die Funktion processor können dynamisch php Scripts ausgeführt werden.
Diese script müssen entweder unter ../share/processors/oder ../share/plugins/[PLUGINNAE]/processors/ liegen und mit dem Prefix 'p_' beginnen.
Beim aufruf von processor() können die Argumente mit übergeben werden. Hier ein Beispiel:
processor(
'set', // arguments[0]: über den Namen wird die auszuführende Datei ermittelt
// In diesem Beispiel: ../share/processor/p_set.php
'comments', // arguments[1]: 'Funktion', die in der Zieldatei ausgeführt werden soll
// Dieses Argument wird als GET Parameter ($func) übergeben.
10, // arguments[2]: Wert, der in die Zieldatei übergeben wird.
// Dieses Argument wird als GET Parameter ($val) übergeben.
{ // arguments[3]: Array mit weiteren Parametern. Diese werden als GET-Parameter an die Zieldatei übergeben
'reload' : false, // Default = true. Soll die Seite beim Aufruf von process() nicht neu geladen werden muss reload = false gesetzt werden
'callback' : innerHTML, // callback: ist innerHTML gesetzt, wird ein HTML Element ersetzt. s. Erläuterungen unten.
...
},
'pluginpath'// arguments[4]: Wird das 4. Argument gesetzt, wird statt ../share/processor/p_set.php der Pfad ../share/[pluginpath]/processor/p_set.php aufgerufen.
);
Erläuterungen:
Wird 'callback' : 'innerHTML' gesetzt, wird aus der Request-Antwort der Wert response.id genutzt, um das entsprechende Element zu ermitteln. Der Inhalt dieses Elements wird dann mit response.html ersetzt:
...
else if (callback === "innerHTML"){ //if callback == innerHTML is set, innerHTML of response.id is set
response = JSON.parse(req.responseText);
document.getElementById(response.id).innerHTML = response.html;
}
In der Folge werden hier mögliche Usecases beschrieben:
processor() - /share/processors/p_delete.php
processor('delete', //-> /share/processors/p_delete.php
'comment', // Dieses Argument wird als GET Parameter ($val) übergeben, entspricht DB/Context.
1234, // id des zu löschenden Datensatzes
{
'reload': 'false', // kein Reload
'callback': 'replaceElementByID', // callback Funktion für Antwort
'element_Id': 'comment_1233' // element_Id auf die die callback Funktion angewendet wird
}
);