d66dce5cf7d97f98254f856374b157c9bd9c7687 chmalee Wed Nov 28 09:10:30 2018 -0800 hgSession prints out short links when an 'hgSession.shortLink' hg.conf variable is on, refs #8520 diff --git src/hg/hgSession/hgSession.c src/hg/hgSession/hgSession.c index e4770bf..dd0e00c 100644 --- src/hg/hgSession/hgSession.c +++ src/hg/hgSession/hgSession.c @@ -150,30 +150,35 @@ safef(returnAddress, sizeof(returnAddress), "%s?%s", hgSessionName(), session); printf("Click here to " "reset the browser user interface settings to their defaults.\n", session, cgiEncodeFull(returnAddress)); } void addSessionLink(struct dyString *dy, char *userName, char *sessionName, boolean encode) /* Add to dy an URL that tells hgSession to load a saved session. * If encode, cgiEncodeFull the URL. * The link is an absolute link that includes the server name so people can * copy-paste it into emails. */ { struct dyString *dyTmp = dyStringNew(1024); +if (cfgOptionBooleanDefault("hgSession.shortLink", FALSE) && + !stringIn("%2F", userName) && !stringIn("%2F", sessionName)) + dyStringPrintf(dyTmp, "http%s://%s/s/%s/%s", cgiAppendSForHttps(), cgiServerNamePort(), + userName, sessionName); +else dyStringPrintf(dyTmp, "%shgTracks?hgS_doOtherUser=submit&" "hgS_otherUserName=%s&hgS_otherUserSessionName=%s", hLocalHostCgiBinUrl(), userName, sessionName); if (encode) { dyStringPrintf(dy, "%s", cgiEncodeFull(dyTmp->string)); } else { dyStringPrintf(dy, "%s", dyTmp->string); } dyStringFree(&dyTmp); } char *getSessionLink(char *encUserName, char *encSessionName)