Changeset 1858 for trunk/bp-groups/bp-groups-filters.php
- Timestamp:
- 09/11/2009 11:59:16 PM (17 years ago)
- File:
-
- 1 edited
-
trunk/bp-groups/bp-groups-filters.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-groups/bp-groups-filters.php
r1608 r1858 57 57 add_filter( 'groups_group_news_before_save', 'force_balance_tags' ); 58 58 59 /**** Filters for group forums ****/ 60 function groups_add_forum_privacy_sql() { 61 global $bp; 62 63 if ( !$bp->groups->current_group ) { 64 add_filter( 'get_topics_fields', 'groups_add_forum_fields_sql' ); 65 add_filter( 'get_topics_index_hint', 'groups_add_forum_tables_sql' ); 66 add_filter( 'get_topics_where', 'groups_add_forum_where_sql' ); 67 } 68 } 69 add_filter( 'bbpress_init', 'groups_add_forum_privacy_sql' ); 70 71 function groups_add_forum_fields_sql( $sql ) { 72 return $sql . ', g.id as object_id, g.name as object_name, g.slug as object_slug'; 73 } 74 75 function groups_add_forum_tables_sql( $sql ) { 76 global $bp; 77 return ', ' . $bp->groups->table_name . ' AS g LEFT JOIN ' . $bp->groups->table_name_groupmeta . ' AS gm ON g.id = gm.group_id '; 78 } 79 80 function groups_add_forum_where_sql( $sql ) { 81 global $bp; 82 83 $bp->groups->filter_sql = ' AND ' . $sql; 84 return "(gm.meta_key = 'forum_id' AND gm.meta_value = t.forum_id) AND g.status = 'public' AND " . $sql; 85 } 86 87 function groups_filter_bbpress_caps( $value, $cap, $args ) { 88 global $bp; 89 90 if ( is_site_admin() ) 91 return true; 92 93 if ( 'add_tag_to' == $cap ) 94 if ( $bp->groups->current_group->user_has_access ) return true; 95 96 if ( 'manage_forums' == $cap && is_user_logged_in() ) 97 return true; 98 99 return $value; 100 } 101 add_filter( 'bb_current_user_can', 'groups_filter_bbpress_caps', 10, 3 ); 102 59 103 ?>
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)