Limit user editing of old forum posts
- layingback
- Site Admin
Limit user editing of old forum posts
I believe, from my own experience, that having user edits of their own posts disabled presents an unnecessary challenge to the user,: we all make typo mistakes. But equally letting users "go back in time" and change earlier posts [b]after[b/] someone has replied is also not too swift, as it leaves the door open to abuse.
The following mod to CPG-BB Forums (the standard forums in DF) will accomplish this, limiting user edits to their posts so long as no-one has posted a subsequent reply.
Leave basic forum setting at can-edit, and then make the following change to viewtopic.php at line 931 (for revision 9.39 in DF version 9.2.1):
if ( ( $userdata['user_id'] == $poster_id && $is_auth['auth_edit'] ) || $is_auth['auth_mod'] ) {
and replace with:
if ( ( $userdata['user_id'] == $poster_id && $is_auth['auth_edit'] && $i == $total_posts - 1 ) || $is_auth['auth_mod'] ) {
You are just adding a test, which applies to non-moderators, and non-admins, to see if the post is the last one.
EDIT: Adding an error message and enforcement
In posting.php in same folder, at line 227 insert:
} else if ( !$post_data['last_post'] && !$is_auth['auth_mod'] && $mode == 'editpost' ) { message_die(GENERAL_MESSAGE, $lang['Cannot_edit_replied']);
And in language/english/forums.php add:
'Cannot_edit_replied' => 'Sorry, but you may not edit posts that have been replied to.',
You can test/evaluate here, just register/login and post to this thread. Reply twice and you will see that you can no longer edit your prior post in the thread.
layingback's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
2.6.32 / 1.3 - 2.4 / 5.5 - 5.6 / 5.4 - 5.5 / 9.4
Last edited by layingback on Fri Feb 06, 2009 19:17; edited 1 time in total
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum