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( 
     "<h2>GSID HIV Data Browser</h2>"
     "<p align=\"left\">"
     "</p>"
     "<h3>Error emailing password to: %s</h3>"
     "Click <a href=hgLogin?hgLogin.do.signupPage=1>here</a> to return.<br>"
     , email
     );
     }
 else
     {
     hPrintf(
     "<h2>GSID HIV Data Browser</h2>"
     "<p align=\"left\">"
     "</p>"
     "<h3>Password has been emailed to: %s</h3>"
     "Click <a href=hgLogin?hgLogin.do.signupPage=1>here</a> to return.<br>"
     , 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.");