summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAngie Byron <webchick@24967.no-reply.drupal.org>2009-08-13 03:03:04 +0000
committerAngie Byron <webchick@24967.no-reply.drupal.org>2009-08-13 03:03:04 +0000
commit49699d5be129c467323fd469573df3fbf6dbc98e (patch)
tree40f53edd3ea9b67b08de9ad2f9840cc13b14e983 /modules
parent5327ed26c23b1620037031389e81d1a6ddebc410 (diff)
downloadbrdo-49699d5be129c467323fd469573df3fbf6dbc98e.tar.gz
brdo-49699d5be129c467323fd469573df3fbf6dbc98e.tar.bz2
#533586 by dww and chx: Refactor dependency checks into sharable helper functions.
Diffstat (limited to 'modules')
-rw-r--r--modules/system/system.admin.inc31
1 files changed, 11 insertions, 20 deletions
diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc
index 9e9d77f27..88f8d410a 100644
--- a/modules/system/system.admin.inc
+++ b/modules/system/system.admin.inc
@@ -660,27 +660,18 @@ function system_modules($form_state = array()) {
}
else {
$requires_name = $files[$requires]->info['name'];
- if ($v) {
- $requires_name .= $v['original_version'];
- $current_version = str_replace(DRUPAL_CORE_COMPATIBILITY . '-', '', $files[$requires]->info['version']);
- foreach ($v['versions'] as $required_version) {
- if ((isset($required_version['op']) && !version_compare($current_version, $required_version['version'], $required_version['op'])) ||
- (isset($required_version['preg']) && !preg_match($required_version['preg'], $current_version))) {
- $extra['requires'][$requires] = t('@module (<span class="admin-missing">incompatible with</span> version @version)', array(
- '@module' => $requires_name,
- '@version' => $files[$requires]->info['version'],
- ));
- $extra['disabled'] = TRUE;
- }
- }
+ if ($incompatible_version = drupal_check_incompatibility($v, str_replace(DRUPAL_CORE_COMPATIBILITY . '-', '', $files[$requires]->info['version']))) {
+ $extra['requires'][$requires] = t('@module (<span class="admin-missing">incompatible with</span> version @version)', array(
+ '@module' => $requires_name . $incompatible_version,
+ '@version' => $files[$requires]->info['version'],
+ ));
+ $extra['disabled'] = TRUE;
}
- if (!isset($extra['requires'][$requires])) {
- if ($files[$requires]->status) {
- $extra['requires'][$requires] = t('@module (<span class="admin-enabled">enabled</span>)', array('@module' => $requires_name));
- }
- else {
- $extra['requires'][$requires] = t('@module (<span class="admin-disabled">disabled</span>)', array('@module' => $requires_name));
- }
+ elseif ($files[$requires]->status) {
+ $extra['requires'][$requires] = t('@module (<span class="admin-enabled">enabled</span>)', array('@module' => $requires_name));
+ }
+ else {
+ $extra['requires'][$requires] = t('@module (<span class="admin-disabled">disabled</span>)', array('@module' => $requires_name));
}
}
}