[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