Commit 918e8189 authored by Dries's avatar Dries

- Patch #937562 by tim.plunkett, chx, justinrandell: fatal Error Call to a...

- Patch #937562 by tim.plunkett, chx, justinrandell: fatal Error Call to a member function getDirectoryPath() on a non-object when Default picture is set.
parent 2e226e9a
......@@ -1409,7 +1409,9 @@ function template_preprocess_user_picture(&$variables) {
}
if (isset($filepath)) {
$alt = t("@user's picture", array('@user' => format_username($account)));
if (module_exists('image') && $style = variable_get('user_picture_style', '')) {
// If the image does not have a valid Drupal scheme (for eg. HTTP),
// don't load image styles.
if (module_exists('image') && file_valid_uri($filepath) && $style = variable_get('user_picture_style', '')) {
$variables['user_picture'] = theme('image_style', array('style_name' => $style, 'path' => $filepath, 'alt' => $alt, 'title' => $alt));
}
else {
......
......@@ -916,6 +916,26 @@ class UserPictureTestCase extends DrupalWebTestCase {
}
}
/**
* Test HTTP schema working with user pictures.
*/
function testExternalPicture() {
$this->drupalLogin($this->user);
// Set the default picture to an URI with a HTTP schema.
$images = $this->drupalGetTestFiles('image');
$image = $images[0];
$pic_path = file_create_url($image->uri);
variable_set('user_picture_default', $pic_path);
// Check if image is displayed in user's profile page.
$this->drupalGet('user');
// Get the user picture image via xpath.
$elements = $this->xpath('//div[@class="user-picture"]/img');
$this->assertEqual(count($elements), 1, t("There is exactly one user picture on the user's profile page"));
$this->assertEqual($pic_path, (string) $elements[0]['src'], t("User picture source is correct."));
}
function saveUserPicture($image) {
$edit = array('files[picture_upload]' => drupal_realpath($image->uri));
$this->drupalPost('user/' . $this->user->uid . '/edit', $edit, t('Save'));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment