Process data after a process step

Beispielszenario

Es wurde ein Prozess erstellt, mit dem sich Benutzer als Frontend User registrieren können. Die eingegebenen Daten sollen jetzt in der Businesslogik verarbeitet und in die Datenbank geschrieben werden.

Voraussetzungen

  1. Ein Businesslogik Objekt vom Typ "Ausführen nachdem ein Prozessschritt dargestellt und bearbeitet wurde" wurde angelegt
  2. Folgende Daten sind dort hinterlegt:
    • Pfad: z.b. fileadmin/example/ProcessRegistration.php
    • Klasse: ProcessRegistration
    • Methode: processUserRegistration

Die Quellcodedatei kann hier heruntergeladen werden: Download (Wichtig: die Datei muss in den im Businesslogik Objekt angegebenen Pfad kopiert werden)

Aus den Sessiondaten wird zunächst der eingegebene Username sowie das gewünschte Passwort gelesen. Diese Daten werden daraufhin in die Datenbanktabelle fe_users geschrieben um einen Frontend User anzulegen.
Da am Ablauf von positionIt nichts geändert werden soll, muss auch kein Kommando zurückgegeben werden.

  1. class ProcessRegistration {
  2.  
  3. public function processUserRegistration($processId, $pre_stepid,
  4. $cur_stepid, $sessiondata, $htmlcode) {
  5.  
  6. $processId = 3;
  7. $stepId = 14;
  8. $userNameFieldId = 56;
  9. $userPasswordId = 57;
  10.  
  11. $userName = $sessiondata[$processId][$stepId][$userNameFieldId];
  12. $userPassword = $sessiondata[$processId][$stepId][$userPasswordId];
  13.  
  14. // you may add some validation here
  15.  
  16. // prepare the data array
  17. $sql_data = array();
  18. $sql_data['username'] = $userName;
  19. $sql_data['password'] = $userPassword;
  20. // set some other values, such as usergroup, additional
  21. // personal informations, ...
  22.  
  23. // write the data to the fe_user database table
  24. $GLOBALS['TYPO3_DB']->exec_SELECTquery('fe_users', $sql_data);
  25. }
  26. }
© 2017 Ososoft GmbH