[PATCH] Add "Enable notifications" checkbox in "Add Comment" form
Currently, it is a little to easy to forget to enable notifications for a package after leaving a comment, thus never being notified of a reply. Even though the "Enable notifications" link is on the same page, it is not part of the flow for posting a new comment, and so, easy to miss. Most web forums and comment systems include a checkbox to enable notifications when posting for the first time in a thread. This patch implements this in aurweb, as well. --- web/html/css/aurweb.css | 5 +++++ web/html/pkgbase.php | 4 ++++ web/template/pkg_comment_form.php | 6 ++++++ 3 files changed, 15 insertions(+) diff --git a/web/html/css/aurweb.css b/web/html/css/aurweb.css index 593c9ae..ef37bf5 100644 --- a/web/html/css/aurweb.css +++ b/web/html/css/aurweb.css @@ -104,6 +104,11 @@ top: 1px; } +.comment-enable-notifications { + display: inline-block; + margin-left: 1em; +} + .rss-icon, .delete-comment, .undelete-comment, .edit-comment, .pin-comment { -webkit-filter: grayscale(100%); filter: grayscale(100%); diff --git a/web/html/pkgbase.php b/web/html/pkgbase.php index 46ad77e..0fec858 100644 --- a/web/html/pkgbase.php +++ b/web/html/pkgbase.php @@ -120,6 +120,10 @@ if (check_token()) { } elseif (current_action("do_AddComment")) { $uid = uid_from_sid($_COOKIE["AURSID"]); list($ret, $output) = pkgbase_add_comment($base_id, $uid, $_REQUEST['comment']); + $enable_notifications = isset($_REQUEST['enable_notifications']); + if ($ret && $enable_notifications != pkgbase_user_notify($uid, $base_id)) { + list($ret, $output) = pkgbase_notify(array($base_id), $enable_notifications); + } $fragment = '#news'; } elseif (current_action("do_EditComment")) { list($ret, $output) = pkgbase_edit_comment($_REQUEST['comment']); diff --git a/web/template/pkg_comment_form.php b/web/template/pkg_comment_form.php index c450c4b..41c0e1c 100644 --- a/web/template/pkg_comment_form.php +++ b/web/template/pkg_comment_form.php @@ -13,6 +13,12 @@ </p> <p> <input type="submit" value="<?= (isset($comment_id)) ? __("Save") : __("Add Comment") ?>" /> + <?php if (!isset($comment_id)): ?> + <span class="comment-enable-notifications"> + <input type="checkbox" name="enable_notifications" id="id_enable_notifications" <?= pkgbase_user_notify($uid, $base_id) ? "checked" : "" ?> /> + <label for="id_enable_notifications"><?= __("Enable notifications") ?></label> + </span> + <?php endif; ?> </p> </fieldset> </form> -- 2.19.0
On 10/16/18 12:26 AM, Vladimir Panteleev wrote:
<input type="submit" value="<?= (isset($comment_id)) ? __("Save") : __("Add Comment") ?>" /> + <?php if (!isset($comment_id)): ?>
This should only appear if we've confirmed the current pkgbase does not have notifications enabled.aa
+ <span class="comment-enable-notifications"> + <input type="checkbox" name="enable_notifications" id="id_enable_notifications" <?= pkgbase_user_notify($uid, $base_id) ? "checked" : "" ?> /> + <label for="id_enable_notifications"><?= __("Enable notifications") ?></label> + </span> + <?php endif; ?> </p> </fieldset> </form>
-- Eli Schwartz Bug Wrangler and Trusted User
participants (2)
-
Eli Schwartz
-
Vladimir Panteleev