Come on we need a block function so we can stop our own posts being read by particular members.
That's not how a block function works. In fact, that wouldn't even make sense. Posting on a public forum means anyone can read it. If you don't want people reading what you're saying, don't post on a public forum.
Lucky for you, the way a block function actually works can easily be accomplished within your own browser without the pianostreet admins needing any code changed, and is pretty simple to write.
Install Greasemonkey if you're running Firefox (or Nightly or Aurora). If you're using a different browser, I don't know what there is available, but you want a plugin that can run javascript on pages.
Create a new script. With Greasemonkey, here are the exact details they ask for. I'm sure any other plugin is similar.
Name: whatever you like, "Piano Street user block" is what I used
Namespace: https://www.pianostreet.com
Description: Again, whatever you want
Includes (One per line):
https://www.pianostreet.com/smf/*
https://pianostreet.com/smf/*
Excludes (One per line): leave blank
Here's the code you'll need to use. If you're using a different plugin than Greasemonkey, the lines from // ==UserScript== to // ==/UserScript== are not necessary, although you will need to find a way to include
https://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js// ==UserScript==
// @name Forum block
// @namespace https://www.pianostreet.com
// @include https://www.pianostreet.com/smf/*
// @include https://pianostreet.com/smf/*
// @grant none
// @version 1
// @require https://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js
// ==/UserScript==
var usersToHide = ["First One", "Another one"];
$("td").each(function () {
var txt = $(this).find("b").find("a").text();
if (usersToHide.indexOf(txt) > -1 )
$(this).hide();
});
Edit usersToHide for your own purposes. Just use proper syntax: ["User 1", "User 2", ..., "User n"]. This script is based entirely on what text exists in the left sidebar of each user's post, so make sure you get their username exactly as it is there (case-sensitive, to be safe--not sure if javascript's text matching is case sensitive, probably is though).
This will, hopefully obviously, only block their posts in thread view. Every other page of pianostreet should remain unchanged (so you'll still see them under recent posts, etc., and get notifications when they post in your threads).
This is what my test run looked like on
this thread when I added "pianoplunker" (temporarily!) to my usersToHide.
Edit: You can also hide threads created by users in your blocked list by adding this code to the end of the code above.
$("td.windowbg2").each(function () {
var txt = $(this).find("a").text();
if (usersToHide.indexOf(txt) > -1 )
$(this).parent().hide();
});
Here's the top of the "Anything but piano" forum with users Ludwig and pianoplunker in my ignore list
