Commit 38eb8d2a authored by Lukas Fleischer's avatar Lukas Fleischer
Browse files

Display package groups on the details page



The groups field is hidden if a package doesn't belong to any group.

Signed-off-by: default avatarLukas Fleischer <archlinux@cryptocrack.de>
parent cc3244ea
......@@ -104,6 +104,32 @@ function pkg_from_name($name="") {
return $row[0];
}
/**
* Get package groups for a specific package
*
* @param int $pkgid The package to get groups for
*
* @return array All package groups for the package
*/
function pkg_groups($pkgid) {
$grps = array();
$pkgid = intval($pkgid);
if ($pkgid > 0) {
$dbh = DB::connect();
$q = "SELECT g.Name FROM Groups g ";
$q.= "INNER JOIN PackageGroups pg ON pg.GroupID = g.ID ";
$q.= "WHERE pg.PackageID = ". $pkgid;
$result = $dbh->query($q);
if (!$result) {
return array();
}
while ($row = $result->fetch(PDO::FETCH_COLUMN, 0)) {
$grps[] = $row;
}
}
return $grps;
}
/**
* Get package dependencies for a specific package
*
......
......@@ -22,6 +22,8 @@ $out_of_date_time = ($row["OutOfDateTS"] == 0) ? $msg : gmdate("Y-m-d", intval($
$urlpath = URL_DIR . substr($row['BaseName'], 0, 2) . "/" . $row['BaseName'];
$grps = pkg_groups($row["ID"]);
$deps = pkg_dependencies($row["ID"]);
$requiredby = pkg_required($row["Name"]);
......@@ -172,6 +174,22 @@ if ($SID && ($uid == $row["MaintainerUID"] ||
<th><?= __('License') . ': ' ?></th>
<td><?= htmlspecialchars($license) ?></td>
</tr>
<?php if (count($grps) > 0): ?>
<tr>
<th><?= __('Groups') . ': ' ?></th>
<td class="wrap">
<?php foreach($grps as $grp): ?>
<span class="related">
<?php if ($grp !== end($grps)): ?>
<?= htmlspecialchars($grp) ?>,
<?php else: ?>
<?= htmlspecialchars($grp) ?>
<?php endif; ?>
</span>
<?php endforeach; ?>
</td>
</tr>
<?php endif; ?>
<?php if (count($rels_c) > 0): ?>
<tr>
<th><?= __('Conflicts') . ': ' ?></th>
......
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