['column' => 'given_name', 'label' => 'Prénom'], 'nom' => ['column' => 'surname', 'label' => 'Nom'], 'nom_complet' => ['column' => 'display_name', 'label' => 'Nom complet'], 'fonction' => ['column' => 'job_title', 'label' => 'Fonction'], 'service' => ['column' => 'department', 'label' => 'Service'], 'organisation' => ['column' => 'company_name', 'label' => 'Organisation'], 'bureau' => ['column' => 'office_location', 'label' => 'Bureau / site'], 'telephone' => ['column' => 'business_phone', 'label' => 'Téléphone fixe'], 'mobile' => ['column' => 'mobile_phone', 'label' => 'Téléphone mobile'], 'email' => ['column' => 'mail', 'label' => 'Adresse e-mail'], 'adresse' => ['column' => 'street_address', 'label' => 'Adresse'], 'code_postal' => ['column' => 'postal_code', 'label' => 'Code postal'], 'ville' => ['column' => 'city', 'label' => 'Ville'], ]; /** * @param array $user attributs de directory_users * @param array $overrides surcharges agent autorisées (clé de variable => valeur) * @return array */ public static function build(array $user, array $overrides = []): array { $vars = []; foreach (self::FIELDS as $key => $def) { $vars[$key] = $user[$def['column']] ?? null; } foreach ($overrides as $key => $value) { if (array_key_exists($key, self::FIELDS)) { $vars[$key] = $value; } } return $vars; } }