Index: install.php =================================================================== --- install.php (revision 13182) +++ install.php (working copy) @@ -345,7 +345,7 @@ 'password=' . md5( $this->GetVar('password') ), 'action=check', 'license_code=' . base64_encode( $this->toolkit->getSystemConfig('Intechnic', 'LicenseCode') ), - 'version=' . '4.3.0',//$this->toolkit->GetMaxModuleVersion('In-Portal'), + 'version=' . '4.3.0',//$this->toolkit->GetMaxModuleVersion('core/'), 'domain=' . base64_encode($_SERVER['HTTP_HOST']), ); @@ -585,10 +585,10 @@ $this->toolkit->SetModuleRootCategory('Core', $this->Conn->getInsertID()); // set module "Core" version after install (based on upgrade scripts) - $this->toolkit->SetModuleVersion('Core'); + $this->toolkit->SetModuleVersion('Core', 'core/'); // for now we set "In-Portal" module version to "Core" module version (during clean install) - $this->toolkit->SetModuleVersion('In-Portal', $this->toolkit->GetMaxModuleVersion('Core')); + $this->toolkit->SetModuleVersion('In-Portal', 'core/'); } break; @@ -656,7 +656,7 @@ $url_params = Array ( 'login=' . md5($license_login), 'password=' . md5($license_password), - 'version=' . $this->toolkit->GetMaxModuleVersion('In-Portal'), + 'version=' . $this->toolkit->GetMaxModuleVersion('core/'), 'domain=' . base64_encode($_SERVER['HTTP_HOST']), ); @@ -695,7 +695,7 @@ 'license_id=' . md5($license_id), 'dlog=' . md5($license_login), 'dpass=' . md5($license_password), - 'version=' . $this->toolkit->GetMaxModuleVersion('In-Portal'), + 'version=' . $this->toolkit->GetMaxModuleVersion('core/'), 'domain=' . base64_encode($_SERVER['HTTP_HOST']), ); @@ -792,9 +792,6 @@ $install_file = MODULES_PATH.'/'.$module.'/install.php'; if (file_exists($install_file)) { include_once($install_file); - - // set module version after install (based on upgrade scripts) - $this->toolkit->SetModuleVersion($module); } } } Index: install/install_toolkit.php =================================================================== --- install/install_toolkit.php (revision 13182) +++ install/install_toolkit.php (working copy) @@ -185,12 +185,18 @@ * Sets module version to passed * * @param string $module_name + * @param string $module_path * @param string $version */ - function SetModuleVersion($module_name, $version = false) + function SetModuleVersion($module_name, $module_path = false, $version = false) { if ($version === false) { - $version = $this->GetMaxModuleVersion($module_name); + if (!$module_path) { + trigger_error('Module path must be given to "SetModuleVersion" method to auto-detect version', E_USER_ERROR); + return ; + } + + $version = $this->GetMaxModuleVersion($module_path); } // get table prefix from config, because application may not be available here @@ -234,9 +240,11 @@ * @param string $module_name * @return string */ - function GetMaxModuleVersion($module_name) + function GetMaxModuleVersion($module_path) { - $upgrades_file = sprintf(UPGRADES_FILE, mb_strtolower($module_name).'/', 'sql'); + $module_path = rtrim(mb_strtolower($module_path), '/'); + $upgrades_file = sprintf(UPGRADES_FILE, $module_path . '/', 'sql'); + if (!file_exists($upgrades_file)) { // no upgrade file return '5.0.0'; @@ -815,12 +823,12 @@ */ function finalizeModuleInstall($module_folder, $refresh_permissions = false) { + $this->SetModuleVersion(basename($module_folder), $module_folder); + if (!$this->Application->GetVar('redirect')) { return ; } - $this->SetModuleVersion($module_folder); - $this->deleteCache($refresh_permissions); $url_params = Array ( Index: install/step_templates/choose_modules.tpl =================================================================== --- install/step_templates/choose_modules.tpl (revision 13182) +++ install/step_templates/choose_modules.tpl (working copy) @@ -33,8 +33,8 @@ $modules = $this->ScanModules(); foreach ($modules as $module) { - $module_version = $this->toolkit->GetMaxModuleVersion($module); - $prerequisites_errors = $this->toolkit->CheckPrerequisites($module . '/', Array ($module_version), 'install'); + $module_version = $this->toolkit->GetMaxModuleVersion('modules/' . $module . '/'); + $prerequisites_errors = $this->toolkit->CheckPrerequisites('modules/' . $module . '/', Array ($module_version), 'install'); $license_module = $module; Index: units/modules/modules_event_handler.php =================================================================== --- units/modules/modules_event_handler.php (revision 13182) +++ units/modules/modules_event_handler.php (working copy) @@ -132,7 +132,7 @@ $module_record = Array ( 'Name' => $toolkit->getModuleName($module), 'Path' => 'modules/' . $module . '/', - 'Version' => $toolkit->GetMaxModuleVersion($module), + 'Version' => $toolkit->GetMaxModuleVersion('modules/' . $module . '/'), 'Loaded' => 0, 'BuildDate' => null, ); Index: units/modules/modules_tag_processor.php =================================================================== --- units/modules/modules_tag_processor.php (revision 13182) +++ units/modules/modules_tag_processor.php (working copy) @@ -72,7 +72,7 @@ $object =& $this->getObject($params); /* @var $object kDBList */ - $module_path = strtolower( $object->GetDBField('Name') ); + $module_path = $object->GetDBField('Path'); if (!array_key_exists($module_path, $errors)) { require_once FULL_PATH . '/core/install/install_toolkit.php'; @@ -81,7 +81,7 @@ $module_version = $toolkit->GetMaxModuleVersion($module_path); - $errors[$module_path] = $toolkit->CheckPrerequisites($module_path . '/', Array ($module_version), 'standalone'); + $errors[$module_path] = $toolkit->CheckPrerequisites($module_path, Array ($module_version), 'standalone'); } return $errors[$module_path];