Commit 9e9820ff authored by Lukas Fleischer's avatar Lukas Fleischer
Browse files

Extend pkgname_from_id() to arrays of IDs



This allows for getting the package names of multiple packages at once,
without having to iterate over them and making one DB query per package.
pkgname_from_id() now accepts both integer arrays and single integers
(backwards compatibility mode).
Signed-off-by: default avatarLukas Fleischer <archlinux@cryptocrack.de>
parent 937cda9c
......@@ -269,20 +269,37 @@ function pkgnotify_from_sid($sid="", $dbh=NULL) {
# get name of package based on pkgid
#
function pkgname_from_id($pkgid, $dbh=NULL) {
$pkgid = intval($pkgid);
$name = "";
if ($pkgid > 0) {
function pkgname_from_id($pkgids, $dbh=NULL) {
if (is_array($pkgids)) {
$pkgids = sanitize_ids($pkgids);
$names = array();
if(!$dbh) {
$dbh = db_connect();
}
$q = "SELECT Name FROM Packages WHERE ID = " . $pkgid;
$q = "SELECT Name FROM Packages WHERE ID IN (" .
implode(",", $pkgids) . ")";
$result = db_query($q, $dbh);
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
$names[] = $row['Name'];
}
}
return $names;
}
elseif ($pkgids > 0) {
if(!$dbh) {
$dbh = db_connect();
}
$q = "SELECT Name FROM Packages WHERE ID = " . $pkgids;
$result = db_query($q, $dbh);
if (mysql_num_rows($result) > 0) {
$name = mysql_result($result, 0);
}
return $name;
}
else {
return NULL;
}
return $name;
}
# Check if a package name is blacklisted.
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment