61050062a515249181b3ba02bc3a9c6626a76d64
chinhli
Sat Apr 28 16:45:11 2012 -0700
Mail http link out.
diff --git src/hg/hgLogin/hgLogin.c src/hg/hgLogin/hgLogin.c
index c706c62..fc82f7c 100644
--- src/hg/hgLogin/hgLogin.c
+++ src/hg/hgLogin/hgLogin.c
@@ -29,62 +29,81 @@
char *excludeVars[] = { "submit", "Submit", "debug", "fixMembers", "update",
"hgLogin_password", "hgLogin_password2", "hgLogin_newPassword1",
"hgLogin_newPassword2", NULL };
/* The excludeVars are not saved to the cart. (We also exclude
* any variables that start "near.do.") */
/* ---- Global variables. ---- */
struct cart *cart; /* This holds cgi and other variables between clicks. */
char *database; /* Name of genome database - hg15, mm3, or the like. */
struct hash *oldCart; /* Old cart hash. */
char *errMsg; /* Error message to show user when form data rejected */
/* -------- utilities functions --- */
-void sendMail()
+void sendMail(char *email, char *subject, char *msg)
{
char cmd[256];
-char email[256]="chinhli@soe.ucsc.edu";
-char msg[256]="UCSC";
safef(cmd,sizeof(cmd),
-"echo 'Hello from your favoriate browser at: %s' | mail -s \"Greeting form UCSC Genome Browser\" %s"
-, msg, email);
+// "echo 'Hello from your favoriate browser at: %s %s ' | mail -s \"Greeting form UCSC Genome Browser\" %s"
+// , msg, httpLink, email);
+//"echo '%s' | mail -s \"Greeting from uCSC\" %s"
+"echo '%s' | mail -s \"%s\" %s" , msg, subject, email);
int result = system(cmd);
if (result == -1)
{
hPrintf(
"
GSID HIV Data Browser
"
""
"
"
"Error emailing password to: %s
"
"Click here to return.
"
, email
);
}
else
{
hPrintf(
"GSID HIV Data Browser
"
""
"
"
"Password has been emailed to: %s
"
"Click here to return.
"
, email
);
}
+}
+
+
+
+void activateAccount(struct sqlConnection *conn)
+/* activate user 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);
+ errMsg = cloneString(query);
+ displayLoginPage(conn);
+ return;
+ }
}
/* -------- password functions ---- */
void cryptWikiWay(char *password, char *salt, char* result)
// encrypt password as mediawiki does: ':B:'.$salt.':'. md5($salt.'-'.md5($password )
{
int i;
unsigned char result1[MD5_DIGEST_LENGTH];
unsigned char result2[MD5_DIGEST_LENGTH];
char firstMD5[MD5_DIGEST_LENGTH*2 + 1];
char secondMD5[MD5_DIGEST_LENGTH*2 + 1];
i = MD5_DIGEST_LENGTH;
// /*DEBUG*/ printf("MD5_DIGEST_LENGT is -- %d\n",i);
MD5((unsigned char *) password, strlen(password), result1);
// output
@@ -778,31 +797,38 @@
char **row;
char query[256];
char *email = cartUsualString(cart, "hgLogin_email", "");
if (sameString(email,""))
{
freez(&errMsg);
errMsg = cloneString("Email address cannot be blank.");
displayAccHelpPage(conn);
return;
}
/* TODO: validate the email address is in right format */
/* Username selcted? */
char *helpWith = cartUsualString(cart, "helpWith", "");
if (sameString(helpWith,"username"))
{
- sendMail();
+char subject[256];
+char email[256]="chinhli@soe.ucsc.edu";
+char msg[256];
+char httpLink[256]="Visit http://www.genome.ucsc.edu ";
+safef(subject, sizeof(subject),"Greeting form UCSC about %s", email);
+safecpy(msg, sizeof(msg), "Hello from your favoriate browser at UCSC. ");
+safecat (msg, sizeof(msg), httpLink);
+ sendMail(email, subject, msg);
freez(&errMsg);
errMsg = cloneString("Forgot user name selected!");
displayAccHelpPage(conn);
return;
}
if (sameString(helpWith,"password"))
{
freez(&errMsg);
errMsg = cloneString("Forgot password selected!");
displayAccHelpPage(conn);
return;
}
displayAccHelpPage(conn);
return;
}
@@ -1136,30 +1162,32 @@
********************************************************************/
else if (cartVarExists(cart, "hgLogin.do.lostPasswordPage"))
lostPasswordPage(conn);
else if (cartVarExists(cart, "hgLogin.do.lostPassword"))
lostPassword(conn);
else if (cartVarExists(cart, "hgLogin.do.changePasswordPage"))
changePasswordPage(conn);
else if (cartVarExists(cart, "hgLogin.do.changePassword"))
changePassword(conn);
else if (cartVarExists(cart, "hgLogin.do.displayUserInfo"))
displayUserInfo(conn);
else if (cartVarExists(cart, "hgLogin.do.displayAccHelpPage"))
displayAccHelpPage(conn);
else if (cartVarExists(cart, "hgLogin.do.accountHelp"))
accountHelp(conn);
+else if (cartVarExists(cart, "hgLogin.do.activateAccount"))
+ accountHelp(conn);
else if (cartVarExists(cart, "hgLogin.do.displayLoginPage"))
displayLoginPage(conn);
else if (cartVarExists(cart, "hgLogin.do.displayLogin"))
displayLogin(conn);
else if (cartVarExists(cart, "hgLogin.do.displayLogout"))
displayLogoutSuccess();
else if (cartVarExists(cart, "hgLogin.do.signup"))
signup(conn);
else
signupPage(conn);
hDisconnectCentral(&conn);
cartRemovePrefix(cart, "hgLogin.do.");