* the name in value of the 'name' key. The capabilities are stored as an array
* in the value of the 'capability' key.
*
- * <code>
- * array (
- * 'rolename' => array (
- * 'name' => 'rolename',
- * 'capabilities' => array()
- * )
- * )
- * </code>
+ * array (
+ * 'rolename' => array (
+ * 'name' => 'rolename',
+ * 'capabilities' => array()
+ * )
+ * )
*
* @since 2.0.0
* @package WordPress
*
* @since 2.1.0
* @access protected
- * @uses $wpdb Used to get the database prefix.
+ *
+ * @global wpdb $wpdb WordPress database abstraction object.
* @global array $wp_user_roles Used to set the 'roles' property value.
*/
protected function _init() {
* Magic method for checking the existence of a certain custom field
*
* @since 3.3.0
+ * @param string $key
+ * @return bool
*/
public function __isset( $key ) {
if ( 'id' == $key ) {
* Magic method for accessing custom fields
*
* @since 3.3.0
+ * @param string $key
+ * @return mixed
*/
public function __get( $key ) {
if ( 'id' == $key ) {
/**
* Filter whether the user is allowed to add post meta to a post.
*
- * The dynamic portion of the hook name, $meta_key, refers to the
- * meta key passed to map_meta_cap().
+ * The dynamic portion of the hook name, `$meta_key`, refers to the
+ * meta key passed to {@see map_meta_cap()}.
*
* @since 3.3.0
*
* @return bool
*/
function current_user_can_for_blog( $blog_id, $capability ) {
- if ( is_multisite() )
- switch_to_blog( $blog_id );
+ $switched = is_multisite() ? switch_to_blog( $blog_id ) : false;
$current_user = wp_get_current_user();
- if ( empty( $current_user ) )
+ if ( empty( $current_user ) ) {
+ if ( $switched ) {
+ restore_current_blog();
+ }
return false;
+ }
$args = array_slice( func_get_args(), 2 );
$args = array_merge( array( $capability ), $args );
$can = call_user_func_array( array( $current_user, 'has_cap' ), $args );
- if ( is_multisite() )
+ if ( $switched ) {
restore_current_blog();
+ }
return $can;
}