function phptemplate_user_picture in ImageCache Profiles 5
Theme override for user.module Utilize imagecache module to scale down large uploaded profile pictures
Parameters
$size: ImageCache preset applied to user images set at admin/user/settings
File
- ./
imagecache_profiles.module, line 19
Code
function phptemplate_user_picture($account, $size = NULL) {
if (variable_get('user_pictures', 0)) {
if (variable_get('user_picture_imagecache_profiles_default', 0)) {
// Define default user picture size
$defaultquery = db_query("SELECT presetname FROM {imagecache_preset} WHERE presetid = '%s'", variable_get('user_picture_imagecache_profiles_default', 0));
$size = db_result($defaultquery);
}
// If on user profile page
if (arg(0) == 'user' && is_numeric(arg(1))) {
if (variable_get('user_picture_imagecache_profiles', 0)) {
$query = db_query("SELECT presetname FROM {imagecache_preset} WHERE presetid = '%s'", variable_get('user_picture_imagecache_profiles', 0));
$size = db_result($query);
}
}
// If viewing a comment, test for subject and comment for preview.
if ($account->cid || isset($account->comment) && isset($account->subject)) {
if (variable_get('user_picture_imagecache_comments', 0)) {
$query = db_query("SELECT presetname FROM {imagecache_preset} WHERE presetid = '%s'", variable_get('user_picture_imagecache_comments', 0));
$size = db_result($query);
}
}
$alt = t("@user's picture", array(
'@user' => $account->name ? $account->name : variable_get('anonymous', t('Anonymous')),
));
if ($account->picture && file_exists($account->picture)) {
if (isset($size)) {
$picture = theme('imagecache', $size, $account->picture, $alt, $alt);
}
else {
$picture = theme('image', file_create_url($account->picture), $alt, $alt, '', FALSE);
}
}
else {
if (variable_get('user_picture_default', '')) {
$picture = variable_get('user_picture_default', '');
if (isset($size)) {
$picture = theme('imagecache', $size, $picture, $alt, $alt);
}
else {
$picture = theme('image', file_create_url($picture), $alt, $alt, '', FALSE);
}
}
}
if (isset($picture)) {
if (!empty($account->uid) && user_access('access user profiles')) {
$picture = l($picture, "user/{$account->uid}", array(
'title' => t('View user profile.'),
), NULL, NULL, FALSE, TRUE);
}
return '<div class="picture">' . $picture . '</div>';
}
}
}