Description of the Hack:
The Miserable Users Hack for vB3 is an upgrade from Zzed's hack for vB2. The vB3 version is streamlined and works without any file edits. It is purely template based.
Templates modified for this Hack:
phpinclude_start
(the above was generated via the Hack Tracking Log, soon to come)
1.01 update: January 5th, 3:10 pm CET
Instead of a custom check for the usergroup data to see whether the user is a Miserable User, vB3's function is_member_of() is being used now, cleaning up the code even more.
Here's what the Hack does: (original Hack thread)
This Hack will allow you to drive away people from your board without banning them. As explained by Zzed, the author of the original (vB2) hack:
Quote:
Originally Posted by Zzed
So here is what really happens to a miserable user:
- There is a random 60-120 second delay each time they click on a link.
- 90% of times they have no search engine acccess.
- 75% of the times they get the server too busy error.
If they don't get the server too busy error:
- 50% of the times they may get a blank page
- 30% of the times they may get forwarded to the forum main page
- 20% of the time they may be able to see the page they asked for.
This vB3 hack uses NO FILE EDITS. Instead, it's all template based and Usergroup-based, making it even easier for you to manage your Miserable Users.
TO INSTALL:
1)
Create a new membergroup, and name it Miserable Users. Give them no particular permissions if you want, as you can use it as a secondary group (so you can effectively give them 0 permissions whatsoever). Note: make sure to note down the Membergroup id !
2)
Put this code at the top of your phpinclude_start template: Note: fill in the membergroup id from step 1 where it says "$miserableid = 8;" (replace the 8 with your id number).
PHP Code:
// Miserable Hack for vB3 // Ported by KuraFire to vB3, original vB2 version by Zzed // ####################################################### // Put the id of your Miserable Usergroup here: $miserableid = 8;
// Check to see if the user is a Miserable User if (is_member_of(array('userid'=>$bbuserinfo['userid'], 'usergroupid'=>$bbuserinfo['usergroupid'], 'membergroupids'=>$bbuserinfo['membergroupids']), $miserableid)) { $glitch = rand(60, 120); for($x=0; $x<$glitch; $x++) { echo ' '; sleep(1); }
Note: this Hack will come in an HTL* package once the HTL is finished.
Toning Down The Pain:
You'll find that this hack is a bit rough on people, and may be getting too obvious. If you want to tone it down, here's what you can do:
Toning down the page load delay: This line:
PHP Code:
$glitch = rand(60, 120);
specifies the random delay, in actual seconds. You can see that Miserable users will have at least 60 and at most 120 seconds loading delay for pages. If you want to dial that down, you could change it to 30, 60 for instance. The first number is the minimum amount of seconds they'll wait, the second is the maximum. A random number in-between the two will be used for each page load.
Toning down the % chance disabling of the Search engine:
This line:
PHP Code:
if($glitch < 90)
specifies the chance of the search engine being disabled. Currently it will be a 90% chance. Change the number to (for instance) 50 for a 50% chance.
Toning down the chance of a Server Too Busy error:
This line:
PHP Code:
if ($glitch < 75)
specifies the chance of getting a Server Too Busy error. Lower the number for a smaller chance.
Toning down the chance of a blank page: This line:
PHP Code:
if ($glitch < 50)
specifies the chance of getting a blank page. Lower the number for a smaller chance.
Increasing the chance of getting a normal page:
This line:
PHP Code:
if ($glitch < 80)
specifies the chance of not getting a normal page. So, if you want to increase the chance of getting a normal page, decrease this number!
Toning down the chance of a refresh to Forum home: This section:
PHP Code:
$glitch = rand(0, 100); if ($glitch < 80) { if ($glitch < 50)
specifies the chance of getting a refresh. If the 20% chance of getting a normal page is not the case, there will be a 50% chance of a white page, and if that doesn't happen, there will be a refresh. If you want to change it, meddle with those two options to find a balance you like.
Hope you guys enjoy this update of the excellent hack by Zzed, with the improvements I've made to it for higher maintainability (and, no file edits ).
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
The reason I asked for that is that I wish my moderators to be able to add people to the ignore list as well as the miserable group. The current method where you have to add user numbers in a row is a pain and it is not available for moderators only admins.
The reason I asked for that is that I wish my moderators to be able to add people to the ignore list as well as the miserable group. The current method where you have to add user numbers in a row is a pain and it is not available for moderators only admins.
Bo
If I have the time for it at some point, I can try and look into making a cron script for you that will put all users from the Miserable group to the Tachy C list. I can't promise that I'll have that done any time soon though :/
You have to make sure that the usergroupid in the hack is not one you belong to yourself, of course.
To fix, go into your database via PHPmyAdmin or whichever, and empty your phpinclude_start template. If that doesn't work, then you messed up something not related to this hack and I've no idea what you did, then. Hell, even if it IS related to this hack, I've no idea what you did. It's a very simple copy-paste into the phpinclude_start template, and only if you belong to the usergroup that you made miserable will it have an effect on your account.
Ok, I don't know much about PHPMyAdmin, but I tried this hack again, with the same results. So, this time I went into PHPMyAdmin and looked for the phpinclude template. I found that there were two! Both appeared identical, but one had a "-1" and one had a "1" for templatesetid, and there are two different templateid numbers. Could this be the problem? Should I delete the one with the "1" and the earlier id? (Is this normal?) I do hope this is the problem, otherwise I don't just know. Maybe you can shed a little light on this? I'd be forever grateful.
Ok, I don't know much about PHPMyAdmin, but I tried this hack again, with the same results. So, this time I went into PHPMyAdmin and looked for the phpinclude template. I found that there were two! Both appeared identical, but one had a "-1" and one had a "1" for templatesetid, and there are two different templateid numbers. Could this be the problem? Should I delete the one with the "1" and the earlier id? (Is this normal?) I do hope this is the problem, otherwise I don't just know. Maybe you can shed a little light on this? I'd be forever grateful.
Don't delete them, as that will break your vB (if you delete the -1 one) / revert your template to the original (if you delete the 1 one).
I'm gonna release the Hack Tracking Log soon, and after that I'll re-release this hack with an HTL installer.
Cool!!! Thanks! I kind of figured I'd be asking for trouble if I deleted anything in there. :nervous: I'm looking forward to your re-release! I just hope I can get it working. I just can't find anything I could possibly screw up on this one. The install is so quick and easy. :up: