$config->get('settings.library_url'), 'css' => $config->get('settings.css_url') ]; foreach ($files as $type => $file) { $is_local = parse_url($file, PHP_URL_SCHEME) === NULL && strpos($file, '//') !== 0; // If libraries module is active check if folder is malformed. if ($is_local && \Drupal::moduleHandler()->moduleExists('libraries') && ($info = libraries_detect('cropper')) && (!file_exists($info['library path'] . '/dist/cropper.min.' . $type) && !file_exists($info['library path'] . '/cropper.min.' . $type))) { $error[] = t(":type file : Libraries module is active but an error detected with your cropper libraries configuration. To use cropper library with 'libraries' module you must have the following structure `:libraries_cropper`", [ ':type' => strtoupper($type), ':libraries_cropper' => '/libraries/cropper/dist/cropper.min.' . $type ]); } } $requirements = []; $requirements['iwc_libraries'] = [ 'title' => t('ImageWidgetCrop library'), 'value' => empty($error) ? t('Correctly configured') : t('Files not found'), ]; if (!empty($error)) { $requirements['iwc_libraries']['severity'] = REQUIREMENT_ERROR; $requirements['iwc_libraries']['description'][] = [ '#theme' => 'item_list', '#items' => $error, ]; } else { $requirements['iwc_libraries']['severity'] = REQUIREMENT_OK; $requirements['iwc_libraries']['description'] = t('ImageWidgetCrop libraries files are correctly configured to use :library files', [ ':library' => !$is_local ? 'CDN' : 'Libraries API', ]); } return $requirements; }