You are here

function media_entity_video_requirements in Media entity video 8.3

Same name and namespace in other branches
  1. 8.2 media_entity_video.install \media_entity_video_requirements()

Implements hook_requirements().

File

./media_entity_video.install, line 34
Install, uninstall and update hooks for Media entity video module.

Code

function media_entity_video_requirements($phase) {
  $requirements = [];
  if ($phase == 'install') {
    $destination = \Drupal::config('media.settings')
      ->get('icon_base_uri');
    \Drupal::service('file_system')
      ->prepareDirectory($destination, FileSystemInterface::CREATE_DIRECTORY | FileSystemInterface::MODIFY_PERMISSIONS);
    $is_writable = is_writable($destination);
    $is_directory = is_dir($destination);
    if (!$is_writable || !$is_directory) {
      if (!$is_directory) {
        $error = t('The directory %directory does not exist.', [
          '%directory' => $destination,
        ]);
      }
      else {
        $error = t('The directory %directory is not writable.', [
          '%directory' => $destination,
        ]);
      }
      $description = t('An automated attempt to create this directory failed, possibly due to a permissions problem. To proceed with the installation, either create the directory and modify its permissions manually or ensure that the installer has the permissions to create it automatically. For more information, see INSTALL.txt or the <a href=":handbook_url">online handbook</a>.', [
        ':handbook_url' => 'https://www.drupal.org/server-permissions',
      ]);
      if (!empty($error)) {
        $description = $error . ' ' . $description;
        $requirements['media_entity_video']['description'] = $description;
        $requirements['media_entity_video']['severity'] = REQUIREMENT_ERROR;
      }
    }
  }
  return $requirements;
}