53 lines
1.9 KiB
Plaintext
53 lines
1.9 KiB
Plaintext
<?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);
|
|
}
|
|
|
|
/**
|
|
* Add a default value for the 'Refresh' field for aggregator feed entities.
|
|
*/
|
|
function aggregator_update_8501() {
|
|
$definition_update_manager = \Drupal::entityDefinitionUpdateManager();
|
|
$field_definition = $definition_update_manager->getFieldStorageDefinition('refresh', 'aggregator_feed');
|
|
$field_definition->setDefaultValue(3600);
|
|
$definition_update_manager->updateFieldStorageDefinition($field_definition);
|
|
}
|