e4b5bed2a5198d8bf3531c6a306998c932770471
chinhli
  Wed Apr 18 09:46:05 2012 -0700
Initial work on email password rest function
diff --git src/hg/hgLogin/gbMembers.h src/hg/hgLogin/gbMembers.h
index 5af6673..c38b81a 100644
--- src/hg/hgLogin/gbMembers.h
+++ src/hg/hgLogin/gbMembers.h
@@ -1,37 +1,42 @@
 /* gbMembers.h was originally generated by the autoSql program, which also 
  * generated gbMembers.c and gbMembers.sql.  This header links the database and
  * the RAM representation of objects. */
 
 #ifndef GBMEMBERS_H
 #define GBMEMBERS_H
 
 #include "jksql.h"
-#define GBMEMBERS_NUM_COLS 8
+#define GBMEMBERS_NUM_COLS 13
 
 struct gbMembers
 /* UCSC Genome Browser members */
     {
     struct gbMembers *next;  /* Next in singly linked list. */
     unsigned idx;	/* auto-increment unique ID */
     char *userName;	/* Name used to login */
     char *realName;	/* Full name */
     char *password;	/* Encrypted password */
     char *email;	/* Email address */
-    char *lastUse;	/* Last date the user log in */
-    char activated[2];	/* Account activated? Y or N */
-    char *dateAuthenticated;	/* Date the account activated via email */
+    char *lastTouched;	/* Last date the user log in/log out/change password */
+    char *newPassword;	/* Password generated for the mail-a-new-password feature */
+    char *newPassTime;	/* Expiration date of the new password generated */
+    char *emailAuthenticated;	/* Date the account activated via email */
+    char *emailToken;	/* Security token used in the email to the user */
+    char *emailTokenExpires;	/* Expiration date of the emailToken */
+    char passwordChangeRequired[2];	/* Password change required? */
+    char accountAactivated[2];	/* Account activated? Y or N */
     };
 
 void gbMembersStaticLoad(char **row, struct gbMembers *ret);
 /* Load a row from gbMembers table into ret.  The contents of ret will
  * be replaced at the next call to this function. */
 
 struct gbMembers *gbMembersLoadByQuery(struct sqlConnection *conn, char *query);
 /* Load all gbMembers from table that satisfy the query given.  
  * Where query is of the form 'select * from example where something=something'
  * or 'select example.* from example, anotherTable where example.something = 
  * anotherTable.something'.
  * Dispose of this with gbMembersFreeList(). */
 
 void gbMembersSaveToDb(struct sqlConnection *conn, struct gbMembers *el, char *tableName, int updateSize);
 /* Save gbMembers as a row to the table specified by tableName.