Changeset View
Changeset View
Standalone View
Standalone View
branches/5.2.x/core/install.php
Show First 20 Lines • Show All 1102 Lines • ▼ Show 20 Line(s) | |||||
} | } | ||||
foreach ($upgrade_object->dependencies as $dependent_version => $version_dependencies) { | foreach ($upgrade_object->dependencies as $dependent_version => $version_dependencies) { | ||||
if (!$version_dependencies) { | if (!$version_dependencies) { | ||||
// module is independent -> skip | // module is independent -> skip | ||||
continue; | continue; | ||||
} | } | ||||
list ($parent_name, $parent_version) = each($version_dependencies); | $parent_name = key($version_dependencies); | ||||
$parent_version = $version_dependencies[$parent_name]; | |||||
if (!array_key_exists($parent_name, $dependencies)) { | if (!array_key_exists($parent_name, $dependencies)) { | ||||
// parent module | // parent module | ||||
$dependencies[$parent_name] = Array (); | $dependencies[$parent_name] = Array (); | ||||
} | } | ||||
if (!array_key_exists($parent_version, $dependencies[$parent_name])) { | if (!array_key_exists($parent_version, $dependencies[$parent_name])) { | ||||
// parent module versions, that are required by other module versions | // parent module versions, that are required by other module versions | ||||
▲ Show 20 Lines • Show All 80 Lines • ▼ Show 20 Line(s) | |||||
} | } | ||||
// remember, that we've already upgraded given version | // remember, that we've already upgraded given version | ||||
$this->upgradeLog[] = $module_name . ':' . $version; | $this->upgradeLog[] = $module_name . ':' . $version; | ||||
} | } | ||||
if (array_key_exists($module_name, $this->upgradeDepencies) && array_key_exists($version, $this->upgradeDepencies[$module_name])) { | if (array_key_exists($module_name, $this->upgradeDepencies) && array_key_exists($version, $this->upgradeDepencies[$module_name])) { | ||||
foreach ($this->upgradeDepencies[$module_name][$version] as $dependency_info) { | foreach ($this->upgradeDepencies[$module_name][$version] as $dependency_info) { | ||||
list ($dependent_module, $dependent_version) = each($dependency_info); | $dependent_module = key($dependency_info); | ||||
$dependent_version = $dependency_info[$dependent_module]; | |||||
if (!$this->RunUpgrade($dependent_module, $dependent_version, $upgrade_data, $start_from_query)) { | if (!$this->RunUpgrade($dependent_module, $dependent_version, $upgrade_data, $start_from_query)) { | ||||
return false; | return false; | ||||
} | } | ||||
} | } | ||||
} | } | ||||
// only mark module as updated, when all it's dependent modules are upgraded | // only mark module as updated, when all it's dependent modules are upgraded | ||||
▲ Show 20 Lines • Show All 572 Lines • Show Last 20 Lines |