Version 1
[yaffs-website] / web / core / modules / aggregator / aggregator.install
diff --git a/web/core/modules/aggregator/aggregator.install b/web/core/modules/aggregator/aggregator.install
new file mode 100644 (file)
index 0000000..84e9614
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+
+/**
+ * @file
+ * Install, update and uninstall functions for the aggregator module.
+ */
+
+/**
+ * Implements hook_requirements().
+ */
+function aggregator_requirements($phase) {
+  $has_curl = function_exists('curl_init');
+  $requirements = [];
+  $requirements['curl'] = [
+    'title' => t('cURL'),
+    'value' => $has_curl ? t('Enabled') : t('Not found'),
+  ];
+  if (!$has_curl) {
+    $requirements['curl']['severity'] = REQUIREMENT_ERROR;
+    $requirements['curl']['description'] = t('The Aggregator module requires the <a href="https://secure.php.net/manual/en/curl.setup.php">PHP cURL library</a>. For more information, see the <a href="https://www.drupal.org/requirements/php/curl">online information on installing the PHP cURL extension</a>.');
+  }
+  return $requirements;
+}
+
+/**
+ * The simple presence of this update function clears cached field definitions.
+ */
+function aggregator_update_8001() {
+  // Feed ID base field is now required.
+}
+
+/**
+ * Make the 'Source feed' field for aggregator items required.
+ */
+function aggregator_update_8200() {
+  // aggregator_update_8001() did not update the last installed field storage
+  // definition for the aggregator item's 'Source feed' field.
+  $definition_update_manager = \Drupal::entityDefinitionUpdateManager();
+  $field_definition = $definition_update_manager->getFieldStorageDefinition('fid', 'aggregator_item');
+  $field_definition->setRequired(TRUE);
+  $definition_update_manager->updateFieldStorageDefinition($field_definition);
+}