Skip to:
Content
Pages
Categories
Search
Top
Bottom

Moderators for the same forum

Viewing 13 replies - 1 through 13 (of 13 total)

  • Robin W
    Moderator

    @robin-w

    probably – maybe set up a test moderator and try


    enkoes
    Participant

    @enkoes

    Hi, I’m actually sharing the same thoughts with u.

    I’m thinking that is it possible to hide the admin link “spam” (or “unapproved”) for every topic/reply posted by moderator and keymaster? This will certainly prevent other moderators from moderating each other.

    Regards.


    Robin W
    Moderator

    @robin-w

    I suppose my first thought would be that if you can’t trust your moderators to be nice to each other, why would you trust them to be nice to the general forums users, so why would you have them as moderators in the first place?


    enkoes
    Participant

    @enkoes

    Perhaps we can see from another perspective, by hiding admin link “spam”/”unapprove”, forum admin in fact trusts moderators that they will be nice to all participants because their posts will not be moderated by other moderators.


    Robin W
    Moderator

    @robin-w

    maybe …not one the bbpress authors allowed for 🙂

    anyway, totally untested as I need to be doing other things, but this might do it
    revised code below

    of course if moderators are allowed into the backend, then this becomes pointless, but I would argue that only admins should be backend access 🙂


    Philippe Roussel
    Participant

    @ph59

    Why set people as moderators if I don’t trust them? Because, in my case, it is not about moderating. I have to create hidden training groups that concerned people exclusively will see. The only way is to make them moderators for their relevant group.

    There will eventually be dozens of groups and I would like to delete them when their training is over, so the Private Groups plugin is hardly the answer here.

    My concern is that some lunatics decide to remove posts or replies from others in the group.


    Robin W
    Moderator

    @robin-w

    @ph59 – ah I see, then yes try the code above, if it doesn’t work, let me know and I’ll try and find time to fix it

    Put this in your child theme’s function file –

    ie wp-content/themes/%your-theme-name%/functions.php

    where %your-theme-name% is the name of your theme

    or use

    Code Snippets


    Philippe Roussel
    Participant

    @ph59

    Thank you.

    I will definitely keep this code handy. I will have several forums and need the code to function only for what will be the “Training” category of forums. Can this category be implemented in the code?


    Robin W
    Moderator

    @robin-w

    ok, again untested but this

    add_filter ('bbp_topic_admin_links' , 'surpress_moderator_links', 10 , 2) ;
    add_filter ('bbp_reply_admin_links' , 'surpress_moderator_links', 10 , 2) ;
    
    function surpress_moderator_links ($links , $id) {
    	
    	if (bbp_is_topic( $id)) $forum = bbp_get_topic_forum_id( $id ) ;
    	if (bbp_is_reply( $id)) $forum = bbp_get_reply_forum_id( $id) ;
    	if (!in_array($forum, array ('12345','34567','78945'))) return $links ;
    	//if user is moderator but not a keymaster...
    	$user_id = wp_get_current_user()->ID ;
    	if (bbp_is_user_keymaster($user_id)) return $links ;
    	if (current_user_can( 'moderate')) {
    		//check if the topic/reply is posted by another moderator, and if so unset the links
    		if (bbp_is_topic( $id)) $author_id = bbp_get_topic_author_id( $id ) ;
    		if (bbp_is_reply( $id)) $author_id = bbp_get_reply_author_id( $id ) ;
    		if (bbp_get_user_role( $author_id)  == 'bbp_moderator') {
    			 unset ( $links ['approve'] );
    			 unset ( $links ['spam'] );
    			 unset ( $links ['trash'] );
    			 unset ( $links ['move'] );
    			 unset ( $links ['split'] );
    			 unset ( $links ['edit'] );
    			 unset ( $links ['move'] );
    			unset ( $links ['merge'] );
    			unset ( $links ['close'] );
    			unset ( $links ['stick'] );
    		
    		}
    	}
    return $links ;
    }

    just change ‘array (‘12345′,’34567′,’78945′))’ to have a list of the forum ID’s you want to check against


    Philippe Roussel
    Participant

    @ph59

    Thank you so much. I’ll let you know in a few weeks’ time how it goes.


    enkoes
    Participant

    @enkoes

    Thanks for the code! I tested and it basically works well.


    @ph59
    if you found not working, try change
    ('12345,34567,78945')
    to
    ('12345','34567','78945')

    Regards.


    Robin W
    Moderator

    @robin-w

    @enkoes – thanks, I’ve amended the version above 🙂


    Philippe Roussel
    Participant

    @ph59

    Thank you both.

Viewing 13 replies - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.
Skip to toolbar