public function FieldOverviewController::overview in Field Encryption 8.2
Same name and namespace in other branches
- 3.0.x src/Controller/FieldOverviewController.php \Drupal\field_encrypt\Controller\FieldOverviewController::overview()
Renders overview page of encrypted fields.
1 string reference to 'FieldOverviewController::overview'
File
- src/
Controller/ FieldOverviewController.php, line 44
Class
- FieldOverviewController
- Renders encrypted fields overview.
Namespace
Drupal\field_encrypt\ControllerCode
public function overview() {
$encrypted_fields = $this
->getEncryptedFields();
$build['table'] = array(
'#type' => 'table',
'#header' => [
'field_name' => $this
->t('Field'),
'entity_type' => $this
->t('Entity type'),
'properties' => $this
->t('Properties'),
'encryption_profile' => $this
->t('Encryption profile'),
'count' => $this
->t('# encrypted field values'),
'operations' => $this
->t('Operations'),
],
'#title' => 'Overview of encrypted fields',
'#rows' => array(),
'#empty' => $this
->t('There are no encrypted fields.'),
);
foreach ($encrypted_fields as $encrypted_field) {
$properties = $encrypted_field
->getThirdPartySetting('field_encrypt', 'properties', []);
$entity_type = $encrypted_field
->getTargetEntityTypeId();
$field_name = $encrypted_field
->getName();
$row = [
'field_name' => $field_name,
'entity_type' => $entity_type,
'properties' => [
'data' => [
'#theme' => 'item_list',
'#items' => array_filter($properties),
],
],
'encryption_profile' => $encrypted_field
->getThirdPartySetting('field_encrypt', 'encryption_profile', ''),
'count' => $this
->getEncryptedFieldValueCount($entity_type, $field_name),
'operations' => [
'data' => [
'#type' => 'operations',
'#links' => [
'decrypt' => [
'title' => $this
->t('Decrypt'),
'url' => Url::fromRoute('field_encrypt.field_decrypt_confirm', [
'entity_type' => $entity_type,
'field_name' => $field_name,
]),
],
],
],
],
];
$build['table']['#rows'][$encrypted_field
->id()] = $row;
}
return $build;
}