[aur-dev] [PATCH] RPC: Coerce numeric values into integers
Coerce "ID", "FirstSubmitted" and "LastModified" into integers to ensure json_encode() serializes them as numeric values. This means that there will be a minor API break. There doesn't seem to be a better way to do this properly, though. Fixes FS#25693. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> --- web/lib/aurjson.class.php | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/web/lib/aurjson.class.php b/web/lib/aurjson.class.php index 277c824..ad99529 100644 --- a/web/lib/aurjson.class.php +++ b/web/lib/aurjson.class.php @@ -126,6 +126,9 @@ class AurJSON { while ( $row = mysql_fetch_assoc($result) ) { $name = $row['Name']; $row['URLPath'] = URL_DIR . substr($name, 0, 2) . "/" . $name . "/" . $name . ".tar.gz"; + $row['ID'] = intval($row['ID']); + $row['FirstSubmitted'] = intval($row['FirstSubmitted']); + $row['LastModified'] = intval($row['LastModified']); if ($type == 'info') { $search_data = $row; -- 1.7.6
On Sun, Aug 21, 2011 at 01:51:44AM +0200, Lukas Fleischer wrote:
Coerce "ID", "FirstSubmitted" and "LastModified" into integers to ensure json_encode() serializes them as numeric values. This means that there will be a minor API break. There doesn't seem to be a better way to do this properly, though. Fixes FS#25693.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> --- web/lib/aurjson.class.php | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/web/lib/aurjson.class.php b/web/lib/aurjson.class.php index 277c824..ad99529 100644 --- a/web/lib/aurjson.class.php +++ b/web/lib/aurjson.class.php @@ -126,6 +126,9 @@ class AurJSON { while ( $row = mysql_fetch_assoc($result) ) { $name = $row['Name']; $row['URLPath'] = URL_DIR . substr($name, 0, 2) . "/" . $name . "/" . $name . ".tar.gz"; + $row['ID'] = intval($row['ID']); + $row['FirstSubmitted'] = intval($row['FirstSubmitted']); + $row['LastModified'] = intval($row['LastModified']);
if ($type == 'info') { $search_data = $row; -- 1.7.6
I suppose I was a bit hasty in my bug report. If we're going to break things, can we break even more? There's no reason we couldn't also coerce: CategoryID, NumVotes, and OutOfDate (which might be better as a boolean). d
On Sat, Aug 20, 2011 at 07:57:20PM -0400, Dave Reisner wrote:
On Sun, Aug 21, 2011 at 01:51:44AM +0200, Lukas Fleischer wrote:
Coerce "ID", "FirstSubmitted" and "LastModified" into integers to ensure json_encode() serializes them as numeric values. This means that there will be a minor API break. There doesn't seem to be a better way to do this properly, though. Fixes FS#25693.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> --- web/lib/aurjson.class.php | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/web/lib/aurjson.class.php b/web/lib/aurjson.class.php index 277c824..ad99529 100644 --- a/web/lib/aurjson.class.php +++ b/web/lib/aurjson.class.php @@ -126,6 +126,9 @@ class AurJSON { while ( $row = mysql_fetch_assoc($result) ) { $name = $row['Name']; $row['URLPath'] = URL_DIR . substr($name, 0, 2) . "/" . $name . "/" . $name . ".tar.gz"; + $row['ID'] = intval($row['ID']); + $row['FirstSubmitted'] = intval($row['FirstSubmitted']); + $row['LastModified'] = intval($row['LastModified']);
if ($type == 'info') { $search_data = $row; -- 1.7.6
I suppose I was a bit hasty in my bug report. If we're going to break things, can we break even more? There's no reason we couldn't also coerce: CategoryID, NumVotes, and OutOfDate (which might be better as a boolean).
Yeah, if we break stuff, we should do it properly :) I'll have a look at the other fields. And I'm already looking forward to getting death threats from all the AUR helper developers around...
On Sun, Aug 21, 2011 at 02:04:45AM +0200, Lukas Fleischer wrote:
On Sat, Aug 20, 2011 at 07:57:20PM -0400, Dave Reisner wrote:
On Sun, Aug 21, 2011 at 01:51:44AM +0200, Lukas Fleischer wrote:
Coerce "ID", "FirstSubmitted" and "LastModified" into integers to ensure json_encode() serializes them as numeric values. This means that there will be a minor API break. There doesn't seem to be a better way to do this properly, though. Fixes FS#25693.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> --- web/lib/aurjson.class.php | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/web/lib/aurjson.class.php b/web/lib/aurjson.class.php index 277c824..ad99529 100644 --- a/web/lib/aurjson.class.php +++ b/web/lib/aurjson.class.php @@ -126,6 +126,9 @@ class AurJSON { while ( $row = mysql_fetch_assoc($result) ) { $name = $row['Name']; $row['URLPath'] = URL_DIR . substr($name, 0, 2) . "/" . $name . "/" . $name . ".tar.gz"; + $row['ID'] = intval($row['ID']); + $row['FirstSubmitted'] = intval($row['FirstSubmitted']); + $row['LastModified'] = intval($row['LastModified']);
if ($type == 'info') { $search_data = $row; -- 1.7.6
I suppose I was a bit hasty in my bug report. If we're going to break things, can we break even more? There's no reason we couldn't also coerce: CategoryID, NumVotes, and OutOfDate (which might be better as a boolean).
Yeah, if we break stuff, we should do it properly :) I'll have a look at the other fields. And I'm already looking forward to getting death threats from all the AUR helper developers around...
No hate here. Keep up the awesome work. d
This always bugged me a little bit. I'm glad the types are getting fixed. Very nice! -- -Justin
participants (3)
-
Dave Reisner
-
Justin Davis
-
Lukas Fleischer