[aur-dev] [PATCH] Add the popularity field to the RPC interface

Lukas Fleischer lfleischer at archlinux.org
Thu Jun 25 07:22:25 UTC 2015


Implements FS#45422.

Signed-off-by: Lukas Fleischer <lfleischer at archlinux.org>
---
 web/lib/aurjson.class.php | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/web/lib/aurjson.class.php b/web/lib/aurjson.class.php
index c896b04..7b77da4 100644
--- a/web/lib/aurjson.class.php
+++ b/web/lib/aurjson.class.php
@@ -33,6 +33,14 @@ class AurJSON {
 		'Users.UserName AS Maintainer',
 		'SubmittedTS AS FirstSubmitted', 'ModifiedTS AS LastModified'
 	);
+	private static $fields_v4 = array(
+		'Packages.ID', 'Packages.Name',
+		'PackageBases.ID AS PackageBaseID',
+		'PackageBases.Name AS PackageBase', 'Version',
+		'Description', 'URL', 'NumVotes', 'Popularity',
+		'OutOfDateTS AS OutOfDate', 'Users.UserName AS Maintainer',
+		'SubmittedTS AS FirstSubmitted', 'ModifiedTS AS LastModified'
+	);
 	private static $numeric_fields = array(
 		'ID', 'PackageBaseID', 'NumVotes', 'OutOfDate',
 		'FirstSubmitted', 'LastModified'
@@ -211,7 +219,11 @@ class AurJSON {
 				"GROUP BY Packages.ID " .
 				"LIMIT $max_results";
 		} elseif ($this->version >= 2) {
-			$fields = implode(',', self::$fields_v2);
+			if ($this->version == 2 || $this->version == 3) {
+				$fields = implode(',', self::$fields_v2);
+			} else if ($this->version == 4) {
+				$fields = implode(',', self::$fields_v4);
+			}
 			$query = "SELECT {$fields} " .
 				"FROM Packages LEFT JOIN PackageBases " .
 				"ON PackageBases.ID = Packages.PackageBaseID " .
-- 
2.4.4


More information about the aur-dev mailing list