Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2013-05-06 02:23:06 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2013-05-06 02:23:06 (GMT)
commitaa9f75a564a316d51e92f64207ce51e26a0c6c9c (patch)
treece65719c0dab949167248cbfa989b70352d1954c
parent2fd54bfd7f4f1392333832de2e945f2a4691696d (diff)
Use integer versions while displaying current addon, thus, do not break logic for 0.100 sugars
-rw-r--r--site/app/models/file.php6
-rw-r--r--site/app/models/version.php8
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
";