WordPress.org

Make WordPress Core

Ticket #14578: 14578.diff

File 14578.diff, 2.9 KB (added by wonderboymusic, 9 years ago)
  • wp-includes/default-filters.php

     
    177177add_filter( 'option_blog_charset',      '_wp_specialchars'                    ); // IMPORTANT: This must not be wp_specialchars() or esc_html() or it'll cause an infinite loop
    178178add_filter( 'option_home',              '_config_wp_home'                     );
    179179add_filter( 'option_siteurl',           '_config_wp_siteurl'                  );
     180add_filter( 'option_default_role',      '_wp_filter_verify_default_role'      );
    180181add_filter( 'tiny_mce_before_init',     '_mce_set_direction'                  );
    181182add_filter( 'pre_kses',                 'wp_pre_kses_less_than'               );
    182183add_filter( 'sanitize_title',           'sanitize_title_with_dashes',   10, 3 );
  • wp-includes/capabilities.php

     
    167167                $this->roles[$role] = array(
    168168                        'name' => $display_name,
    169169                        'capabilities' => $capabilities
    170                         );
     170                );
    171171                if ( $this->use_db )
    172172                        update_option( $this->role_key, $this->roles );
    173173                $this->role_objects[$role] = new WP_Role( $role, $capabilities );
     
    193193
    194194                if ( $this->use_db )
    195195                        update_option( $this->role_key, $this->roles );
     196
     197                if ( get_option( 'default_role' ) == $role )
     198                        update_option( 'default_role', 'subscriber' );
    196199        }
    197200
    198201        /**
     
    14661469
    14671470        return false;
    14681471}
     1472
     1473/**
     1474 * Filter "default_role" option
     1475 *
     1476 * @since 3.6.0
     1477 *
     1478 * @param string $role Role name.
     1479 * @return string Filtered default role.
     1480 */
     1481function _wp_filter_verify_default_role( $role ) {
     1482        $role_obj = get_role( $role );
     1483        if ( empty( $role_obj ) )
     1484                $role = 'subscriber';
     1485
     1486        return $role;
     1487}
     1488 No newline at end of file
  • wp-admin/includes/template.php

     
    756756 * @param string $selected slug for the role that should be already selected
    757757 */
    758758function wp_dropdown_roles( $selected = false ) {
    759         $p = '';
    760759        $r = '';
    761760
    762         $editable_roles = get_editable_roles();
     761        $editable_roles = array_reverse( get_editable_roles() );
    763762
    764763        foreach ( $editable_roles as $role => $details ) {
    765764                $name = translate_user_role($details['name'] );
    766765                if ( $selected == $role ) // preselect specified role
    767                         $p = "\n\t<option selected='selected' value='" . esc_attr($role) . "'>$name</option>";
     766                        $r .= "\n\t<option selected='selected' value='" . esc_attr($role) . "'>$name</option>";
    768767                else
    769768                        $r .= "\n\t<option value='" . esc_attr($role) . "'>$name</option>";
    770769        }
    771         echo $p . $r;
     770        echo $r;
    772771}
    773772
    774773/**