Signed-off-by: Johannes Löthberg <[email protected]>
---
 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

Reply via email to