diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-08-13 03:03:04 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-08-13 03:03:04 +0000 |
commit | 49699d5be129c467323fd469573df3fbf6dbc98e (patch) | |
tree | 40f53edd3ea9b67b08de9ad2f9840cc13b14e983 /modules | |
parent | 5327ed26c23b1620037031389e81d1a6ddebc410 (diff) | |
download | brdo-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.inc | 31 |
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)); } } } |