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" );