| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Installation file for Audiofield module.
 
-  */
 
- use Drupal\Core\Link;
 
- use Drupal\Core\Url;
 
- /**
 
-  * Implements hook_requirements().
 
-  */
 
- function audiofield_requirements($phase) {
 
-   $requirements = [];
 
-   if ($phase == 'runtime') {
 
-     $requirements['audiofield'] = [
 
-       'title' => t('AudioField Players'),
 
-       'severity' => REQUIREMENT_INFO,
 
-       'value' => '',
 
-       'description' => [
 
-         'installed' => [
 
-           '#theme' => 'item_list',
 
-           '#items' => [],
 
-           '#title' => '',
 
-           '#list_type' => 'ul',
 
-           '#attributes' => [],
 
-         ],
 
-         'outdated' => [
 
-           '#theme' => 'item_list',
 
-           '#items' => [],
 
-           '#title' => '',
 
-           '#list_type' => 'ul',
 
-           '#attributes' => [],
 
-         ],
 
-         'uninstalled' => [
 
-           '#theme' => 'item_list',
 
-           '#items' => [],
 
-           '#title' => '',
 
-           '#list_type' => 'ul',
 
-           '#attributes' => [],
 
-         ],
 
-       ],
 
-     ];
 
-     // Loop over each plugin and make sure it's library is installed.
 
-     foreach (\Drupal::service('plugin.manager.audiofield')->getDefinitions() as $pluginName => $plugin) {
 
-       // Create an instance of this plugin.
 
-       $pluginInstance = \Drupal::service('plugin.manager.audiofield')->createInstance($pluginName);
 
-       // Only check install if there is a library for the plugin.
 
-       if ($pluginInstance->getPluginLibrary()) {
 
-         // Check if the plugin is installed.
 
-         if (!$pluginInstance->checkInstalled()) {
 
-           // Show a warning here as something is not installed.
 
-           $requirements['audiofield']['description']['uninstalled']['#prefix'] = t('Unavailable players');
 
-           // Try to print the install directory (will fail if the library itself
 
-           // is broken somehow).
 
-           try {
 
-             $requirements['audiofield']['description']['uninstalled']['#items'][] = t(':library_name library has not been installed. Download from <a href=":url">:url</a> and install in %library', [
 
-               ':library_name' => $pluginInstance->getPluginTitle(),
 
-               ':url' => $pluginInstance->getPluginRemoteSource(),
 
-               '%library' => $pluginInstance->getPluginLibraryPath(),
 
-             ]);
 
-           }
 
-           catch (Exception $e) {
 
-             $requirements['audiofield']['description']['uninstalled']['#items'][] = t(':library_name library has not been installed. Download and install in %library', [
 
-               ':library_name' => $pluginInstance->getPluginTitFle(),
 
-               '%library' => $pluginInstance->getPluginLibraryPath(),
 
-             ]);
 
-           }
 
-         }
 
-         elseif (!$pluginInstance->checkVersion(FALSE)) {
 
-           $requirements['audiofield']['description']['outdated']['#prefix'] = t('Out of Date players');
 
-           $requirements['audiofield']['description']['outdated']['#items'][] = t(':library_name library (version @version) is installed at %library, but is out of date. Please update to the latest version available at @url, or by running %command', [
 
-             ':library_name' => $pluginInstance->getPluginTitle(),
 
-             '%library' => $pluginInstance->getPluginLibraryPath(),
 
-             '@version' => $pluginInstance->getPluginLibraryVersion(),
 
-             '@url' => Link::fromTextAndUrl($pluginInstance->getPluginRemoteSource(), Url::fromUri($pluginInstance->getPluginRemoteSource()))->toString(),
 
-             '%command' => 'drush audiofield-update',
 
-           ]);
 
-         }
 
-         else {
 
-           $requirements['audiofield']['description']['installed']['#prefix'] = t('Available players');
 
-           $requirements['audiofield']['description']['installed']['#items'][] = t(':library_name library (version @version) has been successfully installed at %library', [
 
-             ':library_name' => $pluginInstance->getPluginTitle(),
 
-             '@version' => $pluginInstance->getPluginLibraryVersion(),
 
-             '%library' => $pluginInstance->getPluginLibraryPath(),
 
-           ]);
 
-         }
 
-       }
 
-     }
 
-   }
 
-   return $requirements;
 
- }
 
 
  |