get_col( "SELECT role_name FROM $wpdb->ppc_roles AS r INNER JOIN $wpdb->pp_groups AS g ON g.ID = r.agent_id AND r.agent_type = 'pp_group' WHERE g.metagroup_type = 'wp_role' AND g.metagroup_id = '$default'" ); else $pp_supplemental_roles = $wpdb->get_col( "SELECT role_name FROM $wpdb->pp_roles AS r INNER JOIN $wpdb->pp_groups AS g ON g.ID = r.group_id AND r.group_type = 'pp_group' AND r.scope = 'site' WHERE g.metagroup_type = 'wp_role' AND g.metagroup_id = '$default'" ); $pp_filtered_types = pp_get_enabled_types('post'); $pp_metagroup_caps = array(); $pp_cap_caster = pp_init_cap_caster(); foreach( $pp_supplemental_roles as $_role_name ) { $role_specs = explode( ':', $_role_name ); if ( empty($role_specs[2]) || ! in_array( $role_specs[2], $pp_filtered_types ) ) continue; // add all type-specific caps whose base property cap is included in this pattern role // i.e. If 'edit_posts' is in the pattern role, grant $type_obj->cap->edit_posts $pp_metagroup_caps = array_merge( $pp_metagroup_caps, array_fill_keys( $pp_cap_caster->get_typecast_caps( $_role_name, 'site' ), true ) ); } return $pp_metagroup_caps; } function show_capability_hints( $default ) { if ( pp_get_option('display_hints') ) { $cme_id = 'capsman'; echo ''; } } function pp_only_roles_ui( $default ) { $support_pp_only_roles = defined('PPC_VERSION') || version_compare( PP_VERSION, '1.0-beta1.4', '>='); ?>
$caption

"; if ( pp_get_option( 'display_hints' ) ) :?>
"; $unfiltered['type'] = apply_filters( 'pp_unfiltered_post_types', array('forum','topic','reply') ); // bbPress' dynamic role def requires additional code to enforce stored caps $unfiltered['taxonomy'] = apply_filters( 'pp_unfiltered_taxonomies', array( 'post_status', 'topic-tag' ) ); // avoid confusion with Edit Flow administrative taxonomy $hidden['type'] = apply_filters( 'pp_hidden_post_types', array() ); $hidden['taxonomy'] = apply_filters( 'pp_hidden_taxonomies', array() ); foreach( array_keys($defined) as $item_type ) { echo ''; $option_name = ( 'taxonomy' == $item_type ) ? 'enabled_taxonomies' : 'enabled_post_types'; $enabled = pp_get_option( $option_name ); foreach( $defined[$item_type] as $key => $type_obj ) { if ( ! $key ) continue; if ( in_array( $key, $unfiltered[$item_type] ) ) continue; $id = "$option_name-" . $key; ?>
" type="hidden" value="" />
'); endif; // displaying checkbox UI echo '
'; } echo ''; } ?>