Advertisement
FireBot

bbpress-custom-roles

Nov 11th, 2014
499
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.50 KB | None | 0 0
  1. //code to add tutor role
  2.  
  3. function add_new_roles( $bbp_roles )
  4. {
  5.     /* Add a role called tutor */
  6.     $bbp_roles['bbp_tutor'] = array(
  7.         'name' => 'Tutor',
  8.         'capabilities' => custom_capabilities( 'bbp_tutor' )
  9.         );
  10.              
  11.     return $bbp_roles;
  12. }
  13.  
  14. add_filter( 'bbp_get_dynamic_roles', 'add_new roles', 1 );
  15.  
  16. function add_role_caps_filter( $caps, $role )
  17. {
  18.     /* Only filter for roles we are interested in! */
  19.     if( $role == 'bbp_tutor' )
  20.         $caps = custom_capabilities( $role );
  21.          
  22.     return $caps;
  23. }
  24.  
  25. add_filter( 'bbp_get_caps_for_role', 'add_role_caps_filter', 10, 2 );
  26.  
  27. function custom_capabilities( $role )
  28. {
  29.     switch ( $role )
  30.     {
  31.          
  32.         /* Capabilities for 'tutor' role */
  33.         case 'bbp_tutor':
  34.             return array(
  35.                 // Primary caps
  36.                 'spectate'              => true,
  37.                 'participate'           => true,
  38.                 'moderate'              => false,
  39.                 'throttle'              => false,
  40.                 'view_trash'            => false,
  41.  
  42.                 // Forum caps
  43.                 'publish_forums'        => false,
  44.                 'edit_forums'           => false,
  45.                 'edit_others_forums'    => false,
  46.                 'delete_forums'         => false,
  47.                 'delete_others_forums'  => false,
  48.                 'read_private_forums'   => true,
  49.                 'read_hidden_forums'    => false,
  50.  
  51.                 // Topic caps
  52.                 'publish_topics'        => true,
  53.                 'edit_topics'           => true,
  54.                 'edit_others_topics'    => false,
  55.                 'delete_topics'         => false,
  56.                 'delete_others_topics'  => false,
  57.                 'read_private_topics'   => true,
  58.  
  59.                 // Reply caps
  60.                 'publish_replies'       => true,
  61.                 'edit_replies'          => true,
  62.                 'edit_others_replies'   => false,
  63.                 'delete_replies'        => false,
  64.                 'delete_others_replies' => false,
  65.                 'read_private_replies'  => true,
  66.  
  67.                 // Topic tag caps
  68.                 'manage_topic_tags'     => false,
  69.                 'edit_topic_tags'       => false,
  70.                 'delete_topic_tags'     => false,
  71.                 'assign_topic_tags'     => true,
  72.             );
  73.              
  74.                          
  75.             break;
  76.  
  77.         default :
  78.             return $role;
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement