96d25b48e01e82bd98d2ae9ca7359a7f139441f9
chinhli
  Sat May 5 09:42:40 2012 -0700
Honored the returnto request.
diff --git src/hg/hgLogin/hgLogin.c src/hg/hgLogin/hgLogin.c
index a63ae37..3f99bea 100644
--- src/hg/hgLogin/hgLogin.c
+++ src/hg/hgLogin/hgLogin.c
@@ -28,30 +28,64 @@
 
 
 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 returnToURL(int nSec)
+/* delay for N micro seconds then go back to hgSession page */
+{
+char *returnURL = cartUsualString(cart, "returnto", "");
+char *hgLoginHost = wikiLinkHost();
+char returnTo[512];
+
+if (!returnURL || sameString(returnURL,""))
+   safef(returnTo, sizeof(returnTo),
+      "http://%s/cgi-bin/hgSession?hgS_doMainPage=1", hgLoginHost);
+else
+   safef(returnTo, sizeof(returnTo), returnURL);
+
+int delay=nSec*1000;
+hPrintf(
+"<script  language=\"JavaScript\">\n"
+"<!-- "
+"\n"
+/* TODO: afterDelayBackTo("http....") */
+"window.setTimeout(afterDelay, %d);\n"
+"function afterDelay() {\n"
+"window.location =\"%s\";"
+"\n}"
+"\n"
+"//-->"
+"\n"
+"</script>"
+,delay
+,returnTo);
+}
+
+
+
+
 void  displayMailSuccess()
 /* display mail success confirmation box */
 {
 char *email = cartUsualString(cart, "hgLogin_email", "");
 char *obj=cartUsualString(cart, "hgLogin_helpWith", "");
 // safecpy(obj, sizeof(obj),object);
 hPrintf(
 "<div id=\"confirmationBox\" class=\"centeredContainer formBox\">"
 "\n"
 "<h2>UCSC Genome Browser</h2>"
 "<p id=\"confirmationMsg\" class=\"confirmationTxt\">An email has been sent to "
 " <span id=\"emailaddress\">%s</span> containing %s...</p>"
 "\n"
 "<p><a href=\"hgLogin?hgLogin.do.displayLoginPage=1\">Return to Login</a></p>"
 , email
@@ -1017,31 +1051,32 @@
 );
 /* Set cookies */
 /* TODO: use htmlSetCookie() to set cookies */
 hPrintf(
 "<script language=\"JavaScript\">"
 " document.write(\"Login successful, setting cookies now...\");"
 "</script>\n"
 
 "<script language=\"JavaScript\">"
 "document.cookie =  \"wikidb_mw1_UserName=%s; domain=ucsc.edu; expires=Thu, 31 Dec 2099, 20:47:11 UTC; path=/\"; "
 "\n"
 "document.cookie =  \"wikidb_mw1_UserID=%d; domain=ucsc.edu; expires=Thu, 31 Dec 2099, 20:47:11 UTC; path=/\";"
 " </script>"
 "\n",
 userName,userID);
-backToHgSession(2);
+//backToHgSession(2);
+returnToURL(20);
 }
 
 
 void  displayLogoutSuccess()
 /* display logout success msg, and reset cookie */
 {
 // char *hgLoginHost = wikiLinkHost();
 
 hPrintf(
 "<h2>UCSC Genome Browser Sign Out</h2>"
 "<p align=\"left\">"
 "</p>"
 "<span style='color:red;'></span>"
 "\n"
 );