]> git.mxchange.org Git - friendica.git/commitdiff
use gravatar for default avatars
authorFriendika <info@friendika.com>
Tue, 16 Nov 2010 00:49:27 +0000 (16:49 -0800)
committerFriendika <info@friendika.com>
Tue, 16 Nov 2010 00:49:27 +0000 (16:49 -0800)
boot.php
mod/register.php

index 3ed34977725ab15f17143929516254a7eb251bfc..baf1f4812125b9b1a210d062dc38d1ab51f7b71a 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -376,6 +376,11 @@ function fetch_url($url,$binary = false, &$redirects = 0) {
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
 
+
+       $curl_time = intval(get_config('system','curl_timeout'));
+       if($curl_time)
+               curl_setopt($ch, CURLOPT_TIMEOUT, $curl_time);
+
        // by default we will allow self-signed certs
        // but you can override this
 
@@ -434,6 +439,10 @@ function post_url($url,$params, $headers = null, &$redirects = 0) {
        curl_setopt($ch, CURLOPT_POST,1);
        curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
 
+       $curl_time = intval(get_config('system','curl_timeout'));
+       if($curl_time)
+               curl_setopt($ch, CURLOPT_TIMEOUT, $curl_time);
+
        if(is_array($headers))
                curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
 
@@ -1451,3 +1460,18 @@ function valid_email($x){
        return false;
 }}
 
+
+if(! function_exists('gravatar_img')) {
+function gravatar_img($email) {
+       $size = 175;
+       $opt = 'identicon';   // psuedo-random geometric pattern if not found
+       $rating = 'pg';
+       $hash = md5(trim(strtolower($email)));
+       
+       $url = 'http://www.gravatar.com/avatar/' . $hash . '.jpg' 
+               . '?s=' . $size . '&d=' . $opt . '&r=' . $rating;
+
+       logger('gravatar: ' . $email . ' ' . $url);
+       return $url;
+}}
+
index a0a5e5c284f880ba7003d5732452184ea1472cee..1c068419eeb2a937035bcf6922a0bd62fa0e87a2 100644 (file)
@@ -187,6 +187,46 @@ function register_post(&$a) {
 
        }
 
+       require_once('include/Photo.php');
+
+       $photo = gravatar_img($email);
+       $photo_failure = false;
+
+       $filename = basename($photo);
+       $img_str = fetch_url($photo,true);
+       $img = new Photo($img_str);
+       if($img->is_valid()) {
+
+               $img->scaleImageSquare(175);
+                                       
+               $hash = photo_new_resource();
+
+               $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 4 );
+
+               if($r === false)
+                       $photo_failure = true;
+
+               $img->scaleImage(80);
+
+               $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 5 );
+
+               if($r === false)
+                       $photo_failure = true;
+
+               $img->scaleImage(48);
+
+               $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 6 );
+
+               if($r === false)
+                       $photo_failure = true;
+
+               if(! $photo_failure) {
+                       q("UPDATE `photo` SET `profile` = 1 WHERE `resource-id` = '%s' ",
+                               dbesc($hash)
+                       );
+               }
+       }
+
        if( $a->config['register_policy'] == REGISTER_OPEN ) {
                $email_tpl = load_view_file("view/register_open_eml.tpl");
                $email_tpl = replace_macros($email_tpl, array(