This allows Trusted Users to optionally add a comment when closing a request. The comment is included in the notification email that is sent to the requests mailing list. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> --- web/html/pkgbase.php | 2 +- web/lib/pkgbasefuncs.inc.php | 4 ++-- web/lib/pkgreqfuncs.inc.php | 12 +++++++++--- web/template/pkgreq_close_form.php | 8 ++++++++ 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/web/html/pkgbase.php b/web/html/pkgbase.php index 6202180..9725db7 100644 --- a/web/html/pkgbase.php +++ b/web/html/pkgbase.php @@ -105,7 +105,7 @@ if (check_token()) { $ret = false; } } elseif (current_action("do_CloseRequest")) { - list($ret, $output) = pkgreq_close($_POST['reqid'], $_POST['reason']); + list($ret, $output) = pkgreq_close($_POST['reqid'], $_POST['reason'], $_POST['comments']); } if (isset($_REQUEST['comment'])) { diff --git a/web/lib/pkgbasefuncs.inc.php b/web/lib/pkgbasefuncs.inc.php index 4c1f452..fed46c8 100644 --- a/web/lib/pkgbasefuncs.inc.php +++ b/web/lib/pkgbasefuncs.inc.php @@ -540,7 +540,7 @@ function pkgbase_delete ($atype, $base_ids, $merge_base_id, $via) { $dbh->exec($q); if ($via) { - pkgreq_close(intval($via), 'accepted'); + pkgreq_close(intval($via), 'accepted', ''); } return array(true, __("The selected packages have been deleted.")); @@ -598,7 +598,7 @@ function pkgbase_adopt ($atype, $base_ids, $action=true, $via) { $dbh->exec($q); if ($via) { - pkgreq_close(intval($via), 'accepted'); + pkgreq_close(intval($via), 'accepted', ''); } if ($action) { diff --git a/web/lib/pkgreqfuncs.inc.php b/web/lib/pkgreqfuncs.inc.php index 0309bc3..fccf0b2 100644 --- a/web/lib/pkgreqfuncs.inc.php +++ b/web/lib/pkgreqfuncs.inc.php @@ -156,10 +156,11 @@ function pkgreq_file($ids, $type, $merge_into, $comments) { * @global string $AUR_REQUEST_ML The request notification mailing list * @param int $id The package request to close * @param string $reason Whether the request was accepted or rejected + * @param string $comments Comments to be added to the notification email * * @return array Tuple of success/failure indicator and error message */ -function pkgreq_close($id, $reason) { +function pkgreq_close($id, $reason, $comments) { global $AUR_LOCATION; global $AUR_REQUEST_ML; @@ -202,8 +203,13 @@ function pkgreq_close($id, $reason) { */ $username = username_from_sid($_COOKIE['AURSID']); $body = "Request #" . intval($id) . " has been " . $reason . " by " . - $username . " [1].\n\n" . - "[1] " . $AUR_LOCATION . get_user_uri($username) . "\n"; + $username . " [1]"; + if (!empty(trim($comments))) { + $body .= ":\n\n" . $comments . "\n\n"; + } else { + $body .= ".\n\n"; + } + $body .= "[1] " . $AUR_LOCATION . get_user_uri($username) . "\n"; $body = wordwrap($body, 70); $headers = "MIME-Version: 1.0\r\n" . "Content-type: text/plain; charset=UTF-8\r\n"; diff --git a/web/template/pkgreq_close_form.php b/web/template/pkgreq_close_form.php index be36aef..00efafe 100644 --- a/web/template/pkgreq_close_form.php +++ b/web/template/pkgreq_close_form.php @@ -4,6 +4,10 @@ <?= __('Use this form to close the request for package base %s%s%s.', '<strong>', htmlspecialchars($pkgbase_name), '</strong>'); ?> </p> + <p> + <em><?= __('Note') ?>:</em> + <?= __('The comments field can be left empty. However, it is highly recommended to add a comment when rejecting a request.') ?> + </p> <form action="<?= get_uri('/pkgbase/'); ?>" method="post"> <fieldset> <input type="hidden" name="reqid" value="<?= $pkgreq_id ?>" /> @@ -16,6 +20,10 @@ </select> </p> <p> + <label for="id_comments"><?= __("Comments") ?>:</label> + <textarea name="comments" id="id_comments" rows="5" cols="50"></textarea> + </p> + <p> <input type="submit" class="button" name="do_CloseRequest" value="<?= __("Close Request") ?>" /> </p> </fieldset> -- 2.0.1