feat: Sincroniza foto LDAP para field_user_photos no login

Implementa hook_ldap_user_edit_user_alter() para capturar a foto do
atributo LDAP configurado e adicioná-la como primeira entrada em
field_user_photos, sem queries adicionais ao servidor.

Inclui LdapPhotoSyncService com detecção de tipo via exif_imagetype,
deduplicação por MD5 e reutilização de media entity existente.
Adiciona checkbox para ativar/desativar o sync no formulário de settings,
com visibilidade condicional do campo de atributo via #states.

Corrige acesso a mídias publicadas para usuários autenticados via
hook_media_access(), resolvendo "Acesso restrito" no widget e na
visualização do perfil.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-25 15:23:20 -03:00
parent 5cacb97f12
commit 6266b42e0e
5 changed files with 210 additions and 1 deletions

8
site_users.services.yml Normal file
View File

@@ -0,0 +1,8 @@
services:
site_users.ldap_photo_sync:
class: Drupal\site_users\Service\LdapPhotoSyncService
arguments:
- '@config.factory'
- '@entity_type.manager'
- '@file.repository'
- '@file_system'