tmc
01-21-2009, 08:17 AM
The main problem (for me) is that I can still see all threads they create. Without pointing anything specific out, there are mods that exist here that are offensive to me (sometimes I even question why they are allowed here, even if not everyone shares my same opinions). I don't want to be subject to these mods, or these modders. And sadly for whatever reason, vBulletin has decided that we shouldn't be allowed to truly ignore a user.
I've tried coming up with a CSS rule (for AdBlock element hider) to hide all elements that contain a link to the user's profile, but I just don't think it's possible. Basically CSS needs the OPPOSITE selector to ">". You can read about it here if you'd like: http://www.shauninman.com/archive/20...fied_selectors
OK.. So the solution is to allow us the ability to block the entire TR easily.
<!-- threadbit -->
<tr class="userid-XXXXXX">
<!-- Table row code -->
</tr>
Or simply using the userid alone would do. And then, on the client side I can block any TR with that userid as the class.
This could even be turned into a NON-client side modification.. I don't know off the top of my head how vBulletin grabs an ignored users list, but I imagine it's available on every page load through $vbulletin->userinfo.
OK, looked it up just now, so you could do:
if (trim($vbulletin->userinfo['ignorelist']))
{
$ignored_css = '';
$ignorelist = preg_split('/( )+/', trim($vbulletin->userinfo['ignorelist']), -1, PREG_SPLIT_NO_EMPTY);
foreach($ignorelist AS $ignoreduserid)
{
$ignored_css .= "tr.userid-$ignoreduserid, "; // in fact, remove the tr to use it anywhere.
}
$ignored_css = substr($ignored_css, 0, -2); // Remove extra comma & space
if(strlen($ignored_css) > 0) // mostly unnecessary check to avoid CSS errors...
{
$show['ignored_css'] = true;
$ignored_css .= ' {display: none;}';
// If you want to template it...
//eval('$ignoredlist_css = "' . fetch_template('ignored_css') . '";');
}
}
And in headinclude:
<if condition="$show['ignored_css']">
<style type="text/css" media="all">
$ignored_css
</style>
</if>
And of course $show['ignored_css'] could be toggled through a UserCP option if needed. And the default could be "false" as to mimic default vBulletin behavior, but still give us the option of not being bombarded with modifications that are offensive to us.
P.S - Another option: Anyone interested in doing so immediately can use Greasemonkey to do it for them. For ease of coding you may embed jQuery into Greasemonkey also.
(I'm not sure if there's any interest but I can always hack it up for real, or share the Greasemonkey script.. But I tend to shy away from Greasemonkey)
--------------- Added 21 Jan 2009 at 05:33 ---------------
Confused why this was moved out of Site Feedback. But whatever.
--------------- Added 21 Jan 2009 at 05:36 ---------------
Actually, if you're going to simply not listen to my feedback at all on the matter, can you please delete it?
--------------- Added 23 Jan 2009 at 03:19 ---------------
Added the actual body of the message back in since this is back in Site Feedback where it was originally posted. :)
I've tried coming up with a CSS rule (for AdBlock element hider) to hide all elements that contain a link to the user's profile, but I just don't think it's possible. Basically CSS needs the OPPOSITE selector to ">". You can read about it here if you'd like: http://www.shauninman.com/archive/20...fied_selectors
OK.. So the solution is to allow us the ability to block the entire TR easily.
<!-- threadbit -->
<tr class="userid-XXXXXX">
<!-- Table row code -->
</tr>
Or simply using the userid alone would do. And then, on the client side I can block any TR with that userid as the class.
This could even be turned into a NON-client side modification.. I don't know off the top of my head how vBulletin grabs an ignored users list, but I imagine it's available on every page load through $vbulletin->userinfo.
OK, looked it up just now, so you could do:
if (trim($vbulletin->userinfo['ignorelist']))
{
$ignored_css = '';
$ignorelist = preg_split('/( )+/', trim($vbulletin->userinfo['ignorelist']), -1, PREG_SPLIT_NO_EMPTY);
foreach($ignorelist AS $ignoreduserid)
{
$ignored_css .= "tr.userid-$ignoreduserid, "; // in fact, remove the tr to use it anywhere.
}
$ignored_css = substr($ignored_css, 0, -2); // Remove extra comma & space
if(strlen($ignored_css) > 0) // mostly unnecessary check to avoid CSS errors...
{
$show['ignored_css'] = true;
$ignored_css .= ' {display: none;}';
// If you want to template it...
//eval('$ignoredlist_css = "' . fetch_template('ignored_css') . '";');
}
}
And in headinclude:
<if condition="$show['ignored_css']">
<style type="text/css" media="all">
$ignored_css
</style>
</if>
And of course $show['ignored_css'] could be toggled through a UserCP option if needed. And the default could be "false" as to mimic default vBulletin behavior, but still give us the option of not being bombarded with modifications that are offensive to us.
P.S - Another option: Anyone interested in doing so immediately can use Greasemonkey to do it for them. For ease of coding you may embed jQuery into Greasemonkey also.
(I'm not sure if there's any interest but I can always hack it up for real, or share the Greasemonkey script.. But I tend to shy away from Greasemonkey)
--------------- Added 21 Jan 2009 at 05:33 ---------------
Confused why this was moved out of Site Feedback. But whatever.
--------------- Added 21 Jan 2009 at 05:36 ---------------
Actually, if you're going to simply not listen to my feedback at all on the matter, can you please delete it?
--------------- Added 23 Jan 2009 at 03:19 ---------------
Added the actual body of the message back in since this is back in Site Feedback where it was originally posted. :)