Concrètement à quoi ça sert ? Dans mon cas, lors de la création d'un compte par les administrateurs sur le planet de Fedora-Fr (géré bien évidement par eZ Publish), je veux être sûr que le login renseigné correspond à un GauffrUser (utilisateur de la Gestion de Authentification Unifiée de Fedora-FR, Gauffr fera l'objet d'un prochain billet). Pour cela, j'ai donc rajouté un petit contrôle :

function validateInput( $http, &$module, &$class, $object, &$version, $contentObjectAttributes, $editVersion, $editLanguage, $fromLanguage, $validationParameters )
    {
        $result = array( 'is_valid' => true, 'warnings' => array() );
        $isValid =& $result['is_valid'];
        $warnings =& $result['warnings'];

        $contentClassIdentifier = $class->Identifier;
        $gauffrIni = eZIni::instance('gauffr.ini');

        switch( $contentClassIdentifier )
        {
            case $gauffrIni->variable('eZUser', 'UserClassIdentifier'):

                /* get user login */
                $user_account = $object->dataMap();
                $user_account = $user_account['user_account'];
                $user_accountID = $user_account->ID;
                $http_login = 'ContentObjectAttribute_data_user_login_' . $user_accountID;
                if ( $http->postVariable( $http_login ) )
                {
                    $login = $http->postVariable( $http_login );
                    /* Fetch GauffrUser */
                    if ( !isset($GLOBALS['GAUFFR_INIT']) || !$GLOBALS['GAUFFR_INIT'] )
                        include 'Gauffr/gauffr.php';

                    if ( !empty($login) && $gauffrIni->variable('GauffrSettings', 'StricMode') == 'enabled' && !GauffrUser::unique(GauffrUser::fetchUserByLogin( $login ) ) )
                    {
                        $warnings[] = array( 'text' => ezi18n( 'gauffr/validate', 'No GauffrUser "%user" in GauffrMaster. Please add account on GauffrMaster first.', null, array('%user' => $login) ) );
                        $isValid = false;
                    }
                }
                break;
        }

        return $result;
    }