summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Fleischer <archlinux@cryptocrack.de>2014-04-26 14:21:43 +0200
committerLukas Fleischer <archlinux@cryptocrack.de>2014-04-26 14:21:55 +0200
commit38eb8d2a3ab0b7f35618d151613211d45f6ec4d8 (patch)
tree974147a73e98fe18cbb0dcf7289f5216689ca12b
parentcc3244ea8ae0202265df3d0fd2cfe86fbbeb9d30 (diff)
downloadaurweb-38eb8d2a3ab0b7f35618d151613211d45f6ec4d8.tar.xz
Display package groups on the details page
The groups field is hidden if a package doesn't belong to any group. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
-rw-r--r--web/lib/pkgfuncs.inc.php26
-rw-r--r--web/template/pkg_details.php18
2 files changed, 44 insertions, 0 deletions
diff --git a/web/lib/pkgfuncs.inc.php b/web/lib/pkgfuncs.inc.php
index f80d4b4..6811767 100644
--- a/web/lib/pkgfuncs.inc.php
+++ b/web/lib/pkgfuncs.inc.php
@@ -105,6 +105,32 @@ function pkg_from_name($name="") {
}
/**
+ * 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
*
* @param int $pkgid The package to get dependencies for
diff --git a/web/template/pkg_details.php b/web/template/pkg_details.php
index da90c9d..ff3f710 100644
--- a/web/template/pkg_details.php
+++ b/web/template/pkg_details.php
@@ -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>