You are here

function panopoly_media_widget_duplicate_validate in Panopoly 8.2

Validation handler for duplicate file uploads.

1 string reference to 'panopoly_media_widget_duplicate_validate'
panopoly_media_field_widget_form_alter in modules/panopoly/panopoly_media/panopoly_media.module
Implements hook_field_widget_form_alter().

File

modules/panopoly/panopoly_media/panopoly_media.module, line 228
Hook implementations for Panopoly Media.

Code

function panopoly_media_widget_duplicate_validate(&$element, FormStateInterface &$form_state) {

  // Only validate on submit.
  $triggering_element = $form_state
    ->getTriggeringElement();
  if (!empty($triggering_element['#submit']) && in_array('file_managed_file_submit', $triggering_element['#submit'])) {
    if (strpos($triggering_element['#name'], '_upload_button') === FALSE) {
      return;
    }
  }
  $parents = $element['#parents'];
  $values = $form_state
    ->getValue($parents);

  // If there is a duplicate, verify "Acknowledge duplicate upload" box checked.
  if (!empty($element['#panopoly_media_is_duplicate']) && empty($values['panopoly_media_duplicate'])) {
    $form_state
      ->setError($element, t('Duplicate file uploaded. Please check the media library for an existing file or check the "Acknowledge duplicate upload" box to continue with this upload.'));
  }
}