Changeset 21485 for trunk/wp-includes/capabilities.php
- Timestamp:
- 08/09/2012 04:28:15 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/capabilities.php
r21413 r21485 109 109 $this->role_objects = array(); 110 110 $this->role_names = array(); 111 foreach ( (array) $this->roles as $role => $data ) { 111 foreach ( array_keys( $this->roles ) as $role ) { 112 $this->role_objects[$role] = new WP_Role( $role, $this->roles[$role]['capabilities'] ); 113 $this->role_names[$role] = $this->roles[$role]['name']; 114 } 115 } 116 117 /** 118 * Reinitialize the object 119 * 120 * Recreates the role objects. This is typically called only by switch_to_blog() 121 * after switching wpdb to a new blog ID. 122 * 123 * @since 3.5.0 124 * @access public 125 */ 126 function reinit() { 127 // There is no need to reinit if using the wp_user_roles global. 128 if ( ! $this->use_db ) 129 return; 130 131 global $wpdb, $wp_user_roles; 132 133 // Duplicated from _init() to avoid an extra function call. 134 $this->role_key = $wpdb->prefix . 'user_roles'; 135 $this->roles = get_option( $this->role_key ); 136 if ( empty( $this->roles ) ) 137 return; 138 139 $this->role_objects = array(); 140 $this->role_names = array(); 141 foreach ( array_keys( $this->roles ) as $role ) { 112 142 $this->role_objects[$role] = new WP_Role( $role, $this->roles[$role]['capabilities'] ); 113 143 $this->role_names[$role] = $this->roles[$role]['name']; … … 234 264 * @return bool 235 265 */ 236 function is_role( $role ) 237 { 266 function is_role( $role ) { 238 267 return isset( $this->role_names[$role] ); 239 268 } … … 1232 1261 */ 1233 1262 function current_user_can_for_blog( $blog_id, $capability ) { 1263 switch_to_blog( $blog_id ); 1264 1234 1265 $current_user = wp_get_current_user(); 1235 1266 … … 1237 1268 return false; 1238 1269 1239 // Create new object to avoid stomping the global current_user.1240 $user = new WP_User( $current_user->ID );1241 1242 // Set the blog id. @todo add blog id arg to WP_User constructor?1243 $user->for_blog( $blog_id );1244 1245 1270 $args = array_slice( func_get_args(), 2 ); 1246 1271 $args = array_merge( array( $capability ), $args ); 1247 1272 1248 return call_user_func_array( array( &$user, 'has_cap' ), $args ); 1273 $can = call_user_func_array( array( $current_user, 'has_cap' ), $args ); 1274 1275 restore_current_blog(); 1276 1277 return $can; 1249 1278 } 1250 1279
Note: See TracChangeset
for help on using the changeset viewer.