in reply to New Service: Thread Watcher

If you plunk the following code in your Free Nodelet, you'll have a button with which you can easily (one click) add a watch on the currently viewed node.

<form method="get" action="?" enctype="application/x-www-form-urlencod +ed"> <input type="hidden" name="node_id" value="`author_id`"> <input type="hidden" name="op" value="message"> <input type="hidden" name="replyto" value="user"> <input type="hidden" name="sendto" value="watcher"> <input type="submit" name="replytotext" value="watch `id`"> <input type="hidden" name="sexisgood" value="submit"> </form>

It's a little squirrely in that it leaves you on the homenode of the author of the node, but a simple Back in your browser fixes that.

If you want to be automatically redirected back to the node you were on when you clicked the button, make sure you have _redir handled in your free nodelet, as described in Free Nodelet Hack: Toggle Between Two Nodelet Configurations, and then add the following line to the above form:

<input type="hidden" name="_redir" value="`id`">

Update, per tye's goading^Wencouragment:

<form method="post" action="?" enctype="application/x-www-form-urlenco +ded"> <input type=hidden name=node_id value="`id`"> <input type=hidden name=op value="message" /> <input type=hidden name=sexisgood value="Send" /> <input type=hidden name=replyto value="user" /> <input type=hidden name=sendto value="watcher" /> <input type=submit name=replytotext value="watch `id`" /> </form>
A word spoken in Mind will reach its own level, in the objective world, by its own weight

Replies are listed 'Best First'.
Re: Free Nodelet Hack: Add watch on current node (_redir)
by tye (Sage) on Jul 10, 2007 at 20:10 UTC

    I'm assuming that you don't simply replace:

    <input type="hidd­en" name="node­_id" value="`au­thor_id`">


    <input type="hidd­en" name="node­_id" value="`id`">

    and avoid the "squirreliness" and inefficient _redir hackery out of (based on stuff you said in the CB) some mistaken impression you have that op=message works in user home nodes but not on arbitrary thread nodes.

    So I repeat (more clearly) that whatever problem you saw you have probably mischaracterized the cause because I know of no reason why the above simple solution wouldn't work and I encourage you to try again and figure out why it doesn't so whatever bug can be fixed (if the problem you had wasn't actually due to something outside of PerlMonks).


    - tye