5f8bc82be821519c5e8e171749918d99c617b1c8 galt Wed Sep 20 17:15:25 2023 -0700 hgc - Making links work better to support http or https. refs #32257 diff --git src/hg/hgc/wikiTrack.c src/hg/hgc/wikiTrack.c index 0c78eca..5f23375 100644 --- src/hg/hgc/wikiTrack.c +++ src/hg/hgc/wikiTrack.c @@ -35,59 +35,59 @@ hPrintf("<OPTION value = \"#0000ff\" style=\"background-color:#0000ff;\" >blue</OPTION>\n"); hPrintf("<OPTION VALUE = \"#9600c8\" style=\"background-color:#9600c8;\" >purple</OPTION>\n"); hPrintf("<OPTION VALUE = \"#ff0000\" style=\"background-color:#ff0000;\" >red</OPTION>\n"); hPrintf("<OPTION VALUE = \"#e67800\" style=\"background-color:#e67800;\" >orange</OPTION>\n"); hPrintf("<OPTION VALUE = \"#dcdc00\" style=\"background-color:#dcdc00;\" >yellow</OPTION>\n"); hPrintf("<OPTION VALUE = \"#00b400\" style=\"background-color:#00b400;\" >green</OPTION>\n"); hPrintf("<OPTION VALUE = \"#8c8c8c\" style=\"background-color:#8c8c8c;\" >gray</OPTION>\n"); hPrintf("</SELECT>\n"); } static char *encodedHgcReturnUrl(int id, char *table) /* Return a CGI-encoded hgc URL with hgsid and given id. Free when done. */ { char retBuf[1024]; int o = cartUsualInt(cart, "o", winStart); -safef(retBuf, sizeof(retBuf), "http://%s/cgi-bin/hgc?%s&g=%s&c=%s&o=%d&l=%d&r=%d&db=%s&i=%d", - cgiServerNamePort(), cartSidUrlString(cart), table, seqName, +safef(retBuf, sizeof(retBuf), "http%s://%s/cgi-bin/hgc?%s&g=%s&c=%s&o=%d&l=%d&r=%d&db=%s&i=%d", + cgiAppendSForHttps(), cgiServerNamePort(), cartSidUrlString(cart), table, seqName, o, winStart, winEnd, database, id); return cgiEncode(retBuf); } static char *wikiTrackUserLoginUrl(int id, char *table) /* Return the URL for the wiki user login page. */ { char *retEnc = encodedHgcReturnUrl(id, table); char buf[2048]; if (! wikiLinkEnabled()) errAbort("wikiLinkUserLoginUrl called when wiki is not enabled (specified " "in hg.conf)."); safef(buf, sizeof(buf), "%s/index.php?title=Special:UserloginUCSC&returnto=%s", cfgOptionDefault(CFG_WIKI_URL, NULL), retEnc); freez(&retEnc); return(cloneString(buf)); } void offerLogin(int id, char *loginType, char *table) /* display login prompts to the wiki when user isn't already logged in */ { char *wikiHost = wikiLinkHost(); char *loginUrl = wikiTrackUserLoginUrl(id, table); printf("<P>Please login to %s the annotation track.</P>\n", loginType); printf("<P>The login page is handled by our " - "<A HREF=\"http://%s/\" TARGET=_BLANK>wiki system</A>:\n", wikiHost); + "<A HREF=\"http%s://%s/\" TARGET=_BLANK>wiki system</A>:\n", cgiAppendSForHttps(), wikiHost); printf("<A HREF=\"%s\"><B>click here to login.</B></A><BR>\n", loginUrl); printf("The wiki also serves as a forum for users " "to share knowledge and ideas.\n</P>\n"); freeMem(loginUrl); freeMem(wikiHost); webIncludeHelpFile("wikiTrackAddCommentHelp", TRUE); webIncludeHelpFile("wikiTrack", TRUE); } static void startForm(char *name, char *actionType) { hPrintf("<FORM ID=\"%s\" NAME=\"%s\" ACTION=\"%s\">\n\n", name, name, hgcName()); cartSaveSession(cart); cgiMakeHiddenVar("g", actionType); cgiContinueHiddenVar("c");