From 556de318aeeef6019bb7628389beee1358de93f8 Mon Sep 17 00:00:00 2001
From: Lukas Fleischer <archlinux@cryptocrack.de>
Date: Mon, 24 Jan 2011 18:08:29 +0100
Subject: Build URLs from package names (fixes FS#15308, FS#19327).

Drop the "URLPath" field from the "Packages" table, build URLs from
package names instead.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
---
 web/lib/aurjson.class.php | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

(limited to 'web/lib/aurjson.class.php')

diff --git a/web/lib/aurjson.class.php b/web/lib/aurjson.class.php
index ab1bdbf..0868cb2 100644
--- a/web/lib/aurjson.class.php
+++ b/web/lib/aurjson.class.php
@@ -18,10 +18,23 @@ include_once("aur.inc");
  **/
 class AurJSON {
     private $dbh = false;
-    private $exposed_methods = array('search','info','msearch');
-    private $fields = array('Packages.ID','Name','Version','CategoryID',
-	'Description', 'LocationID', 'URL','URLPath','License','NumVotes',
-	'(OutOfDateTS IS NOT NULL) AS OutOfDate');
+    private $exposed_methods = array();
+    private $fields = array();
+
+    /**
+     * Initialize methods and database fields.
+     **/
+    public function __construct() {
+        $this->exposed_methods = array('search', 'info', 'msearch');
+
+	$this->fields = array(
+	    'Packages.ID', 'Name', 'Version', 'CategoryID',
+	    'Description', 'LocationID', 'URL', 'CONCAT("' .
+	    mysql_real_escape_string(URL_DIR) .
+	    '", Name, "/", Name, ".tar.gz") AS URLPath', 'License',
+	    'NumVotes', '(OutOfDateTS IS NOT NULL) AS OutOfDate'
+	);
+    }
 
     /**
      * Handles post data, and routes the request.
-- 
cgit v1.2.3-54-g00ecf