Updating Media dependent modules to versions compatible with core Media.
[yaffs-website] / web / modules / contrib / crop / crop.install
index 4394e44095406d60c726beac7ba842e71b82cc3e..e9b055bd5dd02d2f024e28da5b706eb7542dfec2 100644 (file)
@@ -7,6 +7,38 @@
 
 use Drupal\crop\Entity\Crop;
 
+/**
+ * Implements hook_requirements().
+ */
+function crop_requirements($phase) {
+  $requirements = [];
+
+  // This branch of Crop API shouldn't be used with core < 8.4.x or with
+  // media_entity 1.x enabled.
+  $incompatible = FALSE;
+  $drupal_version = explode('.', \Drupal::VERSION);
+  if ($drupal_version[1] < 4) {
+    $incompatible = TRUE;
+  }
+  elseif (\Drupal::moduleHandler()->moduleExists('media_entity')) {
+    $info = system_get_info('module', 'media_entity');
+    if (version_compare($info['version'], '8.x-2') < 0) {
+      $incompatible = TRUE;
+    }
+  }
+
+  if ($incompatible) {
+    $requirements['crop_media'] = [
+      'title' => t('Crop API'),
+      'value' => t('This branch of Crop API is not compatible with the version of Media Entity installed.'),
+      'description' => t('This branch of Crop API is not compatible with the version of Media Entity installed.'),
+      'severity' => REQUIREMENT_ERROR,
+    ];
+  }
+
+  return $requirements;
+}
+
 /**
  * Delete orphaned crop entities.
  */
@@ -59,12 +91,3 @@ function crop_update_8002() {
   \Drupal::service('config.installer')
     ->installDefaultConfig('module', 'crop');
 }
-
-/**
- * Uninstall deprecated sub-module from active instance.
- */
-function crop_update_8003() {
-  if (\Drupal::moduleHandler()->moduleExists('crop_media_entity')) {
-    \Drupal::service('module_installer')->uninstall(['crop_media_entity']);
-  }
-}