summaryrefslogtreecommitdiff
path: root/includes/install.core.inc
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-06-25 12:35:14 +0000
committerDries Buytaert <dries@buytaert.net>2010-06-25 12:35:14 +0000
commitf56b384be0b3e7b56096f3036a3c9d7b731d2862 (patch)
tree46f2d8d75d2af29dab9c4374b2511a16ecc8a563 /includes/install.core.inc
parent35373aa89cfe5bbed7b19f8782feeea22251d5c6 (diff)
downloadbrdo-f56b384be0b3e7b56096f3036a3c9d7b731d2862.tar.gz
brdo-f56b384be0b3e7b56096f3036a3c9d7b731d2862.tar.bz2
- Patch #833192 by carlos8f: installer might install modules in wrong order.
Diffstat (limited to 'includes/install.core.inc')
-rw-r--r--includes/install.core.inc9
1 files changed, 9 insertions, 0 deletions
diff --git a/includes/install.core.inc b/includes/install.core.inc
index f0018e84c..9a81a9b5c 100644
--- a/includes/install.core.inc
+++ b/includes/install.core.inc
@@ -1348,6 +1348,15 @@ function install_profile_modules(&$install_state) {
$modules = variable_get('install_profile_modules', array());
$files = system_rebuild_module_data();
variable_del('install_profile_modules');
+
+ // Install dependencies first.
+ $modules = array_flip($modules);
+ foreach ($modules as $module => $weight) {
+ $modules[$module] = $files[$module]->sort;
+ }
+ arsort($modules);
+ $modules = array_keys($modules);
+
$operations = array();
foreach ($modules as $module) {
$operations[] = array('_install_module_batch', array($module, $files[$module]->info['name']));