Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Resolved 0000759: email unique for each user
git-svn-id: http://piwigo.org/svn/trunk@2115 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
rub committed Oct 1, 2007
1 parent f8e8bdf commit f7196c7
Show file tree
Hide file tree
Showing 8 changed files with 60 additions and 21 deletions.
43 changes: 31 additions & 12 deletions include/functions_user.inc.php
Expand Up @@ -24,46 +24,65 @@
// | USA. |
// +-----------------------------------------------------------------------+

// validate_mail_address verifies whether the given mail address has the
// right format. ie someone@domain.com "someone" can contain ".", "-" or
// even "_". Exactly as "domain". The extension doesn't have to be
// "com". The mail address can also be empty.
// validate_mail_address:
// o verifies whether the given mail address has the
// right format. ie someone@domain.com "someone" can contain ".", "-" or
// even "_". Exactly as "domain". The extension doesn't have to be
// "com". The mail address can also be empty.
// o check if address could be empty
// o check if address is not used by a other user
// If the mail address doesn't correspond, an error message is returned.
function validate_mail_address( $mail_address )
//
function validate_mail_address($mail_address)
{
global $lang, $conf;
global $conf;

if (empty($mail_address) and
!($conf['obligatory_user_mail_address'] and in_array(script_basename(), array('register', 'profile'))))
{
return '';
}

$regex = '/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)*\.[a-z]+$/';
if ( !preg_match( $regex, $mail_address ) )
{
return $lang['reg_err_mail_address'];
return l10n('reg_err_mail_address');
}

if (defined("PHPWG_INSTALLED") and !empty($mail_address))
{
$query = '
select count(*)
from '.USERS_TABLE.'
where upper('.$conf['user_fields']['email'].') = upper(\''.$mail_address.'\')
;';
list($count) = mysql_fetch_array(pwg_query($query));
if ($count != 0)
{
return l10n('reg_err_mail_address_dbl');
}
}
}

function register_user($login, $password, $mail_address, $errors = array())
{
global $lang, $conf;
global $conf;

if ($login == '')
{
array_push($errors, $lang['reg_err_login1']);
array_push($errors, l10n('reg_err_login1'));
}
if (ereg("^.* $", $login))
{
array_push($errors, $lang['reg_err_login2']);
array_push($errors, l10n('reg_err_login2'));
}
if (ereg("^ .*$", $login))
{
array_push($errors, $lang['reg_err_login3']);
array_push($errors, l10n('reg_err_login3'));
}
if (get_userid($login))
{
array_push($errors, $lang['reg_err_login5']);
array_push($errors, l10n('reg_err_login5'));
}
$mail_error = validate_mail_address($mail_address);
if ('' != $mail_error)
Expand Down
1 change: 1 addition & 0 deletions language/en_UK.iso-8859-1/common.lang.php
Expand Up @@ -637,4 +637,5 @@
$lang['add new elements to caddie'] = 'add new elements to caddie';
// --------- Starting below: New or revised $lang ---- from Butterfly (1.8)
$lang['Administrator, webmaster and special user cannot use this method'] = 'Administrator, webmaster and special user cannot use this method';
$lang['reg_err_mail_address_dbl'] = 'a user use already this mail address';
?>
8 changes: 2 additions & 6 deletions language/en_UK.iso-8859-1/install.lang.php
Expand Up @@ -4,8 +4,7 @@
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | file : $Id$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
Expand All @@ -32,9 +31,6 @@
$lang['step2_title'] = 'Admin configuration';
$lang['Start_Install'] = 'Start Install';
$lang['reg_err_mail_address'] = 'mail address must be like xxx@yyy.eee (example : jack@altern.org)';
$lang['mail_webmaster'] = 'Webmaster mail adress';
$lang['mail_webmaster_info'] = 'Visitors will be able to contact site administrator with this mail';
$lang['reg_err_mail_address'] = 'e-mail address refused, it must be like name@server.com';

$lang['install_webmaster'] = 'Webmaster login';
$lang['install_webmaster_info'] = 'It will be shown to the visitors. It is necessary for website administration';
Expand Down Expand Up @@ -72,6 +68,6 @@
<li>go to the identification page : [ <a href="identification.php">identification</a> ] and use the login/password given for webmaster</li>
<li>this login will enable you to access to the administration panel and to the instructions in order to place pictures in your directories</li>
</ul>';
$lang['conf_mail_webmaster'] = 'Webmaster mail adress';
$lang['conf_mail_webmaster'] = 'Webmaster mail address';
$lang['conf_mail_webmaster_info'] = 'Visitors will be able to contact site administrator with this mail';
?>
1 change: 1 addition & 0 deletions language/fr_FR.iso-8859-1/common.lang.php
Expand Up @@ -636,4 +636,5 @@
$lang['guest_must_be_guest'] = 'Statut de l\'utilisateur "guest" non conforme, utilisation du statut par défaut. Veuillez prévenir le webmestre.';
// --------- Starting below: New or revised $lang ---- from Butterfly (1.8)
$lang['Administrator, webmaster and special user cannot use this method'] = 'Administrateur, webmestre et utilisateur spécial ne peuvent pas utiliser cette méthode';
$lang['reg_err_mail_address_dbl'] = 'un utilisateur utilise déjà cette adresse e-mail';
?>
3 changes: 1 addition & 2 deletions language/fr_FR.iso-8859-1/install.lang.php
Expand Up @@ -4,8 +4,7 @@
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | file : $Id$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
Expand Down
20 changes: 20 additions & 0 deletions plugins/c13y_upgrade/initialize.inc.php
Expand Up @@ -39,6 +39,26 @@ function c13y_upgrade($c13y_array)

$result = array();

/* Check user with same e-mail */
$query = '
select count(*)
from '.USERS_TABLE.'
group by upper('.$conf['user_fields']['email'].')
having count(*) > 1
limit 0,1
;';

if (mysql_fetch_array(pwg_query($query)))
{
$result[] = get_c13y(
l10n('c13y_exif_dbl_email_user'),
null,
null,
l10n('c13y_exif_correction_dbl_email_user'));
}


/* Check if this plugin must deactivate */
if (count($result) === 0)
{
$deactivate_msg_link =
Expand Down
Expand Up @@ -27,5 +27,6 @@
// --------- Starting below: New or revised $lang ---- from Butterfly (1.8)
$lang['c13y_upgrade_no_anomaly'] = 'No anomaly detected after application upgrade';
$lang['c13y_upgrade_deactivate'] = 'You can deactivate "Check upgrades" plugin';

$lang['c13y_exif_dbl_email_user'] = 'Users with same email address';
$lang['c13y_exif_correction_dbl_email_user'] = 'Delete duplicate users';
?>
Expand Up @@ -27,5 +27,7 @@
// --------- Starting below: New or revised $lang ---- from Butterfly (1.8)
$lang['c13y_upgrade_no_anomaly'] = 'Pas d\'anomalie détectée après la mise à jour de l\'application';
$lang['c13y_upgrade_deactivate'] = 'Vous pouvez désactiver le plugin "Check upgrades"';
$lang['c13y_exif_dbl_email_user'] = 'Utilisateurs avec la même adresse email';
$lang['c13y_exif_correction_dbl_email_user'] = 'Supprimez les utilisateurs en double';

?>

0 comments on commit f7196c7

Please sign in to comment.