Index: trunk/admin/install/install_lib.php =================================================================== diff -u -r271 -r282 --- trunk/admin/install/install_lib.php (.../install_lib.php) (revision 271) +++ trunk/admin/install/install_lib.php (.../install_lib.php) (revision 282) @@ -20,12 +20,12 @@ $version = ''; while ($file = $dir->read()) { if ($file != "." && $file != ".." && !is_dir($dir_name.$file)) - { - $file = str_replace("inportal_upgrade_v", "", $file); - $file = str_replace(".sql", "", $file); - - if ($file != '' && !strstr($file, 'changelog') && !strstr($file, 'readme')) { - if (str_replace('.', '', $file) > str_replace('.', '', $version)) { + { + if (strstr($file, 'inportal_upgrade_v')) { + $file = str_replace("inportal_upgrade_v", "", $file); + $file = str_replace(".sql", "", $file); + + if (ConvertVersion($file) > ConvertVersion($version)) { $version = $file; } } @@ -35,6 +35,19 @@ return $version; } +function ConvertVersion($version) +{ + $parts = explode('.', $version); + + foreach ($parts as $part) { + $bin .= str_pad(decbin($part), 8, '0', STR_PAD_LEFT); + } + + $dec = bindec($bin); + + return $dec; +} + function TableExists($ado, $tables) { global $g_TablePrefix;