7be630b27c78bece51c7bfaaed304e3312a164e1 chinhli Thu May 3 13:38:52 2012 -0700 Finished the idea UI for account Help diff --git src/hg/hgLogin/hgLogin.c src/hg/hgLogin/hgLogin.c index bc69f1c..48d7e8c 100644 --- src/hg/hgLogin/hgLogin.c +++ src/hg/hgLogin/hgLogin.c @@ -106,44 +106,47 @@ safecat (msg, sizeof(msg), signature); sendMail(email, subject, msg); } void sendUsername(struct sqlConnection *conn) /* email user username(s) */ { struct sqlResult *sr; char **row; char query[256]; char *email = cartUsualString(cart, "hgLogin_email", ""); /* TODO: validate the email address is in right format */ /* find all the user names assocaited with this email address */ -char userList[256]=""; +// char userList[256]=""; +char user[256]; safef(query,sizeof(query),"select * from gbMembers where email='%s'", email); sr = sqlGetResult(conn, query); -int numUser = 0; +// int numUser = 0; while ((row = sqlNextRow(sr)) != NULL) { struct gbMembers *m = gbMembersLoad(row); - if (numUser >= 1) - safecat(userList, sizeof(userList), ", "); - safecat(userList, sizeof(userList), m->userName); - numUser += 1; + // if (numUser >= 1) + // safecat(userList, sizeof(userList), ", "); + // safecat(userList, sizeof(userList), m->userName); + // numUser += 1; + safef(user, sizeof(user), m->userName); + mailUsername(email, user); } sqlFreeResult(&sr); -mailUsername(email, userList); +// mailUsername(email, userList); } /*************** to-do below *********************/ void activateAccount(struct sqlConnection *conn) /* activate account */ { // struct sqlResult *sr; // char **row; char query[256]; char *token = cgiUsualString("hgLogin_activateAccount", ""); safef(query,sizeof(query),"Token is %s ", token); if (!sameString(token,"")) { freez(&errMsg); @@ -748,92 +751,94 @@ "<h2>UCSC Genome Browser</h2>\n" "<p align=\"left\">\n" "</p>\n" "<h3>User %s successfully added.</h3>\n" , user ); /* TODO: cleanup the hgLogin_xxxx vars in the cart */ backToHgSession(2); } void displayAccHelpPage(struct sqlConnection *conn) /* draw the account help page */ { char *email = cartUsualString(cart, "hgLogin_email", ""); -char *username = cartUsualString(cart, "hgLogin_email", ""); +char *username = cartUsualString(cart, "hgLogin_userName", ""); //cartRemove(cart, "hgLogin_helpWith"); //cartRemove(cart, "hgLogin_email"); hPrintf( "<script language=\"JavaScript\">\n" "<!-- " "\n" "function toggle(value){\n" -"if(value=='show')\n" -" document.getElementById('usernameBox').style.visibility='visible';\n" -"else\n" -" document.getElementById('usernameBox').style.visibility='hidden';\n" +"if(value=='showE')\n" +"{\n" +" document.getElementById('usernameBox').style.display='none';\n" +" document.getElementById('emailAddrBox').style.display='inline';\n" +" } else {\n" +" document.getElementById('usernameBox').style.display='inline';\n" +" document.getElementById('emailAddrBox').style.display='none';\n" +"}\n" "}\n" -"\n" "//-->" "\n" "</script>" "\n" ); hPrintf( "<div id=\"accountHelpBox\" class=\"centeredContainer formBox\">" "\n" "<h2>UCSC Genome Browser</h2>" "\n" "<h3>Having trouble signing in?</h3>" "\n" "<form method=post action=\"hgLogin\" name=\"accountLoginForm\" id=\"acctHelpForm\">" "\n" "<p><span style='color:red;'>%s</span><p>" "\n" , errMsg ? errMsg : "" ); hPrintf( "<div class=\"inputGroup\">" -"<div class=\"acctHelpSection\"><input name=\"hgLogin_helpWith\" type=\"radio\" value=\"password\" id=\"password\" checked=\"checked\" onclick=\"toggle('show');\">" +"<div class=\"acctHelpSection\"><input name=\"hgLogin_helpWith\" type=\"radio\" value=\"password\" id=\"password\" onclick=\"toggle('showU');\">" "<label for=\"password\" class=\"radioLabel\">I forgot my <b>password</b>. Send me a new one.</label></div>" -"<div class=\"acctHelpSection\"><input name=\"hgLogin_helpWith\" type=\"radio\" value=\"username\" id=\"username\" onclick=\"toggle('hide');\">" +"<div class=\"acctHelpSection\"><input name=\"hgLogin_helpWith\" type=\"radio\" value=\"username\" id=\"username\" onclick=\"toggle('showE');\">" "<label for=\"username\" class=\"radioLabel\">I forgot my <b>username</b>. Please email it to me.</label></div>" "\n" "</div>" "\n" ); hPrintf( -"<div class=\"inputGroup\">" -"<label for=\"emailPassword\">Email address</label>" -"<input type=\"text\" name=\"hgLogin_email\" value=\"%s\" size=\"30\" id=\"emailPassword\">" -"</div>" -"\n" -"<div class=\"inputGroup\" id=\"usernameBox\">" +"<div class=\"inputGroup\" id=\"usernameBox\" style=\"display: none;\">" "<label for=\"emailUsername\">Username</label>" "<input type=\"text\" name=\"hgLogin_userName\" value=\"%s\" size=\"30\" id=\"emailUsername\">" "</div>" "\n" - +"<div class=\"inputGroup\" id=\"emailAddrBox\" style=\"display: none;\">" +"<label for=\"emailPassword\">Email address</label>" +"<input type=\"text\" name=\"hgLogin_email\" value=\"%s\" size=\"30\" id=\"emailPassword\">" +"</div>" +"\n" "<div class=\"formControls\">" " <input type=\"submit\" name=\"hgLogin.do.accountHelp\" value=\"Continue\" class=\"largeButton\">" " <a href=\"javascript:history.go(-1)\">Cancel</a>" "</div>" "</form>" "</div><!-- END - accountHelpBox -->" -, email , username +, email ); cartSaveSession(cart); } void accountHelp(struct sqlConnection *conn) /* email user username(s) or new password */ { // struct sqlResult *sr; // char **row; // char query[256]; char *email = cartUsualString(cart, "hgLogin_email", ""); char *helpWith = cartUsualString(cart, "hgLogin_helpWith", ""); if (sameString(email,"")) { @@ -844,31 +849,33 @@ } /* TODO: validate the email address is in right format */ /* Username selcted? */ if (sameString(helpWith,"username")) { sendUsername(conn); } if (sameString(helpWith,"password")) { freez(&errMsg); errMsg = cloneString("Forgot password selected!"); displayAccHelpPage(conn); return; } -//cartRemove(cart, "hgLogin_helpWith"); +cartRemove(cart, "hgLogin_helpWith"); +cartRemove(cart, "hgLogin_email"); +// cartRemove(cart, "hgLogin_userName"); displayAccHelpPage(conn); return; } /* ----- account login/display functions ---- */ void displayLoginPage(struct sqlConnection *conn) /* draw the account login page */ { char *username = cartUsualString(cart, "hgLogin_userName", ""); /* for password security, use cgi hash instead of cart */ // char *password = cgiUsualString("hgLogin_password", "");