diff options
Diffstat (limited to 'web/lib')
-rw-r--r-- | web/lib/aur.inc | 3 | ||||
-rw-r--r-- | web/lib/aurjson.class.php | 4 | ||||
-rw-r--r-- | web/lib/pkgfuncs.inc | 56 | ||||
-rw-r--r-- | web/lib/stats.inc | 4 |
4 files changed, 16 insertions, 51 deletions
diff --git a/web/lib/aur.inc b/web/lib/aur.inc index 430666c8..0e494a2d 100644 --- a/web/lib/aur.inc +++ b/web/lib/aur.inc @@ -331,12 +331,11 @@ function html_footer($ver="") { function can_submit_pkg($name="", $sid="") { if (!$name || !$sid) {return 0;} $dbh = db_connect(); - $q = "SELECT MaintainerUID, DummyPkg "; + $q = "SELECT MaintainerUID "; $q.= "FROM Packages WHERE Name = '".mysql_real_escape_string($name)."'"; $result = db_query($q, $dbh); if (mysql_num_rows($result) == 0) {return 1;} $row = mysql_fetch_row($result); - if ($row[1] == "1") { return 1; } $my_uid = uid_from_sid($sid); if ($row[0] === NULL || $row[0] == $my_uid) { diff --git a/web/lib/aurjson.class.php b/web/lib/aurjson.class.php index 0c692811..3570909d 100644 --- a/web/lib/aurjson.class.php +++ b/web/lib/aurjson.class.php @@ -110,7 +110,7 @@ class AurJSON { $keyword_string = addcslashes($keyword_string, '%_'); $query = "SELECT " . implode(',', $this->fields) . - " FROM Packages WHERE DummyPkg=0 AND " . + " FROM Packages WHERE " . " ( Name LIKE '%{$keyword_string}%' OR " . " Description LIKE '%{$keyword_string}%' )"; $result = db_query($query, $this->dbh); @@ -136,7 +136,7 @@ class AurJSON { **/ private function info($pqdata) { $base_query = "SELECT " . implode(',', $this->fields) . - " FROM Packages WHERE DummyPkg=0 AND "; + " FROM Packages WHERE "; if ( is_numeric($pqdata) ) { // just using sprintf to coerce the pqd to an int diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc index 699a3a9a..d9e2c13f 100644 --- a/web/lib/pkgfuncs.inc +++ b/web/lib/pkgfuncs.inc @@ -95,7 +95,6 @@ function package_exists($name="") { $dbh = db_connect(); $q = "SELECT ID FROM Packages "; $q.= "WHERE Name = '".mysql_real_escape_string($name)."' "; - $q.= "AND DummyPkg = 0"; $result = db_query($q, $dbh); if (!$result) {return NULL;} $row = mysql_fetch_row($result); @@ -109,10 +108,10 @@ function package_dependencies($pkgid=0) { $pkgid = intval($pkgid); if ($pkgid > 0) { $dbh = db_connect(); - $q = "SELECT DepPkgID, Name, DummyPkg, DepCondition FROM PackageDepends, Packages "; - $q.= "WHERE PackageDepends.DepPkgID = Packages.ID "; - $q.= "AND PackageDepends.PackageID = ". $pkgid; - $q.= " ORDER BY Name"; + $q = "SELECT pd.DepName, pd.DepCondition, p.ID FROM PackageDepends pd "; + $q.= "LEFT JOIN Packages p ON pd.DepName = p.Name "; + $q.= "WHERE pd.PackageID = ". $pkgid . " "; + $q.= "ORDER BY pd.DepName"; $result = db_query($q, $dbh); if (!$result) {return array();} while ($row = mysql_fetch_row($result)) { @@ -122,15 +121,14 @@ function package_dependencies($pkgid=0) { return $deps; } -function package_required($pkgid=0) { +function package_required($name="") { $deps = array(); - $pkgid = intval($pkgid); - if ($pkgid > 0) { + if ($name != "") { $dbh = db_connect(); - $q = "SELECT PackageID, Name, DummyPkg from PackageDepends, Packages "; - $q.= "WHERE PackageDepends.PackageID = Packages.ID "; - $q.= "AND PackageDepends.DepPkgID = ". $pkgid; - $q.= " ORDER BY Name"; + $q = "SELECT p.Name, PackageID FROM PackageDepends pd "; + $q.= "JOIN Packages p ON pd.PackageID = p.ID "; + $q.= "WHERE DepName = '".mysql_real_escape_string($name)."' "; + $q.= "ORDER BY p.Name"; $result = db_query($q, $dbh); if (!$result) {return array();} while ($row = mysql_fetch_row($result)) { @@ -140,38 +138,6 @@ function package_required($pkgid=0) { return $deps; } -# create a dummy package and return it's Packages.ID if it already exists, -# return the existing ID -# -function create_dummy($pname="", $sid="") { - if ($pname && $sid) { - $uid = uid_from_sid($sid); - if (!$uid) {return NULL;} - $dbh = db_connect(); - $q = "SELECT ID FROM Packages WHERE Name = '"; - $q.= mysql_real_escape_string($pname)."'"; - $result = db_query($q, $dbh); - if (!mysql_num_rows($result)) { - # Insert the dummy - # - $q = "INSERT INTO Packages (Name, Description, URL, SubmittedTS, "; - $q.= "SubmitterUID, DummyPkg) VALUES ('"; - $q.= mysql_real_escape_string($pname)."', 'A dummy package', '/#', "; - $q.= "UNIX_TIMESTAMP(), ".$uid.", 1)"; - $result = db_query($q, $dbh); - if (!$result) { - return NULL; - } - return mysql_insert_id($dbh); - } else { - $data = mysql_fetch_row($result); - return $data[0]; - } - } - return NULL; - -} - # Return the number of comments for a specified package function package_comments_count($pkgid = 0) { $pkgid = intval($pkgid); @@ -458,7 +424,7 @@ function pkg_search_page($SID="") { $q_from_extra = ""; } - $q_where = "WHERE Packages.DummyPkg = 0 "; + $q_where = "WHERE 1 = 1 "; // TODO: possibly do string matching on category // to make request variable values more sensible if (isset($_GET["C"]) && intval($_GET["C"])) { diff --git a/web/lib/stats.inc b/web/lib/stats.inc index f924fb57..a345c400 100644 --- a/web/lib/stats.inc +++ b/web/lib/stats.inc @@ -36,7 +36,7 @@ function updates_table($dbh) global $apc_prefix, $apc_ttl; $key = $apc_prefix . 'recent_updates'; if(!(EXTENSION_LOADED_APC && ($newest_packages = apc_fetch($key)))) { - $q = 'SELECT * FROM Packages WHERE DummyPkg != 1 ORDER BY ModifiedTS DESC LIMIT 0 , 10'; + $q = 'SELECT * FROM Packages ORDER BY ModifiedTS DESC LIMIT 0 , 10'; $result = db_query($q, $dbh); $newest_packages = new ArrayObject(); @@ -74,7 +74,7 @@ function general_stats_table($dbh) { global $apc_prefix; # AUR statistics - $q = "SELECT count(*) FROM Packages WHERE DummyPkg = 0"; + $q = "SELECT count(*) FROM Packages"; $unsupported_count = db_cache_value($q, $dbh, $apc_prefix . 'unsupported_count'); $q = "SELECT count(*) from Users"; |