summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--web/lib/pkgbasefuncs.inc.php3
-rw-r--r--web/template/pkg_details.php8
2 files changed, 9 insertions, 2 deletions
diff --git a/web/lib/pkgbasefuncs.inc.php b/web/lib/pkgbasefuncs.inc.php
index d12a2286..d9185e7a 100644
--- a/web/lib/pkgbasefuncs.inc.php
+++ b/web/lib/pkgbasefuncs.inc.php
@@ -411,7 +411,8 @@ function pkgbase_unflag($base_ids) {
$q.= "OutOfDateTS = NULL ";
$q.= "WHERE ID IN (" . implode(",", $base_ids) . ") ";
- if (!has_credential(CRED_PKGBASE_UNFLAG)) {
+ $maintainers = array_merge(pkgbase_maintainer_uids($base_ids), pkgbase_get_comaintainer_uids($base_ids));
+ if (!has_credential(CRED_PKGBASE_UNFLAG, $maintainers)) {
$q.= "AND MaintainerUID = " . $uid;
}
diff --git a/web/template/pkg_details.php b/web/template/pkg_details.php
index 2f121e72..fb81442d 100644
--- a/web/template/pkg_details.php
+++ b/web/template/pkg_details.php
@@ -18,6 +18,12 @@ $maintainer = username_from_id($row["MaintainerUID"]);
$comaintainers = pkgbase_get_comaintainers($base_id);
$packager = username_from_id($row["PackagerUID"]);
+if ($row["MaintainerUID"] !== NULL) {
+ $maintainers = array_merge(array($row["MaintainerUID"]), pkgbase_get_comaintainer_uids(array($base_id)));
+} else {
+ $maintainers = NULL;
+}
+
$votes = $row['NumVotes'];
# In case of wanting to put a custom message
@@ -99,7 +105,7 @@ $sources = pkg_sources($row["ID"]);
<input type="submit" class="button text-button" name="do_Flag" value="<?= __('Flag package out-of-date') ?>" />
</form>
</li>
- <?php elseif (($row["OutOfDateTS"] !== NULL) && has_credential(CRED_PKGBASE_UNFLAG, array($row["MaintainerUID"]))): ?>
+ <?php elseif (($row["OutOfDateTS"] !== NULL) && has_credential(CRED_PKGBASE_UNFLAG, $maintainers)): ?>
<li>
<form action="<?= get_pkgbase_uri($row['BaseName']) . 'unflag/'; ?>" method="post">
<input type="hidden" name="token" value="<?= htmlspecialchars($_COOKIE['AURSID']) ?>" />