]> git.mxchange.org Git - friendica.git/commitdiff
use optional openid photo for registration - if supplied
authorFriendika <info@friendika.com>
Wed, 24 Nov 2010 04:56:20 +0000 (20:56 -0800)
committerFriendika <info@friendika.com>
Wed, 24 Nov 2010 04:56:20 +0000 (20:56 -0800)
include/auth.php
mod/openid.php
mod/register.php
view/register.tpl

index 05d5dfd6fc72b21421bd912ce5a54d7e57ee5187..7f45c6d585a757eeb15ab7929e6fe917fd16b958 100644 (file)
@@ -114,7 +114,7 @@ else {
                                // new account
                                $_SESSION['register'] = 1;
                                $openid->required = array('namePerson/friendly', 'contact/email', 'namePerson');
-                               $openid->optional = array('namePerson/first','media/image/aspect11');
+                               $openid->optional = array('namePerson/first','media/image/aspect11','media/image/default');
                                goaway($openid->authUrl());
                                // NOTREACHED   
                        }
index 443d839fa1b1863a3fd7a26d4bdbef3ccd47a78d..94f08c4308de27dbce3de6fdc30a3a300c17a1c0 100644 (file)
@@ -25,6 +25,10 @@ function openid_content(&$a) {
                                                        $args .= '&username=' . notags(trim($v));
                                                if($k === 'contact/email')
                                                        $args .= '&email=' . notags(trim($v));
+                                               if($k === 'media/image/aspect11')
+                                                       $photosq = bin2hex(trim($v));
+                                               if($k === 'media/image/default')
+                                                       $photo = bin2hex(trim($v));
                                        }
                                }
                                if($nick)
@@ -32,6 +36,11 @@ function openid_content(&$a) {
                                elseif($first)
                                        $args .= '&nickname=' . $first;
 
+                               if($photosq)
+                                       $args .= '&photo=' . $photosq;
+                               elseif($photo)
+                                       $args .= '&photo=' . $photo;
+
                                $args .= '&openid_url=' . notags(trim($_SESSION['openid']));
                                if($a->config['register_policy'] != REGISTER_CLOSED)
                                        goaway($a->get_baseurl() . '/register' . $args);
index 69c34f8e9c59880153f142e2892f1a5b1fc4b396..20ea0175a5cbb5e4d1151030f34e2ef57cba1bc1 100644 (file)
@@ -39,6 +39,8 @@ function register_post(&$a) {
        if(x($_POST,'openid_url'))
                $openid_url = notags(trim($_POST['openid_url']));
 
+       $photo = ((x($_POST,'photo')) ? notags(trim($_POST['photo'])) : '');
+
 
        if((! x($username)) || (! x($email)) || (! x($nickname))) {
                if($openid_url) {
@@ -49,7 +51,7 @@ function register_post(&$a) {
                        $openid->identity = $openid_url;
                        $openid->returnUrl = $a->get_baseurl() . '/openid'; 
                        $openid->required = array('namePerson/friendly', 'contact/email', 'namePerson');
-                       $openid->optional = array('namePerson/first','media/image/aspect11');
+                       $openid->optional = array('namePerson/first','media/image/aspect11','media/image/default');
                        goaway($openid->authUrl());
                        // NOTREACHED   
                }
@@ -206,11 +208,16 @@ function register_post(&$a) {
        }
 
        $use_gravatar = ((get_config('system','no_gravatar')) ? false : true);
-       if($use_gravatar) {
+
+       // if we have an openid photo use it. 
+       // otherwise unless it is disabled, use gravatar
+
+       if($use_gravatar || strlen($photo)) {
 
                require_once('include/Photo.php');
 
-               $photo = gravatar_img($email);
+               if(($use_gravatar) && (! strlen($photo))) 
+                       $photo = gravatar_img($email);
                $photo_failure = false;
 
                $filename = basename($photo);
@@ -327,10 +334,11 @@ function register_content(&$a) {
                return;
        }
 
-       $username     = ((x($_POST,'username'))     ? $_POST['username']     : ((x($_GET,'username'))     ? $_GET['username'] : ''));
-       $email        = ((x($_POST,'email'))        ? $_POST['email']        : ((x($_GET,'email'))        ? $_GET['email']    : ''));
-       $openid_url   = ((x($_POST,'openid_url'))   ? $_POST['openid_url']   : ((x($_GET,'openid_url'))   ? $_GET['openid_url']   : ''));
-       $nickname     = ((x($_POST,'nickname'))     ? $_POST['nickname']     : ((x($_GET,'nickname'))     ? $_GET['nickname'] : ''));
+       $username     = ((x($_POST,'username'))     ? $_POST['username']     : ((x($_GET,'username'))     ? $_GET['username']              : ''));
+       $email        = ((x($_POST,'email'))        ? $_POST['email']        : ((x($_GET,'email'))        ? $_GET['email']                 : ''));
+       $openid_url   = ((x($_POST,'openid_url'))   ? $_POST['openid_url']   : ((x($_GET,'openid_url'))   ? $_GET['openid_url']            : ''));
+       $nickname     = ((x($_POST,'nickname'))     ? $_POST['nickname']     : ((x($_GET,'nickname'))     ? $_GET['nickname']              : ''));
+       $photo        = ((x($_POST,'photo'))        ? $_POST['photo']        : ((x($_GET,'photo'))        ? hex2bin($_GET['photo'])        : ''));
 
        $o = load_view_file("view/register.tpl");
        $o = replace_macros($o, array(
@@ -346,6 +354,7 @@ function register_content(&$a) {
                '$addrlabel' => t('Your Email Address: '),
                '$nickdesc'  => t('Choose a profile nickname. This must begin with a text character. Your global profile locator will then be \'<strong>nickname@$sitename</strong>\'.'),
                '$nicklabel' => t('Choose a nickname: '),
+               '$photo'     => $photo,
                '$regbutt'   => t('Register'),
                '$username'  => $username,
                '$email'     => $email,
index 10f7f0222cda513ee8cdc25ffe4d9a7119ec7856..b4d1e31d2b9e626fd18a6400cc3c03660ea277ab 100644 (file)
@@ -2,6 +2,8 @@
 
 <form action="register" method="post" >
 
+       <input type="hidden" name="photo" value="$photo" />
+
        $registertext