Previous Thread
Next Thread
Print Thread
Hop To
Anonymous
Unregistered
Anonymous
Unregistered
I asked for some help in another thread (Threads assistance forum) and JoshPet was kind enough to respond. I'd like to offer a suggestion that would be of benefit to admins:

Right now Admins have no control whatsoever over Moderators (other than assigning them). Sometimes this process is like letting out a vigilante cop who doesn't have to answer to anyone and who can do whatever he wants without the admin knowing.

If you have a few moderators in a forum then there's no way to find out who deleted a post or even an entire thread - no evidence is left to investigate. What's worse is that even if they tell you about it, there's no way you can confirm that they did the right thing as the post/thread has been erased (and cannot be undeleted or looked at).

My idea is to give the admin actual control over moderator actions. Why not create a penalty box (similar to a trash can on the Windows desktop) that only the Admin could emply? This way if there is a dispute about a deleted message then the admin can look into the post and bring it back to life if he finds that it's been treated unfairly.

---------
Go Cougs!

Anonymous
Unregistered
Anonymous
Unregistered
You could create a board for this yourself, just disallow reading permissions for the normal usergroups. You would probably need to set all moderators as moderator of this board as well. After that you can tell all moderators to move threads to this board instead of deleting them. This allows other moderators and admins to see the posts afterwards as well as having the possibility to move them back to the public forums.

Of course, moderators can still delete posts if they are malicious.

I do believe there are plans for letting the admin set which actions moderators are allowed to do in some future version. It would be quite welcome I think.

/Gardener
www.rollspel.nu

Anonymous
Unregistered
Anonymous
Unregistered
Gardner, many thanks for your response both here and in the other thread. It's great that we realise the importance of allowing admins to look into and oversee the work of their moderators.

I like the idea of opening up a separate forum, though I understand that only entire threads (and not single posts) can be moved there. A major drawback is that if a moderator decides to erase a message instead of moving it then I still can't find out which moderator made the delete.

There should be some simple way of tracking deleted messages. I mentioned the idea of a "trash can" similar to the one on the windows desktop, though in essence this could be a control panel option that would list deleted posts and threads along with information on who deleted them and when. The admin could then resurrect these posts/threads or delete them permanently.

Anonymous
Unregistered
Anonymous
Unregistered
When you edit a post... in addition to "Move this thread", there is an option to "Move this post and any replies".
That will move the single post...splitting it off from the thread. However, if users have replied to the post you are moving, the replies will go too.
So there is a bit of in between ground.

"Happiness comes through doors you didn't even know you left open. "

Anonymous
Unregistered
Anonymous
Unregistered
I still need a way of knowing A) that a post has been deleted B) who deleted it C) the content of the post.

How about adding a control panel option that admins could decide to switch on if necessary? Every time a message is deleted the admin would receive an email containing the post and the name of the moderator who deleted it.

This can't be that hard to do, can it? In UBBC for instance people can choose to receive an email every time they get a private message, and the email contains a copy of the message itself.

---------
Go Cougs!

Anonymous
Unregistered
Anonymous
Unregistered
OK, here is how you do this. Before you modify any scripts, read the disclaimer at the top of the files. Also remember to do a backup of all files before changing anything.

First add this line to languages/deletepost.php:
<pre>$ubbt_lang['DELETED_THIS'] = "deleted the following post:";</pre>

Add this to your config.inc.php file (and change AdminName to the username who is going to recieve the mail, leave it empty to not send any mail at all):
<pre>
$config['mailondelete'] = "AdminName";
</pre>

Open the file deletepost.php and do the following.

First, find this line:
<pre>
$user = $userob -> authenticate();
</pre>

And change it to this:
<pre>
$user = $userob -> authenticate("U_Language");
</pre>

Now find these lines:
<pre>
$html -> send_header($ubbt_lang['POST_DEL_HEAD'],$Cat,"<meta http-equiv=\"Refresh\" content=\"5;url={$config['phpurl']}/postlist.php?Cat=$Cat&Board=$Board&page=$page&view=$view&sb=$sb&o=$o\" />",$user);
</pre>

And add these lines ABOVE:
<pre>
// ------------------------------------
// Send an email about the deleted post
if ($config['mailondelete']) {
$MailUser_q = addslashes($config['mailondelete']);
$query = "
SELECT U_Email,
U_Language
FROM w3t_Users
WHERE U_Username = '$MailUser_q'
";
$sth = $dbh -> do_query($query);
list($Mailto,$Language) = $dbh -> fetch_array($sth);

// -----------------------------------------------------------------
// Now if this user has a pre-selected language we use that language
// for the message we send out
if (!$Language) { $Language = $config['language'];}
require "{$config['path']}/languages/$Language/deletepost.php";

$EmailBody = $Body;
if ($config['stripcodes']) {
$EmailBody = preg_replace("/<([^>])*>/","",$EmailBody);
}

$newline = "\n";
if (stristr(PHP_OS,"win")) {
$newline = "\r\n";
}

$to = $Mailto;
$mailer = new mailer;
$header = $mailer -> headers();
$subject = $ubbt_lang['POST_DEL_HEAD'];
$msg = "$Username {$ubbt_lang['DELETED_THIS']}$newline{$ubbt_lang['POSTER_TEXT']}: $Postedby$newline{$ubbt_lang['SUBJECT_TEXT']}: $Subject$newline$Body";

mail("$to","$subject",$msg,$header);

// --------------------------------------------------
// Now, we need to switch back to this users language
$Language = $user['U_Language'];
if (!$Language) { $Language = $config['language']; }
require "{$config['path']}/languages/$Language/deletepost.php";
}
</pre>

/Gardener
www.rollspel.nu

Anonymous
Unregistered
Anonymous
Unregistered
Wow, Gardener, this is fantastic work! You should be working for Infopop! <img border="0" title="" alt="[Smile]" src="images/icons/smile.gif" />

I'll be moving to Threads once 6.1 comes out, do you suppose this code modification will still work?

---------
Go Cougs!

Anonymous
Unregistered
Anonymous
Unregistered
Well, I wouldn't argue with that, some money would definitely be appreciated by a soon-to-be student (again). ;]

There has been some changes to the mails sent out by threads, but I think this code should still work. If not, I can update it for you since I'll be installing 6.1 PB1 soon. Hopefully all my mods will be updated for 6.1 in time for its stable release.

/Gardener
www.rollspel.nu

Anonymous
Unregistered
Anonymous
Unregistered
Gardener is an awesome Threads Hacker.

<img border="0" title="" alt="[Smile]" src="images/icons/smile.gif" />

"Happiness comes through doors you didn't even know you left open. "


Link Copied to Clipboard
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Recent Topics
Slow Queries - Any Ideas?
by BellaOnline - 10/16/2026 4:34 PM
Selling a Forum?
by ECNet - 10/10/2026 10:54 AM
Who's Online Now
1 members (1 invisible), 331 guests, and 94 robots.
Key: Admin, Global Mod, Mod
Random Gallery Image
Latest Gallery Images
Ride safe!
Ride safe!
by Morgan, December 7
Los Angeles
Los Angeles
by isaac, August 6
3D Creations
3D Creations
by JAISP, December 30
Artistic structures
Artistic structures
by isaac, August 29
Powered by UBB.threads™ PHP Forum Software 8.1.0
(Snapshot build 20260527)