Skip to:
Content

bbPress.org


Ignore:
Timestamp:
06/12/2012 05:36:00 AM (14 years ago)
Author:
johnjamesjacoby
Message:

Capabilities & Settings:

  • Rename bbp_admin_show_ui() to bbp_current_user_can_see().
  • Add detailed support for hiding admin settings sections.
  • Remove BBP_Admin UI override flags in lieu of new method.
  • See #1846.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/plugin/bbp-admin/bbp-admin.php

    r3945 r3946  
    4545    public $styles_url = '';
    4646
    47     /** Tools *****************************************************************/
    48 
    49     /**
    50      * @var bool Enable screens in Tools area
    51      */
    52     public $enable_tools = false;
    53 
    54     /** Settings **************************************************************/
    55 
    56     /**
    57      * @var bool Enable screens in Settings area
    58      */
    59     public $enable_settings = false;
    60 
    6147    /** Capability ************************************************************/
    6248
     
    182168    public function admin_menus() {
    183169
    184         // Are tools enabled?
    185         if ( is_super_admin() || ! empty( $this->enable_tools ) ) {
    186 
    187             $hooks = array();
    188 
    189             // These are later removed in admin_head
    190             $hooks[] = add_management_page(
    191                 __( 'Repair Forums', 'bbpress' ),
    192                 __( 'Forum Repair',  'bbpress' ),
    193                 $this->minimum_capability,
    194                 'bbp-repair',
    195                 'bbp_admin_repair'
    196             );
    197             $hooks[] = add_management_page(
    198                 __( 'Import Forums', 'bbpress' ),
    199                 __( 'Forum Import',  'bbpress' ),
    200                 $this->minimum_capability,
    201                 'bbp-converter',
    202                 'bbp_converter_settings'
    203             );
    204             $hooks[] = add_management_page(
    205                 __( 'Reset Forums', 'bbpress' ),
    206                 __( 'Forum Reset',  'bbpress' ),
    207                 $this->minimum_capability,
    208                 'bbp-reset',
    209                 'bbp_admin_reset'
    210             );
     170        $hooks = array();
     171
     172        // These are later removed in admin_head
     173        if ( bbp_current_user_can_see( 'bbp_tools_page' ) ) {
     174            if ( bbp_current_user_can_see( 'bbp_tools_repair_page' ) ) {
     175                $hooks[] = add_management_page(
     176                    __( 'Repair Forums', 'bbpress' ),
     177                    __( 'Forum Repair',  'bbpress' ),
     178                    $this->minimum_capability,
     179                    'bbp-repair',
     180                    'bbp_admin_repair'
     181                );
     182            }
     183
     184            if ( bbp_current_user_can_see( 'bbp_tools_import_page' ) ) {
     185                $hooks[] = add_management_page(
     186                    __( 'Import Forums', 'bbpress' ),
     187                    __( 'Forum Import',  'bbpress' ),
     188                    $this->minimum_capability,
     189                    'bbp-converter',
     190                    'bbp_converter_settings'
     191                );
     192            }
     193
     194            if ( bbp_current_user_can_see( 'bbp_tools_reset_page' ) ) {
     195                $hooks[] = add_management_page(
     196                    __( 'Reset Forums', 'bbpress' ),
     197                    __( 'Forum Reset',  'bbpress' ),
     198                    $this->minimum_capability,
     199                    'bbp-reset',
     200                    'bbp_admin_reset'
     201                );
     202            }
    211203
    212204            // Fudge the highlighted subnav item when on a bbPress admin page
     
    226218
    227219        // Are settings enabled?
    228         if ( is_super_admin() || ! empty( $this->enable_settings ) ) {
     220        if ( bbp_current_user_can_see( 'bbp_settings_page' ) ) {
    229221            add_options_page(
    230222                __( 'Forums',  'bbpress' ),
     
    281273
    282274        $section = 'bbp_settings_main';
    283         if ( bbp_admin_show_ui( $section ) ) {
     275        if ( bbp_current_user_can_see( $section ) ) {
    284276
    285277            // Add the main section
     
    328320
    329321        $section = 'bbp_settings_theme_compat';
    330         if ( bbp_admin_show_ui( $section ) ) {
     322        if ( bbp_current_user_can_see( $section ) ) {
    331323
    332324            // Add the per page section
     
    341333
    342334        $section = 'bbp_settings_per_page';
    343         if ( bbp_admin_show_ui( $section ) ) {
     335        if ( bbp_current_user_can_see( $section ) ) {
    344336
    345337            // Add the per page section
     
    358350
    359351        $section = 'bbp_settings_per_page_rss';
    360         if ( bbp_admin_show_ui( $section ) ) {
     352        if ( bbp_current_user_can_see( $section ) ) {
    361353
    362354            // Add the per page section
     
    375367
    376368        $section = 'bbp_settings_root_slugs';
    377         if ( bbp_admin_show_ui( $section ) ) {
     369        if ( bbp_current_user_can_see( $section ) ) {
    378370
    379371            // Add the per page section
     
    397389
    398390        $section = 'bbp_settings_single_slugs';
    399         if ( bbp_admin_show_ui( $section ) ) {
     391        if ( bbp_current_user_can_see( $section ) ) {
    400392
    401393            // Add the per page section
     
    436428
    437429        $section = 'bbp_settings_buddypress';
    438         if ( bbp_admin_show_ui( $section ) ) {
     430        if ( bbp_current_user_can_see( $section ) ) {
    439431
    440432            // Add the per page section
     
    453445
    454446        $section = 'bbp_settings_akismet';
    455         if ( bbp_admin_show_ui( $section ) ) {
     447        if ( bbp_current_user_can_see( $section ) ) {
    456448
    457449            // Add the per page section
Note: See TracChangeset for help on using the changeset viewer.