]> git.mxchange.org Git - friendica.git/blobdiff - mod/register.php
rino recipient patch
[friendica.git] / mod / register.php
index 3b26f69712f56d4694378a334e488dba5afdd126..9f2f236b72809b02bd54ccec6f6e3bc3e19d159e 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');
+                       $openid->optional = array('namePerson/first','media/image/aspect11','media/image/default');
                        goaway($openid->authUrl());
                        // NOTREACHED   
                }
@@ -105,12 +107,17 @@ function register_post(&$a) {
        $new_password_encoded = hash('whirlpool',$new_password);
 
        $res=openssl_pkey_new(array(
-               'digest_alg' => 'whirlpool',
+               'digest_alg' => 'sha1',
                'private_key_bits' => 4096,
                'encrypt_key' => false ));
 
        // Get private key
 
+       if(empty($res)) {
+               notice( t('SERIOUS ERROR: Generation of security keys failed.') . EOL);
+               return;
+       }
+
        $prvkey = '';
 
        openssl_pkey_export($res, $prvkey);
@@ -206,11 +213,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,25 +339,43 @@ 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'])        : ''));
+
+       $noid = get_config('system','no_openid');
+
+       if($noid) {
+               $oidhtml = '';
+               $fillwith = '';
+               $fillext = '';
+               $oidlabel = '';
+       }
+       else {
+               $oidhtml = '<label for="register-openid" id="label-register-openid" >$oidlabel</label><input type="text" maxlength="60" size="32" name="openid_url" class="openid" id="register-openid" value="$openid" >';
+               $fillwith = t("You may \x28optionally\x29 fill in this form via OpenID by supplying your OpenID and clicking 'Register'.");
+               $fillext =  t('If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.');
+               $oidlabel = t("Your OpenID \x28optional\x29: ");
+       }
 
        $o = load_view_file("view/register.tpl");
        $o = replace_macros($o, array(
+               '$oidhtml' => $oidhtml,
                '$regtitle'  => t('Registration'),
                '$registertext' =>((x($a->config,'register_text'))
                        ? '<div class="error-message">' . $a->config['register_text'] . '</div>'
                        : "" ),
-               '$fillwith'  => t('You may ' . "\x28" . 'optionally' . "\x29" . ' fill in this form via OpenID by supplying your OpenID and clicking ') . "'" . t('Register') . "'",
-               '$fillext'   => t('If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.'),
-               '$oidlabel'  => t('Your OpenID ' . "\x28" . 'optional' . "\x29" . ': '),
+               '$fillwith'  => $fillwith,
+               '$fillext'   => $fillext,
+               '$oidlabel'  => $oidlabel,
                '$openid'    => $openid_url,
                '$namelabel' => t('Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': '),
                '$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,