Signed-off-by: Johannes Löthberg <johannes@kyriasis.com> --- web/lib/pkgbasefuncs.inc.php | 3 ++- web/template/pkg_details.php | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/web/lib/pkgbasefuncs.inc.php b/web/lib/pkgbasefuncs.inc.php index d12a228..d9185e7 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 2f121e7..fb81442 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']) ?>" /> -- 2.4.4