[geeklog-cvs] geeklog-1.3/public_html users.php,1.89,1.90
dhaun at iowaoutdoors.org
dhaun at iowaoutdoors.org
Tue Oct 5 15:52:47 EDT 2004
Update of /var/cvs/geeklog-1.3/public_html
In directory www:/tmp/cvs-serv14617/public_html
Modified Files:
users.php
Log Message:
When creating a new user from admin/user.php, don't try to determine the new user's id beforehand (bug #243). Took the opportunity and refactored the code to create a new user account and moved it to lib-users.php (also from users.php).
Index: users.php
===================================================================
RCS file: /var/cvs/geeklog-1.3/public_html/users.php,v
retrieving revision 1.89
retrieving revision 1.90
diff -C2 -d -r1.89 -r1.90
*** users.php 19 Sep 2004 17:55:59 -0000 1.89
--- users.php 5 Oct 2004 19:52:45 -0000 1.90
***************
*** 300,312 ****
*
*/
! function emailpassword($username,$msg=0)
{
global $_CONF, $_TABLES, $LANG04;
! $result = DB_query("SELECT email,passwd FROM {$_TABLES['users']} WHERE username = '$username'");
! $nrows = DB_numRows($result);
if ($nrows == 1) {
! $A = DB_fetchArray($result);
! if (($_CONF['usersubmission'] == 1) && ($A['passwd'] == md5(''))) {
return COM_refresh ($_CONF['site_url'] . '/index.php?msg=48');
}
--- 300,315 ----
*
*/
! function emailpassword ($username, $msg = 0)
{
global $_CONF, $_TABLES, $LANG04;
! $retval = '';
!
! $username = addslashes ($username);
! $result = DB_query ("SELECT uid,email FROM {$_TABLES['users']} WHERE username = '$username'");
! $nrows = DB_numRows ($result);
if ($nrows == 1) {
! $A = DB_fetchArray ($result);
! if (($_CONF['usersubmission'] == 1) && USER_isQueued ($A['uid'])) {
return COM_refresh ($_CONF['site_url'] . '/index.php?msg=48');
}
***************
*** 315,324 ****
if ($msg) {
! $retval .= COM_refresh("{$_CONF['site_url']}/index.php?msg=$msg");
} else {
! $retval .= COM_refresh("{$_CONF['site_url']}/index.php");
}
} else {
! $retval .= COM_siteHeader('menu') . defaultform($LANG04[17]) . COM_siteFooter();
}
--- 318,329 ----
if ($msg) {
! $retval = COM_refresh ("{$_CONF['site_url']}/index.php?msg=$msg");
} else {
! $retval = COM_refresh ("{$_CONF['site_url']}/index.php");
}
} else {
! $retval = COM_siteHeader ('menu', $LANG04[17])
! . defaultform ($LANG04[17])
! . COM_siteFooter ();
}
***************
*** 450,521 ****
$username = trim ($username);
if (COM_isEmail ($email) && !empty ($username)) {
! $ucount = DB_count($_TABLES['users'],'username',$username);
! $ecount = DB_count($_TABLES['users'],'email',$email);
if ($ucount == 0 AND $ecount == 0) {
! $regdate = strftime('%Y-%m-%d %H:%M:$S',time());
! DB_save($_TABLES['users'],'username,email,regdate,cookietimeout',"'$username','$email','$regdate','{$_CONF['default_perm_cookie_timeout']}'");
! $uid = DB_getItem($_TABLES['users'],'uid',"username = '$username'");
! // Add user to Logged-in group (i.e. members) and the All Users
! // group (which includes anonymous users
! $normal_grp = DB_getItem($_TABLES['groups'],'grp_id',"grp_name='Logged-in Users'");
! $all_grp = DB_getItem($_TABLES['groups'],'grp_id',"grp_name='All Users'");
! DB_query("INSERT INTO {$_TABLES['group_assignments']} (ug_main_grp_id,ug_uid) values ($normal_grp, $uid)");
! DB_query("INSERT INTO {$_TABLES['group_assignments']} (ug_main_grp_id,ug_uid) values ($all_grp, $uid)");
! DB_query("INSERT INTO {$_TABLES['userprefs']} (uid) VALUES ($uid)");
! if ($_CONF['emailstoriesperdefault'] == 1) {
! DB_query("INSERT INTO {$_TABLES['userindex']} (uid) VALUES ($uid)");
! } else {
! DB_query("INSERT INTO {$_TABLES['userindex']} (uid,etids) VALUES ($uid, '-')");
! }
! DB_query("INSERT INTO {$_TABLES['usercomment']} (uid) VALUES ($uid)");
! DB_query("INSERT INTO {$_TABLES['userinfo']} (uid) VALUES ($uid)");
! if ($_CONF['usersubmission'] == 1) {
! $queueUser = true;
! if (!empty ($_CONF['allow_domains'])) {
! $allowed = explode (',', $_CONF['allow_domains']);
! // Note: We already made sure $email is a valid address
! $domain = substr ($email, strpos ($email, '@') + 1);
! if (in_array ($domain, $allowed)) {
! $queueUser = false;
! }
! }
! if ($queueUser) {
! $passwd = md5('');
! DB_change($_TABLES['users'],'passwd',"$passwd",'username',$username);
! $msg = 48;
! } else {
! emailpassword($username, 1);
! $msg = 1;
! }
! if (isset ($_CONF['notification']) && in_array ('user', $_CONF['notification'])) {
! sendNotification ($username, $email, $uid, $queueUser);
! }
} else {
! emailpassword($username, 1);
$msg = 1;
- if (isset ($_CONF['notification']) && in_array ('user', $_CONF['notification'])) {
- sendNotification ($username, $email, $uid, false);
- }
}
! DB_change($_TABLES['usercomment'],'commentmode',$_CONF['comment_mode'],'uid',$uid);
! DB_change($_TABLES['usercomment'],'commentlimit',$_CONF['comment_limit'],'uid',$uid);
!
! // Call custom registration and account record create function
! // if enabled and exists
! if ($_CONF['custom_registration'] AND (function_exists(custom_usercreate))) {
! custom_usercreate($uid);
}
- PLG_createUser ($uid);
-
return COM_refresh($_CONF['site_url'] . '/index.php?msg=' . $msg);
} else {
$retval .= COM_siteHeader ('Menu');
! if ($_CONF['custom_registration'] AND (function_exists(custom_userform))) {
$retval .= custom_userform ($LANG04[19]);
} else {
--- 455,486 ----
$username = trim ($username);
+ $email = trim ($email);
if (COM_isEmail ($email) && !empty ($username)) {
! $ucount = DB_count ($_TABLES['users'], 'username',
! addslashes ($username));
! $ecount = DB_count ($_TABLES['users'], 'email', addslashes ($email));
if ($ucount == 0 AND $ecount == 0) {
! $uid = USER_createAccount ($username, $email);
! $queueUser = USER_isQueued ($uid);
! if ($queueUser) {
! $msg = 48;
} else {
! emailpassword ($username, 1);
$msg = 1;
}
! if (isset ($_CONF['notification']) &&
! in_array ('user', $_CONF['notification'])) {
! sendNotification ($username, $email, $uid, $queueUser);
}
return COM_refresh($_CONF['site_url'] . '/index.php?msg=' . $msg);
} else {
$retval .= COM_siteHeader ('Menu');
! if ($_CONF['custom_registration'] &&
! function_exists ('custom_userform')) {
$retval .= custom_userform ($LANG04[19]);
} else {
More information about the geeklog-cvs
mailing list