PDA

View Full Version : Mark a thread a "hide" or "ignore"?



YLSF
Mar 23rd, 2012, 10:03 AM
I wonder if there is a feature that could be enabled in vbulletin to allow users to "ignore" certain threads. I find it hard to keep track of what is a new deal or what is an update on an existing deal and to go through thread titles of things I have no interest in at all. I tried using an RSS reader before and I didn't like the experience (it didn't seem like it was an instant update so there was a delay between when something was posted and when it showed up in the RSS reader).

Would love the option to ignore/hide a thread of something I have no interest in so I will never see it show up again.

mr_saturn
Oct 11th, 2012, 02:14 PM
Old OP, but I totally find myself wishing for the same thing!

AcidBomber
Oct 11th, 2012, 07:48 PM
Not exactly what you're looking for, but a decent alternative.

Sort thread by start time: http://forums.redflagdeals.com/hot-deals-f9/?sort=dateline&order=desc

You can use it to see if any new threads popped up that interest you without having to see old threads that were bumped.
And you can easily figure out the popular threads-of-the-day by glancing at the number of replies/views.

ronin1701
Oct 11th, 2012, 08:04 PM
Not exactly what you're looking for, but a decent alternative.

Sort thread by start time: http://forums.redflagdeals.com/hot-deals-f9/?sort=dateline&order=desc

You can use it to see if any new threads popped up that interest you without having to see old threads that were bumped.
And you can easily figure out the popular threads-of-the-day by glancing at the number of replies/views.

+1

We've been recommending this in Contests Forum for ages now, because of all the rampant bumping that goes on from thanking and good lucking.

ishfish
Oct 11th, 2012, 08:08 PM
+1

We've been recommending this in Contests Forum for ages now, because of all the rampant bumping that goes on from thanking and good lucking.
Why don't you suggest that instead of replying with thanking etc, the individual just press the thanks button?

(You know I can hear it when you cuss at me! :razz:).

ronin1701
Oct 11th, 2012, 08:13 PM
Why don't you suggest that instead of replying with thanking etc, the individual just press the thanks button?[/SIZE]

That's the preferred solution, yes, but since we both know it's never going to happen we need practical work-arounds.


(You know I can hear it when you cuss at me! :razz:).

I'm sending you some nasty thoughts right now - can you sense them? :twisted:

ishfish
Oct 11th, 2012, 08:16 PM
I'm sending you some nasty thoughts right now - can you sense them? :twisted:
Yes I can.
It hurts my feelings.:cry:

dollarsign
Oct 12th, 2012, 08:35 AM
With all credit going to Soulkeeper (http://forums.slimdevices.com/showthread.php?94286-How-to-hide-forum-threads&p=699958&viewfull=1#post699958) on another forum:

If you use Firefox and Greasemonkey (https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/), here's a script which inserts an ignore button for every thread. I'm playing with it now and there doesn't seem to be any performance hit on the forums. That could possibly change if you start ignoring more threads, I don't know.

This seems like it would work really well in the contests forum as opposed to posting "thanks" in every thread. One drawback would be that if will not fill up the page with non-ignored posts. In other words, if you had forum settings for 50 posts per page and you ignored 40 of them, you'd see 10 posts on that page. That's not necessarily a bad thing though.

Save the following as whatever.user.js and install it into Firefox:

// ==UserScript==
// @name Hide vBulletin 4.1 threads on RFD
// @description Ignore threads in vBulletin 4.1
// @include http://forums.redflagdeals.com/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// ==/UserScript==

var ignorelist;
function WipeList() {
ignorelist = {};
ignorelist.threads = [];
return false;
}
function getThread(id) {
var ii;
for (ii = 0; ii < ignorelist.threads.length; ii++) {
if (ignorelist.threads[ii].id == id) {
return ignorelist.threads[ii];
};
}
return null;
}

function CheckHideThread($li) {
var id = $li.attr('id');
if (typeof(id)!='undefined') {
id = id.substr(7);
var thr = getThread(id);
if (thr) {
$li.addClass('ignored');
$li.find('span.ignorethread').hide();
$li.find('span.unignorethread').show();
var tmpDate = new Date(thr.igdate);
$li.find('span.igdate').html(tmpDate.toString());
$li.find('span.igstatus').show();
} else {
$li.removeClass('ignored');
$li.find('span.unignorethread').hide();
$li.find('span.ignorethread').show();
$li.find('span.igstatus').hide();
}
}
return false;
}
function CheckHideThreads() {
$('li.threadbit').each(function() {
CheckHideThread($(this));
});
$('#numberofignoredthreads').text(ignorelist.threa ds.length);
return false;
}
$(document).ready(function() {
$('div.threadmeta').each(function() {
$(this).prepend('<div class="ignoremenu"><span class="igstatus">Ignored <span class="igdate"></span></span><span class="ignorethread igbtn">i</span><span class="unignorethread igbtn">un-ignore</span></div>');
});
$('#pagetitle').find('span.forumtitle').append('<div id="ignoreinfo" class="infobtn" style="float:right;" title="The number of ignored threads is forum wide."><span id="doing">Hiding</span> <span id="numberofignoredthreads"></span> ignored threads. <span id="showignored" class="infobtn" title="Show ignored threads">show</span><span id="hideignored" class="infobtn" title="Hide ignored threads">hide</span><span id="clearthreadignore" class="infobtn" title="Un-ignore all threads">reset</span></div>');
$('#clearthreadignore').click(function() {
if (confirm('This will reset (empty) the list of ignored threads for all subforums on this site. All threads will be un-ignored. Are you really sure you want to do this?')) {
WipeList();
localStorage.setItem('vBulletinIgnoreThreadList',J SON.stringify(ignorelist));
location.href = location.href;
}
});
$('#showignored').click(function() {
$('.ignoredmsg').hide('slow');
$('.ignored').show('slow');
$('#showignored').hide();
$('#hideignored').show();
$('#doing').text('Showing');
$('#clearthreadignore').show('slow');
});
$('#hideignored').click(function() {
$('.ignored').hide('slow');
$('.ignoredmsg').show('slow');
$('#hideignored').hide();
$('#showignored').show();
$('#doing').text('Hiding');
$('#clearthreadignore').hide();
});
$('#hideignored').hide();
$('#clearthreadignore').hide();
if (localStorage.getItem('vBulletinIgnoreThreadList') ==null) {
WipeList();
} else {
try {
ignorelist = $.parseJSON(localStorage.getItem('vBulletinIgnoreT hreadList'));
} catch(err) {
WipeList();
}
}
$('.ignorethread').click(function() {
var $li = $(this).parents('li.threadbit');
var thread = new Object;
var ii;
thread.id = $li.attr('id').substr(7);
if (confirm('Really ignore this thread?')) {
if (getThread(thread.id)==null) {
thread.igdate = new Date();
ignorelist.threads.push(thread);
localStorage.setItem('vBulletinIgnoreThreadList',J SON.stringify(ignorelist));
$li.addClass('ignored');
CheckHideThreads();
if (!$('#hideignored').is(':visible')) {
$li.hide('slow');
}
}
}
});
$('.unignorethread').click(function() {
var $li = $(this).parents('li.threadbit');
var thread = new Object;
var ii;
thread.id = $li.attr('id').substr(7);
if (confirm('Really un-ignore this thread?')) {
var newlist = {};
newlist.threads = [];
for (ii = 0; ii < ignorelist.threads.length;ii++) {
if (ignorelist.threads[ii].id != thread.id) {
newlist.threads.push(ignorelist.threads[ii]);
}
}
ignorelist = newlist;
localStorage.setItem('vBulletinIgnoreThreadList',J SON.stringify(ignorelist));
$li.removeClass('ignored');
CheckHideThreads();
$li.show('slow');
}
});
CheckHideThreads();
$('div#ignoreinfo').css('padding-top','6px').css('color','white');
$('div.ignoremenu').css('float','right').css('font-size','smaller');
$('.igbtn').css('cursor','pointer').css('border',' 1px solid #bbb').css('margin','4px').css('padding-left','2px').css('padding-right','2px').css('background-color','#eee').css('color','gray');
$('.infobtn').css('color','#006').css('border','1p x solid lightgray').css('margin-left','4px').css('margin-right','4px').css('padding-left','2px').css('padding-right','2px').css('cursor','pointer');
$('.ignorethread').attr('title','Ignore this thread (add it to your ignore list).');
$('.unignorethread').css('border','1px solid red').css('background-color','yellow').css('color','darkred').attr('titl e','Un-ignore this thread (remove it from your ignore list).');
$('.ignored').hide();

// For the main window (list of sub-forums)
$('div.forumlastpost').each(function() {
var $div = $(this);
var $a = $div.find('a.threadtitle');
var id = $a.attr('href');
id = id.substr(15);
id = id.substr(0,id.indexOf('-'));
if (getThread(id)!=null) {
$div.find('span.time').append(' <span style="background-color:yellow;">[ignored thread]</span>');
$div.addClass('ignored').hide().after('<div class="ignoredmsg">Ignored thread</div>');
}
});
});

Edited to account for different code between the original and RFD forums. Might tweak it a bit more later.

duckdown
Oct 17th, 2012, 05:16 PM
It would definitely be a welcome change. Would love to be able to hide all the useless threads in the Hot Deals forum that are not even deals anymore.. Lots of times there's an old running threads with 80 pages that is filled with people talking about the item but not about the deal itself

Sponsored threads are horrible most of the time too unfortunately

ronin1701
Oct 17th, 2012, 06:17 PM
It would definitely be a welcome change. Would love to be able to hide all the useless threads in the Hot Deals forum that are not even deals anymore.. Lots of times there's an old running threads with 80 pages that is filled with people talking about the item but not about the deal itself

Sponsored threads are horrible most of the time too unfortunately

Why not just go into Hot Deals with the forum sorted in order of thread creation?

http://forums.redflagdeals.com/hot-deals-f9/?sort=dateline&order=desc

That way you'd only see the newest threads, and none of the bumped threads.