The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Mark Threads Unread (vB4) Details »» | |||||||||||||||||||||||||||
This product undoes thread read marking so the thread will show in New Posts in case you want to come back to it later. Open the Thread Tools menu and click the button at the bottom. Enable/disable is in General Settings.
Improved version now handles both database and cookie methods of marking threads read. The link now shows only for threads younger than the read marking limit. Bug fixed The improved version had a bug, which I have fixed. Installation: Import the product file in Product Manager Download Now
Show Your Support
|
Comments |
#22
|
|||
|
|||
I fixed the problem with cookie based thread marking and now the link shows only for threads younger than the marking cut off limit.
Here's a quick paste in update. For the "Build Form and Link" Plugin: Code:
if($vbulletin->options['enable_mark_unread']) { $template_hook['showthread_after_activeusers'] .= ' <form name="unmark"> <input type="hidden" name="do" value="unmark" /> <input type="hidden" name="threadid" value="' . $threadinfo['threadid'] . '" /> <input type="hidden" name="forumid" value="' . $foruminfo['forumid'] . '" /> <input type="hidden" name="userid" value="' . $vbulletin->userinfo['userid'] . '" /> <input type="hidden" name="s" value="' . $session['sessionhash'] . '" /> <input type="hidden" name="securitytoken" value="' . $vbulletin->userinfo['securitytoken'] . '" /> </form> <script> function vB_AJAX_Mark_Unread(form) { this.form = form; this.lastPost = ' . $threadinfo['lastpost'] . '; this.cutOff = ' . (TIMENOW - ($vbulletin->options['markinglimit'] * 86400)) . '; } vB_AJAX_Mark_Unread.prototype.addLink = function() { if(this.lastPost > this.cutOff) { var unmark = document.createElement("li"); unmark.innerHTML = \'<a id="mark_unread" href="javascript:markUnread.unmark();">' . $vbphrase['mark_unread'] . '</a>\'; fetch_object("threadtools").getElementsByTagName("ul")[0].appendChild(unmark); } } vB_AJAX_Mark_Unread.prototype.unmark = function() { YAHOO.util.Connect.setForm(this.form); YAHOO.util.Connect.asyncRequest("POST","showthread.php?do=unmark",{success:this.confirm,failure:this.confirm,timeout:vB_Default_Timeout,scope:this}); } vB_AJAX_Mark_Unread.prototype.confirm = function(doc) { fetch_object("mark_unread").parentNode.innerHTML = \'<a style="background:rgb(200,50,20);color:white;">' . $vbphrase['marked_unread'] .'</a>\'; } markUnread = new vB_AJAX_Mark_Unread(document.forms.unmark); window.onload = function() { markUnread.addLink(); } </script> '; } Code:
if($vbulletin->options['enable_mark_unread']) { if($_REQUEST['do'] == 'unmark') { $vbulletin->input->clean_array_gpc('r', array( 'threadid' => TYPE_STR, 'forumid' => TYPE_STR, 'userid' => TYPE_STR )); $threadid = intval($vbulletin->GPC['threadid']); $forumid = intval($vbulletin->GPC['forumid']); $userid = intval($vbulletin->GPC['userid']); if ($vbulletin->options['threadmarking']) { $vbulletin->db->query_write(" DELETE FROM " . TABLE_PREFIX . "threadread WHERE threadid = $threadid AND userid = $userid; "); $vbulletin->db->query_write(" DELETE FROM " . TABLE_PREFIX . "forumread WHERE forumid = $forumid AND userid = $userid; "); die('done'); } else { set_bbarray_cookie('thread_lastview', $threadid, 0); } } } |
#23
|
|||
|
|||
Quote:
Fortunately, I didn't overwrite my saved copy of the previous version which was better, IMO. |
#25
|
|||
|
|||
Really nice @Nerbert!
|
#26
|
|||
|
|||
It seems there are no instructions on how to insdtall this mod. Or am I missing something ?
|
#27
|
||||
|
||||
Sure there is, this is in the first post:
Installation: Import the product file in Product Manager |
#28
|
|||
|
|||
Just upload the product xml file in the Import Product page and it's ready to go.
|
#29
|
|||
|
|||
Will someone please take a guess on what I'm missing here or what's wrong? I've imported this mod and it installed correctly. It shows as being enabled by default in the AdminCP General Settings panel. However, when I go into a thread and click on the 'Mark Unread' menu item, it changes to a bright red highlight and the menu remains visible (i.e., it doesn't go away). The particular thread then does not appear to be marked as unread (no boldface subject text, etc). Am I missing something obvious? Thanks in advance.
|
#30
|
|||
|
|||
Make sure you have read through the thread and you are using the database for thread marking. Check for JavaScript errors on the AJAX calls.
|
#31
|
|||
|
|||
Thanks for the reply.
Quote:
Quote:
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|