private function RightToBeForgottenEntityTraversal::anonymize in General Data Protection Regulation 3.0.x
Same name and namespace in other branches
- 8.2 modules/gdpr_tasks/src/Traversal/RightToBeForgottenEntityTraversal.php \Drupal\gdpr_tasks\Traversal\RightToBeForgottenEntityTraversal::anonymize()
- 8 modules/gdpr_tasks/src/Traversal/RightToBeForgottenEntityTraversal.php \Drupal\gdpr_tasks\Traversal\RightToBeForgottenEntityTraversal::anonymize()
Runs anonymize functionality against a field.
Parameters
\Drupal\Core\Field\FieldItemListInterface $field: The field to anonymize.
\Drupal\Core\Field\FieldDefinitionInterface $field_definition: The field definition.
\Drupal\gdpr_fields\Entity\GdprField $field_config: GDPR field configuration.
Return value
array First element is success boolean, second element is the error message.
1 call to RightToBeForgottenEntityTraversal::anonymize()
- RightToBeForgottenEntityTraversal::processEntity in modules/gdpr_tasks/ src/ Traversal/ RightToBeForgottenEntityTraversal.php 
File
- modules/gdpr_tasks/ src/ Traversal/ RightToBeForgottenEntityTraversal.php, line 210 
Class
- RightToBeForgottenEntityTraversal
- Entity traversal used for Right to be Forgotten requests.
Namespace
Drupal\gdpr_tasks\TraversalCode
private function anonymize(FieldItemListInterface $field, FieldDefinitionInterface $field_definition, GdprField $field_config) {
  $anonymizer_id = $this
    ->getAnonymizerId($field_definition, $field_config);
  if (!$anonymizer_id) {
    return [
      FALSE,
      "Could not anonymize field {$field->getName()}. Please consider changing this field from 'anonymize' to 'remove', or register a custom anonymizer.",
      NULL,
    ];
  }
  try {
    $anonymizer = $this->anonymizerFactory
      ->get($anonymizer_id);
    $field
      ->setValue($anonymizer
      ->anonymize($field->value, $field));
    return [
      TRUE,
      NULL,
      $anonymizer_id,
    ];
  } catch (\Exception $e) {
    return [
      FALSE,
      $e
        ->getMessage(),
      NULL,
    ];
  }
}