]> git.mxchange.org Git - friendica.git/blobdiff - mod/register.php
relax content-type check on yadi discovery document
[friendica.git] / mod / register.php
index 30666405c6a9866aba1f5c9d020c07025e8733b2..3b26f69712f56d4694378a334e488dba5afdd126 100644 (file)
@@ -36,8 +36,24 @@ function register_post(&$a) {
                $nickname = notags(trim($_POST['nickname']));
        if(x($_POST,'email'))
                $email = notags(trim($_POST['email']));
+       if(x($_POST,'openid_url'))
+               $openid_url = notags(trim($_POST['openid_url']));
+
 
        if((! x($username)) || (! x($email)) || (! x($nickname))) {
+               if($openid_url) {
+                       $_SESSION['register'] = 1;
+                       $_SESSION['openid'] = $openid_url;
+                       require_once('library/openid.php');
+                       $openid = new LightOpenID;
+                       $openid->identity = $openid_url;
+                       $openid->returnUrl = $a->get_baseurl() . '/openid'; 
+                       $openid->required = array('namePerson/friendly', 'contact/email', 'namePerson');
+                       $openid->optional = array('namePerson/first');
+                       goaway($openid->authUrl());
+                       // NOTREACHED   
+               }
+
                notice( t('Please enter the required information.') . EOL );
                return;
        }
@@ -118,12 +134,13 @@ function register_post(&$a) {
        $spkey = openssl_pkey_get_details($sres);
        $spubkey = $spkey["key"];
 
-       $r = q("INSERT INTO `user` ( `username`, `password`, `email`, `nickname`,
+       $r = q("INSERT INTO `user` ( `username`, `password`, `email`, `openid`, `nickname`,
                `pubkey`, `prvkey`, `spubkey`, `sprvkey`, `verified`, `blocked` )
-               VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d )",
+               VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d )",
                dbesc($username),
                dbesc($new_password_encoded),
                dbesc($email),
+               dbesc($openid_url),
                dbesc($nickname),
                dbesc($pubkey),
                dbesc($prvkey),
@@ -188,43 +205,47 @@ function register_post(&$a) {
 
        }
 
-       require_once('include/Photo.php');
+       $use_gravatar = ((get_config('system','no_gravatar')) ? false : true);
+       if($use_gravatar) {
 
-       $photo = gravatar_img($email);
-       $photo_failure = false;
+               require_once('include/Photo.php');
 
-       $filename = basename($photo);
-       $img_str = fetch_url($photo,true);
-       $img = new Photo($img_str);
-       if($img->is_valid()) {
+               $photo = gravatar_img($email);
+               $photo_failure = false;
 
-               $img->scaleImageSquare(175);
+               $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();
+                       $hash = photo_new_resource();
 
-               $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 4 );
+                       $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 4 );
 
-               if($r === false)
-                       $photo_failure = true;
+                       if($r === false)
+                               $photo_failure = true;
 
-               $img->scaleImage(80);
+                       $img->scaleImage(80);
 
-               $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 5 );
+                       $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 5 );
 
-               if($r === false)
-                       $photo_failure = true;
+                       if($r === false)
+                               $photo_failure = true;
 
-               $img->scaleImage(48);
+                       $img->scaleImage(48);
 
-               $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 6 );
+                       $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 6 );
 
-               if($r === false)
-                       $photo_failure = true;
+                       if($r === false)
+                               $photo_failure = true;
 
-               if(! $photo_failure) {
-                       q("UPDATE `photo` SET `profile` = 1 WHERE `resource-id` = '%s' ",
-                               dbesc($hash)
-                       );
+                       if(! $photo_failure) {
+                               q("UPDATE `photo` SET `profile` = 1 WHERE `resource-id` = '%s' ",
+                                       dbesc($hash)
+                               );
+                       }
                }
        }
 
@@ -284,7 +305,6 @@ function register_post(&$a) {
                }
 
        }
-       
        return;
 }}
 
@@ -307,9 +327,10 @@ 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']    : ''));
-       $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'] : ''));
 
        $o = load_view_file("view/register.tpl");
        $o = replace_macros($o, array(
@@ -317,6 +338,10 @@ function register_content(&$a) {
                '$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" . ': '),
+               '$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>\'.'),