[aur-dev] [PATCH v2 1/2] aurjson: Pass http_data array to all functions

Johannes Löthberg johannes at kyriasis.com
Sun Jun 28 17:48:22 UTC 2015


This is a preparatory patch that simplifies adding more arguments to
the parse functions

Signed-off-by: Johannes Löthberg <johannes at kyriasis.com>
---
 web/lib/aurjson.class.php | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/web/lib/aurjson.class.php b/web/lib/aurjson.class.php
index 7b77da4..6f95406 100644
--- a/web/lib/aurjson.class.php
+++ b/web/lib/aurjson.class.php
@@ -84,7 +84,7 @@ class AurJSON {
 		$this->dbh = DB::connect();
 
 		$type = str_replace('-', '_', $http_data['type']);
-		$json = call_user_func(array(&$this, $type), $http_data['arg']);
+		$json = call_user_func(array(&$this, $type), $http_data);
 
 		$etag = md5($json);
 		header("Etag: \"$etag\"");
@@ -291,7 +291,8 @@ class AurJSON {
 	 *
 	 * @return mixed An array containing 'ids' and 'names'.
 	 */
-	private function parse_multiinfo_args($args) {
+	private function parse_multiinfo_args($http_data) {
+		$args = $http_data['arg'];
 		if (!is_array($args)) {
 			$args = array($args);
 		}
@@ -319,7 +320,9 @@ class AurJSON {
 	 *
 	 * @return mixed Returns an array of package matches.
 	 */
-	private function search($keyword_string) {
+	private function search($http_data) {
+		$keyword_string = $http_data['arg'];
+
 		if (strlen($keyword_string) < 2) {
 			return $this->json_error('Query arg too small');
 		}
@@ -339,7 +342,8 @@ class AurJSON {
 	 *
 	 * @return mixed Returns an array of value data containing the package data
 	 */
-	private function info($pqdata) {
+	private function info($http_data) {
+		$pqdata = $http_data['arg'];
 		if (is_numeric($pqdata)) {
 			$where_condition = "Packages.ID = $pqdata";
 		} else {
@@ -356,7 +360,8 @@ class AurJSON {
 	 *
 	 * @return mixed Returns an array of results containing the package data
 	 */
-	private function multiinfo($pqdata) {
+	private function multiinfo($http_data) {
+		$pqdata = $http_data['arg'];
 		$args = $this->parse_multiinfo_args($pqdata);
 		$ids = $args['ids'];
 		$names = $args['names'];
@@ -392,7 +397,8 @@ class AurJSON {
 	 *
 	 * @return mixed Returns an array of value data containing the package data
 	 */
-	private function msearch($maintainer) {
+	private function msearch($http_data) {
+		$maintainer = $http_data['arg'];
 		$maintainer = $this->dbh->quote($maintainer);
 
 		$where_condition = "Users.Username = $maintainer ";
@@ -407,7 +413,8 @@ class AurJSON {
 	 *
 	 * @return string The JSON formatted response data.
 	 */
-	private function suggest($search) {
+	private function suggest($http_data) {
+		$search = $http_data['arg'];
 		$query = "SELECT Packages.Name FROM Packages ";
 		$query.= "LEFT JOIN PackageBases ";
 		$query.= "ON PackageBases.ID = Packages.PackageBaseID ";
@@ -433,7 +440,8 @@ class AurJSON {
 	 *
 	 * @return string The JSON formatted response data.
 	 */
-	private function suggest_pkgbase($search) {
+	private function suggest_pkgbase($http_data) {
+		$search = $http_data['arg'];
 		$query = "SELECT Name FROM PackageBases WHERE Name LIKE ";
 		$query.= $this->dbh->quote(addcslashes($search, '%_') . '%');
 		$query.= " AND PackageBases.PackagerUID IS NOT NULL ";
-- 
2.4.4


More information about the aur-dev mailing list