0 && $label !== '') { $departmentMap[$tenantId][] = $label; } } foreach ($departmentMap as $tenantId => $labels) { $departmentMap[$tenantId] = array_values(array_unique($labels)); } $primaryTenantId = (int) ($user['primary_tenant_id'] ?? 0); $tenantGroups = []; foreach (is_array($tenantRows) ? $tenantRows : [] as $row) { $tenantId = (int) ($getRowValue($row, 'id') ?? 0); $tenantLabel = (string) ($getRowValue($row, 'description') ?? ''); if ($tenantId <= 0 || $tenantLabel === '') { continue; } $tenantGroups[] = [ 'label' => $tenantLabel, 'is_primary' => $primaryTenantId > 0 && $tenantId === $primaryTenantId, 'departments' => $departmentMap[$tenantId] ?? [], ]; } $roleLabels = $extractLabels(is_array($roleRows) ? $roleRows : []); $user['tenant_groups'] = $tenantGroups; $user['role_labels'] = $roleLabels; $name = trim(($user['first_name'] ?? '') . ' ' . ($user['last_name'] ?? '')); $title = $name !== '' ? $name : ($user['email'] ?? t('Address book')); Buffer::set('title', $title);