Changeset 5468 for trunk/bp-core/bp-core-avatars.php
- Timestamp:
- 12/09/2011 04:22:44 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-core/bp-core-avatars.php
r5466 r5468 111 111 extract( $params, EXTR_SKIP ); 112 112 113 // Set item_id if not passed 114 if ( !$item_id ) { 115 if ( 'user' == $object ) 116 $item_id = bp_displayed_user_id(); 117 else if ( bp_is_active( 'groups' ) && 'group' == $object ) 118 $item_id = $bp->groups->current_group->id; 119 else if ( 'blog' == $object ) 120 $item_id = $current_blog->id; 113 /** Set item_id ***********************************************************/ 114 115 if ( empty( $item_id ) ) { 116 117 switch ( $object ) { 118 119 case 'blog' : 120 $item_id = $current_blog->id; 121 break; 122 123 case 'group' : 124 if ( bp_is_active( 'groups' ) ) { 125 $item_id = $bp->groups->current_group->id; 126 } else { 127 $item_id = false; 128 } 129 130 break; 131 132 case 'user' : 133 default : 134 $item_id = bp_displayed_user_id(); 135 break; 136 } 121 137 122 138 $item_id = apply_filters( 'bp_core_avatar_item_id', $item_id, $object ); 123 139 124 if ( !$item_id )140 if ( empty( $item_id ) ) { 125 141 return false; 126 } 127 128 // Set avatar_dir if not passed (uses $object) 129 if ( !$avatar_dir ) { 130 if ( 'user' == $object ) 131 $avatar_dir = 'avatars'; 132 else if ( bp_is_active( 'groups' ) && 'group' == $object ) 133 $avatar_dir = 'group-avatars'; 134 else if ( 'blog' == $object ) 135 $avatar_dir = 'blog-avatars'; 142 } 143 } 144 145 /** Set avatar_dir ********************************************************/ 146 147 if ( empty( $avatar_dir ) ) { 148 149 switch ( $object ) { 150 151 case 'blog' : 152 $avatar_dir = 'blog-avatars'; 153 break; 154 155 case 'group' : 156 if ( bp_is_active( 'groups' ) ) { 157 $avatar_dir = 'group-avatars'; 158 } else { 159 $avatar_dir = false; 160 } 161 162 break; 163 164 case 'user' : 165 default : 166 $avatar_dir = 'avatars'; 167 break; 168 } 136 169 137 170 $avatar_dir = apply_filters( 'bp_core_avatar_dir', $avatar_dir, $object ); 138 171 139 if ( !$avatar_dir )172 if ( empty( $avatar_dir ) ) { 140 173 return false; 141 } 142 143 // Add an identifying class to each item 144 $class .= ' ' . $object . '-' . $item_id . '-avatar'; 145 146 // Get item name for alt/title tags 147 $item_name = ''; 148 149 // Backpat for the 'alt' parameter, which used to encourage sprintf()-style values 174 } 175 } 176 177 /** <img> alt *************************************************************/ 178 150 179 if ( false !== strpos( $alt, '%s' ) || false !== strpos( $alt, '%1$s' ) ) { 151 var_dump( 'yes' );152 if ( 'user' == $object )153 $item_name = bp_core_get_user_displayname( $item_id );154 elseif ( 'group' == $object )155 $item_name = bp_get_group_name( groups_get_group( array( 'group_id' => $item_id ) ) );156 elseif ( 'blog' == $object )157 $item_name = get_blog_option( $item_id, 'blogname' );158 180 159 $alt = sprintf( $alt, apply_filters( 'bp_core_avatar_alt', $item_name, $item_id, $object ) ); 160 } 181 // Get item name for alt/title tags 182 $item_name = ''; 183 184 switch ( $object ) { 185 186 case 'blog' : 187 $item_name = get_blog_option( $item_id, 'blogname' ); 188 break; 189 190 case 'group' : 191 $item_name = bp_get_group_name( groups_get_group( array( 'group_id' => $item_id ) ) ); 192 break; 193 194 case 'user' : 195 default : 196 $item_name = bp_core_get_user_displayname( $item_id ); 197 break; 198 } 199 200 $item_name = apply_filters( 'bp_core_avatar_alt', $item_name, $item_id, $object ); 201 $alt = sprintf( $alt, $item_name ); 202 } 203 204 /** Sanity Checks *********************************************************/ 161 205 162 206 // Get a fallback for the 'alt' parameter 163 if ( !$alt ) {207 if ( empty( $alt ) ) 164 208 $alt = __( 'Avatar Image', 'buddypress' ); 165 }166 209 167 210 // Set title tag, if it's been provided 168 if ( $title)211 if ( !empty( $title ) ) 169 212 $title = " title='" . esc_attr( apply_filters( 'bp_core_avatar_title', $title, $item_id, $object ) ) . "'"; 170 213 171 214 // Set CSS ID if passed 172 215 if ( !empty( $css_id ) ) 173 $css_id = " id='{$css_id}'";174 175 // Set avatarwidth176 if ( $width )177 $html_width = " width='{$width}'";216 $css_id = ' id="' . $css_id . '"'; 217 218 // Set image width 219 if ( false !== $width ) 220 $html_width = ' width="' . $width . '"'; 178 221 else 179 222 $html_width = ( 'thumb' == $type ) ? ' width="' . bp_core_avatar_thumb_width() . '"' : ' width="' . bp_core_avatar_full_width() . '"'; 180 223 181 // Set avatarheight182 if ( $height )183 $html_height = " height='{$height}'";224 // Set image height 225 if ( false !== $height ) 226 $html_height = ' height="' . $height . '"'; 184 227 else 185 228 $html_height = ( 'thumb' == $type ) ? ' height="' . bp_core_avatar_thumb_height() . '"' : ' height="' . bp_core_avatar_full_height() . '"'; 186 229 187 // Set avatar URL and DIR based on prepopulated constants 188 $avatar_folder_url = apply_filters( 'bp_core_avatar_folder_url', bp_core_avatar_url() . '/' . $avatar_dir . '/' . $item_id, $item_id, $object, $avatar_dir ); 189 $avatar_folder_dir = apply_filters( 'bp_core_avatar_folder_dir', bp_core_avatar_upload_path() . '/' . $avatar_dir . '/' . $item_id, $item_id, $object, $avatar_dir ); 230 // Set img URL and DIR based on prepopulated constants 231 $avatar_loc = array(); 232 $avatar_loc[] = trailingslashit( bp_core_avatar_upload_path() ); 233 $avatar_loc[] = trailingslashit( bp_core_avatar_url() ); 234 $avatar_loc[] = trailingslashit( $avatar_dir ); 235 $avatar_folder_url = apply_filters( 'bp_core_avatar_folder_url', ( $avatar_loc[1] . $avatar_loc[2] . $item_id ), $item_id, $object, $avatar_dir ); 236 $avatar_folder_dir = apply_filters( 'bp_core_avatar_folder_dir', ( $avatar_loc[0] . $avatar_loc[2] . $item_id ), $item_id, $object, $avatar_dir ); 237 // Add an identifying class 238 $class .= ' ' . $object . '-' . $item_id . '-avatar'; 190 239 191 240 /**** … … 206 255 // Stash files in an array once to check for one that matches 207 256 $avatar_files = array(); 208 while ( false !== ( $avatar_file = readdir( $av_dir) ) ) {257 while ( false !== ( $avatar_file = readdir( $av_dir ) ) ) { 209 258 // Only add files to the array (skip directories) 210 if ( 2 < strlen( $avatar_file ) ) 259 if ( 2 < strlen( $avatar_file ) ) { 211 260 $avatar_files[] = $avatar_file; 261 } 212 262 } 213 263 … … 217 267 // Check for current avatar 218 268 foreach( $avatar_files as $key => $value ) { 219 if ( strpos ( $value, $avatar_size )!== false ) 269 if ( strpos ( $value, $avatar_size )!== false ) { 220 270 $avatar_url = $avatar_folder_url . '/' . $avatar_files[$key]; 271 } 221 272 } 222 273 … … 224 275 if ( !isset( $avatar_url ) ) { 225 276 foreach( $avatar_files as $key => $value ) { 226 if ( strpos ( $value, $legacy_user_avatar_name )!== false ) 277 if ( strpos ( $value, $legacy_user_avatar_name )!== false ) { 227 278 $avatar_url = $avatar_folder_url . '/' . $avatar_files[$key]; 279 } 228 280 } 229 281 … … 231 283 if ( !isset( $avatar_url ) ) { 232 284 foreach( $avatar_files as $key => $value ) { 233 if ( strpos ( $value, $legacy_group_avatar_name )!== false ) 285 if ( strpos ( $value, $legacy_group_avatar_name )!== false ) { 234 286 $avatar_url = $avatar_folder_url . '/' . $avatar_files[$key]; 287 } 235 288 } 236 289 } … … 262 315 263 316 // Set gravatar size 264 if ( $width )317 if ( false !== $width ) { 265 318 $grav_size = $width; 266 else if ( 'full' == $type )319 } else if ( 'full' == $type ) { 267 320 $grav_size = bp_core_avatar_full_width(); 268 else if ( 'thumb' == $type )321 } else if ( 'thumb' == $type ) { 269 322 $grav_size = bp_core_avatar_thumb_width(); 323 } 270 324 271 325 // Set gravatar type 272 if ( empty( $bp->grav_default->{$object} ) ) 326 if ( empty( $bp->grav_default->{$object} ) ) { 273 327 $default_grav = 'wavatar'; 274 else if ( 'mystery' == $bp->grav_default->{$object} )328 } else if ( 'mystery' == $bp->grav_default->{$object} ) { 275 329 $default_grav = apply_filters( 'bp_core_mysteryman_src', bp_core_avatar_default(), $grav_size ); 276 else330 } else { 277 331 $default_grav = $bp->grav_default->{$object}; 332 } 278 333 279 334 // Set gravatar object … … 287 342 288 343 // Set host based on if using ssl 289 if ( is_ssl() ) 344 $host = 'http://www.gravatar.com/avatar/'; 345 if ( is_ssl() ) { 290 346 $host = 'https://secure.gravatar.com/avatar/'; 291 else 292 $host = 'http://www.gravatar.com/avatar/'; 347 } 293 348 294 349 // Filter gravatar vars … … 296 351 $gravatar = apply_filters( 'bp_gravatar_url', $host ) . md5( strtolower( $email ) ) . '?d=' . $default_grav . '&s=' . $grav_size; 297 352 353 // No avatar was found, and we've been told not to use a gravatar. 298 354 } else { 299 // No avatar was found, and we've been told not to use a gravatar.300 355 $gravatar = apply_filters( "bp_core_default_avatar_$object", BP_PLUGIN_URL . '/bp-core/images/mystery-man.jpg', $params ); 301 356 }
Note: See TracChangeset
for help on using the changeset viewer.