HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.
Please upgrade here. These earlier versions are no longer being updated and have security issues.

How can i use my gravatar picture other than the random smiley faces

jone68jone68 New
edited December 2012 in Vanilla 2.0 - 2.8

I use gravatar plugin for default profile picture set. I changed the two default images to my own from the plugin default directory and cleared the cache. But still i can see smily faces.

I also check default.php and i saw that the plugin bring those pictures from http://vanillicon.com/ ? But i'm not a php dev. and i can not change that. I tried removing http://vanillicon.com/ and replaced with the exact picture location, but i failed.

Here is default.php look like: http://paste.ubuntu.com/1452689/

Any idea, how can i change that?

Thanks ,

Comments

  • Add this line to your conf/config.php:

    $Configuration['Plugins']['Gravatar']['UseVanillicon'] = FALSE;
    
    jone68
  • Perfect! Thank you!!!

  • just got into similar situation and whenever I set it to "FALSE", avatar shows broken link image, even though there is the default img in the set path.

    What is the right way to do it?

  • even though there is the default img in the set path.

    post a screenshot of your firebug window with the element selected.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • peregrineperegrine MVP
    edited April 2014

    a kluge would be:

    $Configuration['Plugins']['Gravatar']['UseVanillicon'] = FALSE;

    in plugins/Gravatar/default.png around line 53

    from:

     $Url .= '&default='.urlencode(Asset(C('Plugins.Gravatar.DefaultAvatar', 'plugins/Gravatar/default.png'), TRUE));
    
    to
      // change to your sites's url
    
      $Url = "http://localhost/vanilla/plugins/Gravatar/default.png";
    

    or

     $webroot = Gdn_Url::WebRoot();
    $webhost = $_SERVER["HTTP_HOST"];
    $Url = "http://$webhost/$webroot/plugins/Gravatar/default.png";
    

    change your default.png to whatever image you want to show up as the default "avatar"

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

    gohunter
  • @peregrine‌,

    Thanks for the tip.

    I was keep trying with the url and it was still showing me the broken link. I took out the /vanilla from the path, it worked.

  • you need to change around line 32 as well to make the profile pic a default. on the profile page.

    around line 29

      if (C('Plugins.Gravatar.UseVanillicon', TRUE)) {
                $Url .= '&default='.urlencode(Gdn::Request()->Scheme().'://vanillicon.com/'.md5($Email).'_200.png');
            } else {
               // $Url .= '&default='.urlencode(Asset(C('Plugins.Gravatar.DefaultAvatar', 'plugins/Gravatar/default_250.png'), TRUE));
              $webroot = Gdn_Url::WebRoot();
              $webhost = $_SERVER["HTTP_HOST"];
              $Url = "http://$webhost/$webroot/plugins/Gravatar/default.png";
              }
             $Sender->User->Photo = $Url;
          }
       }
    }
    

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

    gohunter
  • your original problem maybe because you are on localhost.

    When you include a default image, Gravatar will automatically serve up that image if there is no image associated with the requested email hash. There are a few conditions which must be met for default image URL:
    
        MUST be publicly available (e.g. cannot be on an intranet, on a local development machine, behind HTTP Auth or some other firewall etc). Default images are passed through a security scan to avoid malicious content.
        MUST be accessible via HTTP or HTTPS on the standard ports, 80 and 443, respectively.
        MUST have a recognizable image extension (jpg, jpeg, gif, png)
        MUST NOT include a querystring (if it does, it will be ignored)
    

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

    gohunter
  • @peregrine said:
    your original problem maybe because you are on localhost.

    Yep, that's what I thought so. But it is working if you just point to uploads folder. :)

Sign In or Register to comment.