diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2013-05-06 02:23:06 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2013-05-06 02:23:06 (GMT) |
commit | aa9f75a564a316d51e92f64207ce51e26a0c6c9c (patch) | |
tree | ce65719c0dab949167248cbfa989b70352d1954c | |
parent | 2fd54bfd7f4f1392333832de2e945f2a4691696d (diff) |
Use integer versions while displaying current addon, thus, do not break logic for 0.100 sugars
-rw-r--r-- | site/app/models/file.php | 6 | ||||
-rw-r--r-- | site/app/models/version.php | 8 |
2 files changed, 10 insertions, 4 deletions
diff --git a/site/app/models/file.php b/site/app/models/file.php index ba79e42..3a9b340 100644 --- a/site/app/models/file.php +++ b/site/app/models/file.php @@ -36,6 +36,8 @@ * * ***** END LICENSE BLOCK ***** */ +vendor('sphinx/addonsSearch'); + class File extends AppModel { var $name = 'File'; @@ -85,7 +87,7 @@ class File extends AppModel function getLatestFileByAddonId($addon_id, $platform_id = null) { // Platform WHERE if necessary $platform = !empty($platform_id) ? " AND (File.platform_id = ".PLATFORM_ALL." OR File.platform_id = {$platform_id})" : ''; - $sp = parse_sp(); + $app_ver = AddonsSearch::convert_version(parse_sp()); $sql = " SELECT @@ -104,7 +106,7 @@ class File extends AppModel File.status = ".STATUS_PUBLIC." {$platform} ORDER BY - Version.version + IF({$sp} >= CAST(B.version AS DECIMAL(3,3)) AND {$sp} <= CAST(C.version AS DECIMAL(3,3)), 1000000, 0) DESC + Version.version + IF({$app_ver} >= B.version_int AND {$app_ver} <= C.version_int, 1000000, 0) DESC LIMIT 1 "; diff --git a/site/app/models/version.php b/site/app/models/version.php index 9f8044c..d989931 100644 --- a/site/app/models/version.php +++ b/site/app/models/version.php @@ -39,6 +39,8 @@ * * ***** END LICENSE BLOCK ***** */ +vendor('sphinx/addonsSearch'); + class Version extends AppModel { var $name = 'Version'; @@ -139,6 +141,7 @@ class Version extends AppModel if (!isset($app_ver) || $app_ver == 'any') $app_ver = parse_sp(); + $app_ver = AddonsSearch::convert_version($app_ver); $sql = " SELECT @@ -156,7 +159,7 @@ class Version extends AppModel WHERE Version.addon_id = {$id} ORDER BY - Version.version + IF({$app_ver} >= CAST(B.version AS DECIMAL(3,3)) AND {$app_ver} <= CAST(C.version AS DECIMAL(3,3)), 1000000, 0) DESC + Version.version + IF({$app_ver} >= B.version_int AND {$app_ver} <= C.version_int, 1000000, 0) DESC LIMIT 1 "; @@ -175,6 +178,7 @@ class Version extends AppModel if (!isset($app_ver) || $app_ver == 'any') $app_ver = parse_sp(); + $app_ver = AddonsSearch::convert_version($app_ver); if (!isset($version) || $version == '') $version = '0'; @@ -194,7 +198,7 @@ class Version extends AppModel WHERE Version.addon_id = {$id} AND ({$version} = 0 OR Version.version = {$version}) ORDER BY - Version.version + IF({$app_ver} >= CAST(B.version AS DECIMAL(3,3)) AND {$app_ver} <= CAST(C.version AS DECIMAL(3,3)), 1000000, 0) DESC + Version.version + IF({$app_ver} >= B.version_id AND {$app_ver} <= C.version_id, 1000000, 0) DESC LIMIT 1 "; |