You are here

public function WebformManagedFileBase::displayDisabledWarning in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/Plugin/WebformElement/WebformManagedFileBase.php \Drupal\webform\Plugin\WebformElement\WebformManagedFileBase::displayDisabledWarning()

Display element disabled warning.

Parameters

array $element: An element.

Overrides WebformElementBase::displayDisabledWarning

1 call to WebformManagedFileBase::displayDisabledWarning()
WebformManagedFileBase::prepare in src/Plugin/WebformElement/WebformManagedFileBase.php
Prepare an element to be rendered within a webform.

File

src/Plugin/WebformElement/WebformManagedFileBase.php, line 171

Class

WebformManagedFileBase
Provides a base class webform 'managed_file' elements.

Namespace

Drupal\webform\Plugin\WebformElement

Code

public function displayDisabledWarning(array $element) {

  // Display standard disabled element warning.
  if (!parent::isEnabled()) {
    parent::displayDisabledWarning($element);
  }
  else {

    // Display 'managed_file' stream wrappers warning.
    $scheme_options = static::getVisibleStreamWrappers();
    $uri_scheme = $this
      ->getUriScheme($element);
    if (!isset($scheme_options[$uri_scheme]) && $this->currentUser
      ->hasPermission('administer webform')) {
      $this
        ->messenger()
        ->addWarning($this
        ->t('The \'File\' element is unavailable because a <a href="https://www.ostraining.com/blog/drupal/creating-drupal-8-private-file-system/">private files directory</a> has not been configured and public file uploads have not been enabled. For more information see: <a href="https://www.drupal.org/psa-2016-003">DRUPAL-PSA-2016-003</a>'));
      $context = [
        'link' => Link::fromTextAndUrl($this
          ->t('Edit'), UrlGenerator::fromRoute('<current>'))
          ->toString(),
      ];
      $this->logger
        ->notice("The 'File' element is unavailable because no stream wrappers are available", $context);
    }
  }
}