function media_requirements in D7 Media 7.4
Same name and namespace in other branches
- 7.2 media.install \media_requirements()
- 7.3 media.install \media_requirements()
Implements hook_requirements().
File
- ./
media.install, line 109 - Install, update and uninstall functions for the Media module.
Code
function media_requirements($phase) {
$t = get_t();
// Make sure that file_entity module is 2.x version.
// We can't add this check in .info file because drupal.org testbot can't
// handle it. See #1734648.
$requirements = array();
if ($phase == 'update') {
$info = system_get_info('module', 'file_entity');
$file_entity_version = $info['version'];
$file_entity_minimum_date = 1495439635;
if (isset($info['datestamp'])) {
$file_entity_installed_date = $info['datestamp'];
}
else {
if (strpos($file_entity_version, '7.x-3') !== FALSE) {
// Good version, any number that passes the condition is good.
$file_entity_installed_date = $file_entity_minimum_date + 1;
}
else {
// Check version 2 release and parse into a number.
// No need to check version 1 as that's checked below.
$version_number = str_replace('7.x-2.', '', $file_entity_version);
if (is_numeric($version_number)) {
// Plain number, so good version.
$file_entity_installed_date = $file_entity_minimum_date + 1;
}
else {
// Bad version or release (beta, alpha, unstable...).
$file_entity_installed_date = $file_entity_minimum_date - 1;
}
}
}
// Time of 2017-05-22 07:53:55 is most recent commit in 7.x-2.0.
if ($file_entity_installed_date < $file_entity_minimum_date) {
$description = $t('Media 2.10 or newer requires <a href="@url">File entity 2.0 or newer (2.4 or higher recommended)</a>. Please download the correct version and make sure you have deleted the file_entity folder inside the media module directory.', array(
'@url' => 'http://drupal.org/project/file_entity',
));
$requirements['file_entity']['description'] = $description;
$requirements['file_entity']['severity'] = REQUIREMENT_ERROR;
$requirements['file_entity']['value'] = $file_entity_version;
$requirements['file_entity']['title'] = $t('Fieldable Files (file_entity) module 7.x-2.0 or newer is required by Media');
drupal_set_message($description, 'error', TRUE);
}
if (strpos($info['version'], '7.x-2') === FALSE && strpos($info['version'], '7.x-3') === FALSE) {
$requirements['file_entity'] = array(
'title' => $t('File entity 2.x or 3.x required.'),
'value' => $t('Wrong version'),
'severity' => REQUIREMENT_ERROR,
'description' => $t('Media requires <a href="@url">File entity 2.x or 3.x</a>. Please download the correct version and make sure you have deleted the file_entity folder inside the media module directory.', array(
'@url' => 'http://drupal.org/project/file_entity',
)),
);
}
}
return $requirements;
}