- 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']));
- 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) {
- $_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','media/image/aspect11','media/image/default');
- goaway($openid->authUrl());
- // NOTREACHED
- }
-
- notice( t('Please enter the required information.') . EOL );
- return;
- }
-
- $err = '';
-
-
- if(strlen($username) > 48)
- $err .= t('Please use a shorter name.') . EOL;
- if(strlen($username) < 3)
- $err .= t('Name too short.') . EOL;
-
- // I don't really like having this rule, but it cuts down
- // on the number of auto-registrations by Russian spammers
-
- $no_utf = get_config('system','no_utf');
-
- $pat = (($no_utf) ? '/^[a-zA-Z]* [a-zA-Z]*$/' : '/^\p{L}* \p{L}*$/u' );
-
- $loose_reg = get_config('system','no_regfullname');
-
- if((! $loose_reg) && (! preg_match($pat,$username)))
- $err .= t('That doesn\'t appear to be your full name.') . EOL;
-
- if(! allowed_email($email))
- $err .= t('Your email domain is not among those allowed on this site.') . EOL;
-
- if((! valid_email($email)) || (! validate_email($email)))
- $err .= t('Not a valid email address.') . EOL;
-
- $nickname = $_POST['nickname'] = strtolower($nickname);
-
- if(! preg_match("/^[a-z][a-z0-9\-\_]*$/",$nickname))
- $err .= t('Your "nickname" can only contain "a-z", "0-9", "-", and "_", and must also begin with a letter.') . EOL;
- $r = q("SELECT `uid` FROM `user`
- WHERE `nickname` = '%s' LIMIT 1",
- dbesc($nickname)
- );
- if(count($r))
- $err .= t('Nickname is already registered. Please choose another.') . EOL;
-
- if(strlen($err)) {
- notice( $err );
- return;
- }
-