DEPRECATION WARNING

This documentation is not using the current rendering mechanism and will be deleted by December 31st, 2020. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

Custom processing for mapping

A hook lets you create custom mapping markers:

name = {hookName|myCustomHook;param1|value1;param2|<cn>}

Syntax

  • Your custom marker should be surrounded by opening and closing curly braces {...}.
  • Parameters are delimited by semi-colons (;).
  • A parameter is a pair of parameter name and parameter value delimited by a pipe (|).
  • First parameter should always be hookName.
  • Parameter value may contain references to LDAP attributes using the standard syntax with <>.

Registration

In your extension (in the ext_localconf.php file), register the hook using a code like:

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['ig_ldap_sso_auth']['extraMergeField']['myCustomHook']
        = 'EXT:extension/Path/To/Class/ClassName.php:VendorName\\ClassName';

where myCustomHook corresponds to one of the hookName parameters you use in your mapping.

Your class has to implement a method extraMerge which will receive the following arguments:

$field
The name of the corresponding field in the mapping.
$typo3Record
An array containing the current user/group record from TYPO3.
$ldapRecord
An array containing the current user/group record from LDAP.
$ldapAttributes
An array containing LDAP attributes found in your mapping definition.
$hookParameters
An associative array with all hook parameters found in your mapping definition (thus including hookName).

Your method should simply return a string for the value to be given to $field.