]> git.mxchange.org Git - friendica.git/commitdiff
Remove Gravatar from core and add new hook avatar_lookup.
authorKlaus Weidenbach <Klaus.Weidenbach@gmx.net>
Sun, 8 Apr 2012 21:20:31 +0000 (23:20 +0200)
committerKlaus Weidenbach <Klaus.Weidenbach@gmx.net>
Mon, 9 Apr 2012 19:22:09 +0000 (21:22 +0200)
This patch removes all occurances of Gravatar from friendica's core and adds a new hook "avatar_lookup" inside the function avatar_img($email) where the new *avatar-plugins should hook in.
I haven't touched the language files yet. Are they updated automatically somehow?

doc/Plugins.md
doc/Settings.md
include/network.php
mod/admin.php
mod/register.php
view/admin_site.tpl

index 29dff3187b33f3d7ba49f8434b096296c9042d98..df60044500647928bde04f1538949349c30ca1df 100644 (file)
@@ -164,10 +164,15 @@ Your module functions will often contain the function plugin_name_content(&$a),
 **'init_1'** - called just after DB has been opened and before session start
     $b is not used or passed
 
-
 **'page_end'** - called after HTML content functions have completed
     $b is (string) HTML of content div
 
+**'avatar_lookup'** - called when looking up the avatar
+    $b is (array)
+        'size' => the size of the avatar that will be looked up
+        'email' => email to look up the avatar for
+        'url' => the (string) generated URL of the avatar
+
 
 A complete list of all hook callbacks with file locations (generated 14-Feb-2012): Please see the source for details of any hooks not documented above.
 
index 9808ecc5d9352eec7e4b309de40b36845e6ec19e..574ce8dcc1ee9cb2e30fade0287fc8c5308724d4 100644 (file)
@@ -172,16 +172,6 @@ $a->config['system']['no_regfullname'] = true;
 ```
 
 
-**Gravatars**
-
-During registration, we will try to automatically find a user photo for you on the web using the gravatar service. You may turn this off by setting 'no_gravatar' to true. Default is false.
-
-Config:
-```
-$a->config['system']['no_gravatar'] = true;
-```
-
-
 **OpenID**
 
 By default, OpenID may be used for both registration and logins. If you do not wish to make OpenID facilities available on your system (at all), set 'no_openid' to true. Default is false.
index 59705634bb6e461de6f3abc5e146e654012d7a6d..58cef4756da00d7146a1036cb8e9bdd05124c8b4 100644 (file)
@@ -694,16 +694,14 @@ function allowed_email($email) {
 
 if(! function_exists('avatar_img')) {
 function avatar_img($email) {
-       $size = 175;
-       $opt = 'identicon';   // psuedo-random geometric pattern if not found
-       $rating = 'pg';
-       $hash = md5(trim(strtolower($email)));
+       $avatar['size'] = 175;
+       $avatar['email'] = $email;
+       $avatar['url'] = '';
 
-       $url = 'http://www.gravatar.com/avatar/' . $hash . '.jpg' 
-               . '?s=' . $size . '&d=' . $opt . '&r=' . $rating;
+       call_hooks('avatar_lookup', $avatar);
 
-       logger('gravatar: ' . $email . ' ' . $url);
-       return $url;
+       logger('Avatar: ' . $avatar['email'] . ' ' . $avatar['url']);
+       return $avatar['url'];
 }}
 
 
index a395027c11604110f22864e7bcc8fa5fe68358d7..96100278685069b4eb9ade74c876f90dd616a190 100644 (file)
@@ -174,7 +174,6 @@ function admin_page_site_post(&$a){
                return;
        }
 
-       
        $sitename                       =       ((x($_POST,'sitename'))                 ? notags(trim($_POST['sitename']))                      : '');
        $banner                         =       ((x($_POST,'banner'))                   ? trim($_POST['banner'])                                        : false);
        $language                       =       ((x($_POST,'language'))                 ? notags(trim($_POST['language']))                      : '');
@@ -194,7 +193,6 @@ function admin_page_site_post(&$a){
        $global_directory       =       ((x($_POST,'directory_submit_url'))     ? notags(trim($_POST['directory_submit_url']))  : '');
        $no_multi_reg           =       ((x($_POST,'no_multi_reg'))             ? True  :       False);
        $no_openid                      =       !((x($_POST,'no_openid'))               ? True  :       False);
-       $no_gravatar            =       !((x($_POST,'no_gravatar'))             ? True  :       False);
        $no_regfullname         =       !((x($_POST,'no_regfullname'))  ? True  :       False);
        $no_utf                         =       !((x($_POST,'no_utf'))                  ? True  :       False);
        $no_community_page      =       !((x($_POST,'no_community_page'))       ? True  :       False);
@@ -204,7 +202,7 @@ function admin_page_site_post(&$a){
        $proxy                          =       ((x($_POST,'proxy'))                    ? notags(trim($_POST['proxy'])) : '');
        $timeout                        =       ((x($_POST,'timeout'))                  ? intval(trim($_POST['timeout']))               : 60);
        $dfrn_only          =   ((x($_POST,'dfrn_only'))            ? True      :       False);
-    $ostatus_disabled   =   !((x($_POST,'ostatus_disabled')) ? True  :   False);
+       $ostatus_disabled   =   !((x($_POST,'ostatus_disabled')) ? True  :   False);
        $diaspora_enabled   =   ((x($_POST,'diaspora_enabled')) ? True   :  False);
        $ssl_policy         =   ((x($_POST,'ssl_policy')) ? intval($_POST['ssl_policy']) : 0);
 
@@ -283,7 +281,6 @@ function admin_page_site_post(&$a){
        set_config('system','directory_search_url', $global_search_url);
        set_config('system','block_extended_register', $no_multi_reg);
        set_config('system','no_openid', $no_openid);
-       set_config('system','no_gravatar', $no_gravatar);
        set_config('system','no_regfullname', $no_regfullname);
        set_config('system','no_community_page', $no_community_page);
        set_config('system','no_utf', $no_utf);
@@ -380,7 +377,6 @@ function admin_page_site(&$a) {
                        
                '$no_multi_reg'         => array('no_multi_reg', t("Block multiple registrations"),  get_config('system','block_extended_register'), t("Disallow users to register additional accounts for use as pages.")),
                '$no_openid'            => array('no_openid', t("OpenID support"), !get_config('system','no_openid'), t("OpenID support for registration and logins.")),
-               '$no_gravatar'          => array('no_gravatar', t("Gravatar support"), !get_config('system','no_gravatar'), t("Search new user's photo on Gravatar.")),
                '$no_regfullname'       => array('no_regfullname', t("Fullname check"), !get_config('system','no_regfullname'), t("Force users to register with a space between firstname and lastname in Full name, as an antispam measure")),
                '$no_utf'                       => array('no_utf', t("UTF-8 Regular expressions"), !get_config('system','no_utf'), t("Use PHP UTF8 regular expressions")),
                '$no_community_page' => array('no_community_page', t("Show Community Page"), !get_config('system','no_community_page'), t("Display a Community page showing all recent public postings on this site.")),
index 8812ebadb0be1abc026276f577260a952aae3b91..b60707d457299f0a167a69564637c755c46a6718 100644 (file)
@@ -314,17 +314,13 @@ function register_post(&$a) {
 
        }
 
-       $use_gravatar = ((get_config('system','no_gravatar')) ? false : true);
-
-       // if we have an openid photo use it. 
-       // otherwise unless it is disabled, use gravatar
-
-       if($use_gravatar || strlen($photo)) {
+       // if we have no OpenID photo try to look up an avatar
+       if(! strlen($photo))
+               $photo = avatar_img($email);
 
+       // unless there is no avatar-plugin loaded
+       if(strlen($photo)) {
                require_once('include/Photo.php');
-
-               if(($use_gravatar) && (! strlen($photo))) 
-                       $photo = avatar_img($email);
                $photo_failure = false;
 
                $filename = basename($photo);
index 01fe893c6551b8966294391da86340b4757bc1f9..ec144fbba505dafcecb2102abc20fd803a580e3b 100644 (file)
@@ -17,7 +17,6 @@
        
        {{ inc field_checkbox.tpl with $field=$no_multi_reg }}{{ endinc }}
        {{ inc field_checkbox.tpl with $field=$no_openid }}{{ endinc }}
-       {{ inc field_checkbox.tpl with $field=$no_gravatar }}{{ endinc }}
        {{ inc field_checkbox.tpl with $field=$no_regfullname }}{{ endinc }}
        
        <div class="submit"><input type="submit" name="page_site" value="$submit" /></div>