Browse Source

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

pull/1/head
Mike Macgirvin 11 years ago
parent
commit
36e1afa6ae
  1. 5
      README
  2. 3
      include/auth.php
  3. 9
      mod/register.php
  4. 18
      mod/settings.php
  5. 2
      view/login.tpl

5
README

@ -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
It's your network now. If social networking isn't what you thought it would
be, help us to make it better.
Please support mistpark with a donation.
be, help us to make it better.

3
include/auth.php

@ -66,7 +66,8 @@ else {
// process login request
$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($encrypted));
if(($r === false) || (! count($r))) {

9
mod/register.php

@ -59,21 +59,12 @@ function register_post(&$a) {
if(! preg_match("/^[a-zA-Z]* [a-zA-Z]*$/",$username))
$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))
$err .= t(' Not valid email.');
if(! allowed_email($email))
$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);
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.') ;

18
mod/settings.php

@ -81,28 +81,23 @@ function settings_post(&$a) {
if(strlen($username) < 3)
$err .= t(' Name too short.');
}
if($email != $a->user['email']) {
$email_changed = true;
if(!eregi('[A-Za-z0-9._%-]+@[A-Za-z0-9._%-]+\.[A-Za-z]{2,6}',$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)) {
notice($err . EOL);
return;
}
if(strlen($err)) {
notice($err . EOL);
return;
}
if($timezone != $a->user['timezone']) {
if(strlen($timezone))
date_default_timezone_set($timezone);
}
$str_group_allow = perms2str($_POST['group_allow']);
$str_contact_allow = perms2str($_POST['contact_allow']);
$str_group_deny = perms2str($_POST['group_deny']);
@ -155,6 +150,7 @@ function settings_post(&$a) {
if(! function_exists('settings_content')) {
function settings_content(&$a) {
$o .= '<script> $(document).ready(function() { $(\'#nav-settings-link\').addClass(\'nav-selected\'); });</script>';
if(! local_user()) {

2
view/login.tpl

@ -2,7 +2,7 @@
<form action="" method="post" >
<input type="hidden" name="auth-params" value="login" />
<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="" />
</div>
<div id="login-name-end" ></div>

Loading…
Cancel
Save