[geeklog-cvs] geeklog-1.3/public_html/admin user.php,1.84,1.85

dhaun at iowaoutdoors.org dhaun at iowaoutdoors.org
Tue Oct 5 15:52:48 EDT 2004


Update of /var/cvs/geeklog-1.3/public_html/admin
In directory www:/tmp/cvs-serv14617/public_html/admin

Modified Files:
	user.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: user.php
===================================================================
RCS file: /var/cvs/geeklog-1.3/public_html/admin/user.php,v
retrieving revision 1.84
retrieving revision 1.85
diff -C2 -d -r1.84 -r1.85
*** user.php	29 Sep 2004 10:36:29 -0000	1.84
--- user.php	5 Oct 2004 19:52:46 -0000	1.85
***************
*** 83,87 ****
          $cnt = DB_count ($_TABLES['users'], 'uid', $uid);
          if ($cnt == 0) {
!             $uid = 0;
          }
      }
--- 83,87 ----
          $cnt = DB_count ($_TABLES['users'], 'uid', $uid);
          if ($cnt == 0) {
!             $uid = '';
          }
      }
***************
*** 105,118 ****
          }
          $curtime = COM_getUserDateTimeFormat($A['regdate']);
      } else {
!         $tmp = DB_query("SELECT MAX(uid) AS max FROM {$_TABLES['users']}");
!         $T = DB_fetchArray($tmp);
!         $A['uid'] = $T['max'] + 1;
          $curtime =  COM_getUserDateTimeFormat();
      }
  
-     $lastlogin = DB_getItem ($_TABLES['userinfo'], 'lastlogin', "uid = '$uid'");
-     $lasttime = COM_getUserDateTimeFormat ($lastlogin);
- 
      $retval .= COM_startBlock ($LANG28[1], '',
                                 COM_getBlockTemplate ('_admin_block', 'header'));
--- 105,118 ----
          }
          $curtime = COM_getUserDateTimeFormat($A['regdate']);
+         $lastlogin = DB_getItem ($_TABLES['userinfo'], 'lastlogin', "uid = '$uid'");
+         $lasttime = COM_getUserDateTimeFormat ($lastlogin);
      } else {
!         $A['uid'] = '';
!         $uid = '';
          $curtime =  COM_getUserDateTimeFormat();
+         $lastlogin = '';
+         $lasttime = '';
      }
  
      $retval .= COM_startBlock ($LANG28[1], '',
                                 COM_getBlockTemplate ('_admin_block', 'header'));
***************
*** 125,129 ****
      $user_templates->set_var('layout_url', $_CONF['layout_url']);
      $user_templates->set_var('lang_save', $LANG28[20]);
!     if ($A['uid'] > 1) { 
          $user_templates->set_var('change_password_option', '<input type="submit" value="' . $LANG28[17] . '" name="mode">');
      }
--- 125,129 ----
      $user_templates->set_var('layout_url', $_CONF['layout_url']);
      $user_templates->set_var('lang_save', $LANG28[20]);
!     if (!empty ($A['uid']) && ($A['uid'] > 1)) { 
          $user_templates->set_var('change_password_option', '<input type="submit" value="' . $LANG28[17] . '" name="mode">');
      }
***************
*** 134,138 ****
  
      $user_templates->set_var('lang_userid', $LANG28[2]);
!     $user_templates->set_var('user_id', $A['uid']);
      $user_templates->set_var('lang_regdate', $LANG28[14]);
      $user_templates->set_var('regdate_timestamp', $curtime[1]);
--- 134,142 ----
  
      $user_templates->set_var('lang_userid', $LANG28[2]);
!     if (empty ($A['uid'])) {
!         $user_templates->set_var ('user_id', 'n/a');
!     } else {
!         $user_templates->set_var ('user_id', $A['uid']);
!     }
      $user_templates->set_var('lang_regdate', $LANG28[14]);
      $user_templates->set_var('regdate_timestamp', $curtime[1]);
***************
*** 266,274 ****
      if ($_USER_VERBOSE) COM_errorLog("group size at beginning = " . sizeof($groups),1);    
  
!     if (!empty($username) && !empty($email)) {
  
!         $username = addslashes ($username);
!         $ucount = DB_getItem ($_TABLES['users'], 'COUNT(*)',
!                               "username = '$username' AND uid <> $uid");
          if ($ucount > 0) {
              // Admin just changed a user's username to one that already exists
--- 270,287 ----
      if ($_USER_VERBOSE) COM_errorLog("group size at beginning = " . sizeof($groups),1);    
  
!     if (!empty ($username) && !empty ($email)) {
  
!         if (!COM_isEmail ($email)) {
!             return edituser ($uid, 52);
!         }
! 
!         $uname = addslashes ($username);
!         if (empty ($uid)) {
!             $ucount = DB_getItem ($_TABLES['users'], 'COUNT(*)',
!                                   "username = '$uname'");
!         } else {
!             $ucount = DB_getItem ($_TABLES['users'], 'COUNT(*)',
!                                   "username = '$uname' AND uid <> $uid");
!         }
          if ($ucount > 0) {
              // Admin just changed a user's username to one that already exists
***************
*** 276,286 ****
          }
  
!         if (!COM_isEmail ($email)) {
!             return edituser ($uid, 52);
          }
- 
-         $email = addslashes ($email);
-         $ucount = DB_getItem ($_TABLES['users'], 'count(*)',
-                               "email = '$email' AND uid <> $uid");
          if ($ucount > 0) {
              // Admin just changed a user's email to one that already exists
--- 289,300 ----
          }
  
!         $emailaddr = addslashes ($email);
!         if (empty ($uid)) {
!             $ucount = DB_getItem ($_TABLES['users'], 'count(*)',
!                                   "email = '$emailaddr'");
!         } else {
!             $ucount = DB_getItem ($_TABLES['users'], 'count(*)',
!                                   "email = '$emailaddr' AND uid <> $uid");
          }
          if ($ucount > 0) {
              // Admin just changed a user's email to one that already exists
***************
*** 288,293 ****
          }
  
!         $regdate = strftime ('%Y-%m-%d %H:%M:%S', $regdate);
!         if (($uid == 1) or !empty ($passwd)) { 
              $passwd = md5 ($passwd);
          } else {
--- 302,306 ----
          }
  
!         if (empty ($uid) || !empty ($passwd)) { 
              $passwd = md5 ($passwd);
          } else {
***************
*** 295,301 ****
          }
  
!         $fullname = addslashes ($fullname);
!         $homepage = addslashes ($homepage);
!         if (DB_count ($_TABLES['users'], 'uid', $uid) == 0) {
              if (empty ($passwd)) {
                  // no password? create one ...
--- 308,312 ----
          }
  
!         if (empty ($uid)) {
              if (empty ($passwd)) {
                  // no password? create one ...
***************
*** 307,324 ****
              }
  
!             DB_query("INSERT INTO {$_TABLES['users']} (uid,username,fullname,passwd,email,regdate,homepage) VALUES($uid,'$username','$fullname','$passwd', '$email','$regdate','$homepage')");
!             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['custom_registration'] AND (function_exists('custom_usercreate'))) {
!                 custom_usercreate($uid);
!             }
!             PLG_createUser ($uid);
          } else {
              $curphoto = DB_getItem($_TABLES['users'],'photo',"uid = $uid");
              if (!empty($curphoto) AND $delete_photo == 'on') {
--- 318,326 ----
              }
  
!             $uid = USER_createAccount ($username, $email, $passwd, $fullname,
!                                        $homepage);
          } else {
+             $fullname = addslashes ($fullname);
+             $homepage = addslashes ($homepage);
              $curphoto = DB_getItem($_TABLES['users'],'photo',"uid = $uid");
              if (!empty($curphoto) AND $delete_photo == 'on') {
***************
*** 335,339 ****
              PLG_userInfoChanged ($uid);
          }
!         
          // if groups is -1 then this user isn't allowed to change any groups so ignore
          if (is_array ($groups) && SEC_inGroup ('Group Admin')) {
--- 337,341 ----
              PLG_userInfoChanged ($uid);
          }
! 
          // if groups is -1 then this user isn't allowed to change any groups so ignore
          if (is_array ($groups) && SEC_inGroup ('Group Admin')) {
***************
*** 558,596 ****
  
          // prepare for database
!         $userName = addslashes (trim ($u_name));
!         $fullName = addslashes (trim ($full_name));
!         $emailAddr = addslashes (trim ($email));
  
          if (COM_isEmail ($email)) {
              // email is valid form
!             $ucount = DB_count ($_TABLES['users'], 'username', $userName);
!             $ecount = DB_count ($_TABLES['users'], 'email', $emailAddr);
  
              if ($ucount == 0 && ecount == 0) {
                  // user doesn't already exist
!                 $regdate = strftime ('%Y-%m-%d %H:%M:%S', time ());
! 
!                 // Create user record
!                 DB_query ("INSERT INTO {$_TABLES['users']} (username,fullname,email,regdate) VALUES ('$userName','$fullName','$emailAddr','$regdate')");
!                 $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)");
                  emailpassword ($userName);
  
-                 PLG_createUser ($uid);
- 
                  if ($verbose_import) {
                      $retval .= "<br> Account for <b>$u_name</b> created successfully.<br>\n";
--- 560,580 ----
  
          // prepare for database
!         $userName  = trim ($u_name);
!         $fullName  = trim ($full_name);
!         $emailAddr = trim ($email);
  
          if (COM_isEmail ($email)) {
              // email is valid form
!             $ucount = DB_count ($_TABLES['users'], 'username',
!                                 addslashes ($userName));
!             $ecount = DB_count ($_TABLES['users'], 'email',
!                                 addslashes ($emailAddr));
  
              if ($ucount == 0 && ecount == 0) {
                  // user doesn't already exist
!                 $uid = USER_createAccount ($userName, $emailAddr, '',
!                                            $fullName);
                  emailpassword ($userName);
  
                  if ($verbose_import) {
                      $retval .= "<br> Account for <b>$u_name</b> created successfully.<br>\n";




More information about the geeklog-cvs mailing list