]> git.mxchange.org Git - friendica.git/blobdiff - mod/register.php
more intro fix
[friendica.git] / mod / register.php
index 5e14870286eb9f251479542044532604d471f5e7..5e132d5840a16037d7a1258e8906dfd26c32eec3 100644 (file)
@@ -22,40 +22,53 @@ function register_post(&$a) {
        default:
        case REGISTER_CLOSED:
                if((! x($_SESSION,'authenticated') && (! x($_SESSION,'administrator')))) {
-                       $_SESSION['sysmsg'] .= "Permission denied." . EOL;
+                       notice( "Permission denied." . EOL );
                        return;
                }
-               $blocked = 0;
+               $blocked = 1;
                $verified = 0;
                break;
        }
 
        if(x($_POST,'username'))
                $username = notags(trim($_POST['username']));
+       if(x($_POST['nickname']))
+               $nickname = notags(trim($_POST['nickname']));
        if(x($_POST,'email'))
-               $email =notags(trim($_POST['email']));
+               $email = notags(trim($_POST['email']));
 
-       if((! x($username)) || (! x($email))) {
-               $_SESSION['sysmsg'] .= "Please enter the required information.". EOL;
+       if((! x($username)) || (! x($email)) || (! x($nickname))) {
+               notice( "Please enter the required information.". EOL );
                return;
        }
 
        $err = '';
 
        if(!eregi('[A-Za-z0-9._%-]+@[A-Za-z0-9._%-]+\.[A-Za-z]{2,6}',$email))
-               $err .= " Not valid email.";
-       if(strlen($username) > 40)
+               $err .= " Not a valid email address.";
+       if(strlen($username) > 48)
                $err .= " Please use a shorter name.";
        if(strlen($username) < 3)
                $err .= " Name too short.";
        $r = q("SELECT `uid` FROM `user` 
                WHERE `email` = '%s' LIMIT 1",
                dbesc($email)
-               );
+       );
+
        if($r !== false && count($r))
-               $err .= " This email address is already registered." . EOL;
+               $err .= " This email address is already registered on this system.";
+
+       if(! preg_match("/^[a-zA-Z][a-zA-Z0-9\-\_]*$/",$nickname))
+               $err .= " Nickname <strong>must</strong> start with a letter and contain only letters, numbers, dashes, or underscore.";
+       $r = q("SELECT `uid` FROM `user`
+                       WHERE `nickname` = '%s' LIMIT 1",
+                       dbesc($nickname)
+       );
+       if(count($r))
+               $err .= " Nickname is already registered. Please choose another." . EOL;
+
        if(strlen($err)) {
-               $_SESSION['sysmsg'] .= $err;
+               notice( $err . EOL );
                return;
        }
 
@@ -79,12 +92,13 @@ function register_post(&$a) {
        $pkey = openssl_pkey_get_details($res);
        $pubkey = $pkey["key"];
 
-       $r = q("INSERT INTO `user` ( `username`, `password`, `email`,
+       $r = q("INSERT INTO `user` ( `username`, `password`, `email`, `nickname`,
                `pubkey`, `prvkey`, `verified`, `blocked` )
-               VALUES ( '%s', '%s', '%s', '%s', '%s', %d, %d )",
+               VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', %d, %d )",
                dbesc($username),
                dbesc($new_password_encoded),
                dbesc($email),
+               dbesc($nickname),
                dbesc($pubkey),
                dbesc($prvkey),
                intval($verified),
@@ -101,41 +115,41 @@ function register_post(&$a) {
                        $newuid = intval($r[0]['uid']);
        }
        else {
-               $_SESSION['sysmsg'] .= "An error occurred during registration. Please try again." . EOL;
+               notice( "An error occurred during registration. Please try again." . EOL );
                return;
        }               
 
-       if(x($newuid) !== NULL) {
+       if(x($newuid) !== false) {
                $r = q("INSERT INTO `profile` ( `uid`, `profile-name`, `is-default`, `name`, `photo`, `thumb` )
                        VALUES ( %d, '%s', %d, '%s', '%s', '%s' ) ",
                        intval($newuid),
                        'default',
                        1,
                        dbesc($username),
-                       dbesc($a->get_baseurl() . '/images/default-profile.jpg'),
-                       dbesc($a->get_baseurl() . '/images/default-profile-sm.jpg')
+                       dbesc($a->get_baseurl() . "/photo/profile/{$newuid}.jpg"),
+                       dbesc($a->get_baseurl() . "/photo/avatar/{$newuid}.jpg")
 
                );
                if($r === false) {
-                       $_SESSION['sysmsg'] .= "An error occurred creating your default profile. Please try again." . EOL ;
+                       notice( "An error occurred creating your default profile. Please try again." . EOL );
                        // Start fresh next time.
                        $r = q("DELETE FROM `user` WHERE `uid` = %d",
                                intval($newuid));
                        return;
                }
-               $r = q("INSERT INTO `contact` ( `uid`, `created`, `self`, `name`, `photo`, `thumb`, `blocked`, `url`,
+               $r = q("INSERT INTO `contact` ( `uid`, `created`, `self`, `name`, `photo`, `thumb`, `blocked`, `pending`, `url`,
                        `request`, `notify`, `poll`, `confirm` )
-                       VALUES ( %d, '%s', 1, '%s', '%s', '%s', 0, '%s', '%s', '%s', '%s', '%s' ) ",
+                       VALUES ( %d, '%s', 1, '%s', '%s', '%s', 0, 0, '%s', '%s', '%s', '%s', '%s' ) ",
                        intval($newuid),
                        datetime_convert(),
                        dbesc($username),
-                       dbesc($a->get_baseurl() . '/images/default-profile.jpg'),
-                       dbesc($a->get_baseurl() . '/images/default-profile-sm.jpg'), 
-                       dbesc($a->get_baseurl() . '/profile/' . intval($newuid)),
-                       dbesc($a->get_baseurl() . '/dfrn_request/' . intval($newuid)),
-                       dbesc($a->get_baseurl() . '/dfrn_notify/' . intval($newuid)),
-                       dbesc($a->get_baseurl() . '/dfrn_poll/' . intval($newuid)),
-                       dbesc($a->get_baseurl() . '/dfrn_confirm/' . intval($newuid))
+                       dbesc($a->get_baseurl() . "/photo/profile/{$newuid}.jpg"),
+                       dbesc($a->get_baseurl() . "/photo/avatar/{$newuid}.jpg"),
+                       dbesc($a->get_baseurl() . "/profile/$nickname"),
+                       dbesc($a->get_baseurl() . "/dfrn_request/$nickname"),
+                       dbesc($a->get_baseurl() . "/dfrn_notify/$nickname"),
+                       dbesc($a->get_baseurl() . "/dfrn_poll/$nickname"),
+                       dbesc($a->get_baseurl() . "/dfrn_confirm/$nickname")
 
                );
 
@@ -157,11 +171,11 @@ function register_post(&$a) {
        }
 
        if($res) {
-               $_SESSION['sysmsg'] .= "Registration successful. Please check your email for further instructions." . EOL ;
+               notice( "Registration successful. Please check your email for further instructions." . EOL ) ;
                goaway($a->get_baseurl());
        }
        else {
-               $_SESSION['sysmsg'] .= "Failed to send email message. Here is the message that failed. $email_tpl " . EOL;
+               notice( "Failed to send email message. Here is the message that failed. $email_tpl " . EOL );
        }
        
        return;
@@ -175,8 +189,16 @@ function register_post(&$a) {
 if(! function_exists('register_content')) {
 function register_content(&$a) {
 
+       if($a->config['register_policy'] == REGISTER_CLOSED) {
+               notice("Permission denied." . EOL);
+               return;
+       }
+
        $o = file_get_contents("view/register.tpl");
-       $o = replace_macros($o, array('$registertext' =>((x($a->config,'register_text'))? $a->config['register_text'] : "" )));
+       $o = replace_macros($o, array(
+               '$registertext' =>((x($a->config,'register_text'))? $a->config['register_text'] : "" ),
+               '$sitename' => $a->get_hostname()
+       ));
        return $o;
 
 }}