allow login by username and multiple unique email addresses on system - this will provide support for group/celebrity pages (coming soon).

This commit is contained in:
Mike Macgirvin 2010-10-16 20:38:27 -07:00
parent 6d646e9df5
commit 36e1afa6ae
5 changed files with 11 additions and 26 deletions

5
README
View file

@ -51,7 +51,4 @@ You may also contact the author and raise issues via the source code
repository on github -- http://github.com/macgirvin/mistpark repository on github -- http://github.com/macgirvin/mistpark
It's your network now. If social networking isn't what you thought it would It's your network now. If social networking isn't what you thought it would
be, help us to make it better. be, help us to make it better.
Please support mistpark with a donation.

View file

@ -66,7 +66,8 @@ else {
// process login request // process login request
$r = q("SELECT * FROM `user` $r = q("SELECT * FROM `user`
WHERE `email` = '%s' AND `password` = '%s' AND `blocked` = 0 AND `verified` = 1 LIMIT 1", WHERE ( `email` = '%s' OR `nickname` = '%s' ) AND `password` = '%s' AND `blocked` = 0 AND `verified` = 1 LIMIT 1",
dbesc(trim($_POST['login-name'])),
dbesc(trim($_POST['login-name'])), dbesc(trim($_POST['login-name'])),
dbesc($encrypted)); dbesc($encrypted));
if(($r === false) || (! count($r))) { if(($r === false) || (! count($r))) {

View file

@ -59,21 +59,12 @@ function register_post(&$a) {
if(! preg_match("/^[a-zA-Z]* [a-zA-Z]*$/",$username)) if(! preg_match("/^[a-zA-Z]* [a-zA-Z]*$/",$username))
$err .= t(' That doesn\'t appear to be your full name.'); $err .= t(' That doesn\'t appear to be your full name.');
$r = q("SELECT `uid` FROM `user`
WHERE `email` = '%s' LIMIT 1",
dbesc($email)
);
if(!eregi('[A-Za-z0-9._%-]+@[A-Za-z0-9._%-]+\.[A-Za-z]{2,6}',$email)) if(!eregi('[A-Za-z0-9._%-]+@[A-Za-z0-9._%-]+\.[A-Za-z]{2,6}',$email))
$err .= t(' Not valid email.'); $err .= t(' Not valid email.');
if(! allowed_email($email)) if(! allowed_email($email))
$err .= t(' Your email domain is not among those allowed on this site.'); $err .= t(' Your email domain is not among those allowed on this site.');
if($r !== false && count($r))
$err .= t(' Your email address is already registered on this system.') ;
$nickname = strtolower($nickname); $nickname = strtolower($nickname);
if(! preg_match("/^[a-z][a-z0-9\-\_]*$/",$nickname)) if(! preg_match("/^[a-z][a-z0-9\-\_]*$/",$nickname))
$err .= t(' Nickname <strong>must</strong> start with a letter and contain only letters, numbers, dashes, or underscore.') ; $err .= t(' Nickname <strong>must</strong> start with a letter and contain only letters, numbers, dashes, or underscore.') ;

View file

@ -81,28 +81,23 @@ function settings_post(&$a) {
if(strlen($username) < 3) if(strlen($username) < 3)
$err .= t(' Name too short.'); $err .= t(' Name too short.');
} }
if($email != $a->user['email']) { if($email != $a->user['email']) {
$email_changed = true; $email_changed = true;
if(!eregi('[A-Za-z0-9._%-]+@[A-Za-z0-9._%-]+\.[A-Za-z]{2,6}',$email)) if(!eregi('[A-Za-z0-9._%-]+@[A-Za-z0-9._%-]+\.[A-Za-z]{2,6}',$email))
$err .= t(' Not valid email.'); $err .= t(' Not valid email.');
$r = q("SELECT `uid` FROM `user`
WHERE `email` = '%s' LIMIT 1",
dbesc($email)
);
if($r !== NULL && count($r))
$err .= t(' This email address is already registered.');
} }
if(strlen($err)) { if(strlen($err)) {
notice($err . EOL); notice($err . EOL);
return; return;
} }
if($timezone != $a->user['timezone']) { if($timezone != $a->user['timezone']) {
if(strlen($timezone)) if(strlen($timezone))
date_default_timezone_set($timezone); date_default_timezone_set($timezone);
} }
$str_group_allow = perms2str($_POST['group_allow']); $str_group_allow = perms2str($_POST['group_allow']);
$str_contact_allow = perms2str($_POST['contact_allow']); $str_contact_allow = perms2str($_POST['contact_allow']);
$str_group_deny = perms2str($_POST['group_deny']); $str_group_deny = perms2str($_POST['group_deny']);
@ -155,6 +150,7 @@ function settings_post(&$a) {
if(! function_exists('settings_content')) { if(! function_exists('settings_content')) {
function settings_content(&$a) { function settings_content(&$a) {
$o .= '<script> $(document).ready(function() { $(\'#nav-settings-link\').addClass(\'nav-selected\'); });</script>'; $o .= '<script> $(document).ready(function() { $(\'#nav-settings-link\').addClass(\'nav-selected\'); });</script>';
if(! local_user()) { if(! local_user()) {

View file

@ -2,7 +2,7 @@
<form action="" method="post" > <form action="" method="post" >
<input type="hidden" name="auth-params" value="login" /> <input type="hidden" name="auth-params" value="login" />
<div id="login-name-wrapper"> <div id="login-name-wrapper">
<label for="login-name" id="label-login-name">Email address: </label> <label for="login-name" id="label-login-name">Username or Email: </label>
<input type="text" maxlength="60" name="login-name" id="login-name" value="" /> <input type="text" maxlength="60" name="login-name" id="login-name" value="" />
</div> </div>
<div id="login-name-end" ></div> <div id="login-name-end" ></div>