+ foreach ( array_keys( $this->roles ) as $role ) {
+ $this->role_objects[$role] = new WP_Role( $role, $this->roles[$role]['capabilities'] );
+ $this->role_names[$role] = $this->roles[$role]['name'];
+ }
+ }
+
+ /**
+ * Reinitialize the object
+ *
+ * Recreates the role objects. This is typically called only by switch_to_blog()
+ * after switching wpdb to a new blog ID.
+ *
+ * @since 3.5.0
+ * @access public
+ */
+ function reinit() {
+ // There is no need to reinit if using the wp_user_roles global.
+ if ( ! $this->use_db )
+ return;
+
+ global $wpdb, $wp_user_roles;
+
+ // Duplicated from _init() to avoid an extra function call.
+ $this->role_key = $wpdb->prefix . 'user_roles';
+ $this->roles = get_option( $this->role_key );
+ if ( empty( $this->roles ) )
+ return;
+
+ $this->role_objects = array();
+ $this->role_names = array();
+ foreach ( array_keys( $this->roles ) as $role ) {