This is a preparatory patch that simplifies adding more arguments to the parse functions Signed-off-by: Johannes Löthberg <johannes@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