377ada15ebf2514739f715bcbff18c72f84ecb33 chmalee Fri Sep 1 09:48:17 2023 -0700 Put the database into the web page title on hgc pages, refs #19985 diff --git src/hg/lib/web.c src/hg/lib/web.c index 6b0c372..bfc4e3b 100644 --- src/hg/lib/web.c +++ src/hg/lib/web.c @@ -122,30 +122,31 @@ /*printf("Content-Type: text/plain\n\n");*/ webHeadAlreadyOutputed = TRUE; webInTextMode = TRUE; webPushErrHandlers(); } static void webStartWrapperDetailedInternal(struct cart *theCart, char *db, char *headerText, char *textOutBuf, boolean withHttpHeader, boolean withLogo, boolean skipSectionHeader, boolean withHtmlHeader) /* output a CGI and HTML header with the given title in printf format */ { char uiState[256]; char *scriptName = cgiScriptName(); +char *textOutBufDb = cloneString(textOutBuf); boolean isEncode = FALSE; if (theCart) { char *theGenome = NULL; char *genomeEnc = NULL; getDbAndGenome(theCart, &db, &theGenome, NULL); genomeEnc = cgiEncode(theGenome); safef(uiState, sizeof(uiState), "?%s=%s&%s=%s&%s=%s", orgCgiName, genomeEnc, dbCgiName, db, cartSessionVarName(), cartSessionId(theCart)); } else @@ -164,55 +165,62 @@ scriptName = cloneString(""); /* don't output two headers */ if(webHeadAlreadyOutputed) return; if (sameString(cgiUsualString("action",""),"encodeReleaseLog") || rStringIn("EncodeDataVersions", scriptName)) isEncode = TRUE; /* Preamble. */ dnaUtilOpen(); if (withHttpHeader) puts("Content-type:text/html\n"); +// If the database name is not already in the title string, add it now +if (endsWith(scriptName, "hgc") && db != NULL && !stringIn(db, textOutBufDb)) + { + struct dyString *newTitle = dyStringNew(0); + dyStringPrintf(newTitle, "%s %s", db, textOutBufDb); + textOutBufDb = dyStringCannibalize(&newTitle); + } if (withHtmlHeader) { char *newString, *ptr1, *ptr2; char *browserVersion; if (btIE == cgiClientBrowser(&browserVersion, NULL, NULL) && *browserVersion < '8') puts(""); else puts(""); // Strict would be nice since it fixes atleast one IE problem (use of :hover CSS pseudoclass) puts( "" "\n" "
" "\n" ); generateCspMetaHeader(stdout); printf("\t%s\n", headerText); webPragmasEtc(); printf("\t