48fb236e9a07a49585fd1ed15f4aaff24dbcf8a2
max
  Thu Oct 26 13:15:57 2017 -0700
fixing dataVersion for hgTrackUi by libifying printDataVersion and
expanding it to cover all possible track data version places that have
accumulated over time. refs #20419

diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c
index 20ca655..ad96d13 100644
--- src/hg/hgTrackUi/hgTrackUi.c
+++ src/hg/hgTrackUi/hgTrackUi.c
@@ -2776,33 +2776,33 @@
         printf("<A HREF='%s?%s=%s&c=%s&g=%s' id='%s'>%s</A>&nbsp;", 
                     tdbIsDownloadsOnly(tdb) ? hgFileUiName(): hTrackUiForTrack(tdb->track),
                     cartSessionVarName(), cartSessionId(cart), chromosome, cgiEncode(tdb->track), 
                     id, tdb->shortLabel);
 	jsOnEventById("click", id, "superT.submitAndLink(this);");
         }
     else
         {
         printf("<A HREF='%s?%s=%s&g=%s'>Downloads</A>",
                hgFileUiName(),cartSessionVarName(), cartSessionId(cart), cgiEncode(tdb->track));
         printf("</TD>\n<TD>");
         printf("%s&nbsp;",tdb->shortLabel);
         }
     printf("</TD>\n");
     printf("<TD>%s", tdb->longLabel);
-    char *dataVersion = trackDbSetting(tdb, "dataVersion");
-    if (dataVersion)
-        printf("&nbsp&nbsp;<EM style='color:#666666; font-size:smaller;'>%s</EM>", dataVersion);
+
+    printDataVersion(database, tdb);
+    //printf("&nbsp&nbsp;<EM style='color:#666666; font-size:smaller;'>%s</EM>", dataVersion);
     printf("</TD></TR>");
     }
 printf("</TABLE>");
 }
 
 #ifdef USE_HAL
 static void cfgHalSnake(struct trackDb *tdb, char *name)
 {
 boolean parentLevel = isNameAtParentLevel(tdb, name);
 if (parentLevel)
     return;
 char *fileName = trackDbSetting(tdb, "bigDataUrl");
 char *errString;
 int handle = halOpenLOD(fileName, &errString);
 struct hal_species_t *speciesList, *sp;
@@ -3353,39 +3353,33 @@
     printf("<FORM ACTION='%s' NAME='customTrackForm'>", hgCustomName());
     cartSaveSession(cart);
     cgiMakeHiddenVar(CT_SELECTED_TABLE_VAR, tdb->track);
     puts("</FORM>\n");
     if (ct->bbiFile)
 	{
 	time_t timep = bbiUpdateTime(ct->bbiFile);
 	printBbiUpdateTime(&timep);
 	}
     else
         printUpdateTime(CUSTOM_TRASH, ct->tdb, ct);
     }
 
 if (!ct)
     {
-    /* Print data version trackDB setting, if any */
-    struct trackVersion *trackVersion = getTrackVersion(database, tdb->track);
-    char *version = trackVersion == NULL ? trackDbSetting(tdb, "dataVersion")
-                                         : trackVersion->version;
-    if (version)
-        {
+    /* Print data version setting, if any */
     cgiDown(0.7);
-        printf("<B>Data version:</B> %s <BR>\n", version);
-        }
+    printDataVersion(database, tdb);
 
     /* Print lift information from trackDb, if any */
     trackDbPrintOrigAssembly(tdb, database);
 
     printUpdateTime(database, tdb, NULL);
     }
 
 if (tdb->html != NULL && tdb->html[0] != 0)
     {
     char *browserVersion;
     if (btIE == cgiClientBrowser(&browserVersion, NULL, NULL) && *browserVersion < '8')
         htmlHorizontalLine();
     else // Move line down, since <H2>Description (in ->html) is proceded by too much space
         printf("<HR ALIGN='bottom' style='position:relative; top:1em;'>");