2597a947e5bc0d6b01705cf92077f7b0d5e12bc9
angie
  Thu Apr 30 23:34:39 2015 -0700
Add hgIntegrator to menuBar on hgwdev*, genome-test and genome-preview if it
has been built into the current cgi-bin-*.  Add hgIntegrator to top-level build.
refs #14579

diff --git src/hg/lib/web.c src/hg/lib/web.c
index ac0b0d1..a807c7e 100644
--- src/hg/lib/web.c
+++ src/hg/lib/web.c
@@ -1305,30 +1305,39 @@
          endsWith(scriptName, "hgGene")))
         {
         struct trackDb *tdb = hTrackDbForTrack(db, track);
         if (tdb)
 	    {
 	    struct trackDb *topLevel = trackDbTopLevelSelfOrParent(tdb); 
 	    safef(hgTablesOptions, sizeof  hgTablesOptions, 
 		    "../cgi-bin/hgTables?hgta_doMainPage=1&hgta_group=%s&hgta_track=%s&hgta_table=%s&", 
 		    topLevel->grp, topLevel->track, tdb->table);
 	    menuStr = replaceChars(menuStr, "../cgi-bin/hgTables?", hgTablesOptions);
 	    trackDbFree(&tdb);
 	    }
         }
     }
 
+// Show Data Integrator link on non-public sites.
+if ((hIsPrivateHost() || hIsPreviewHost()) && fileExists("hgIntegrator"))
+    {
+    char hgIntegratorItem[1024];
+    safef(hgIntegratorItem, sizeof(hgIntegratorItem),
+          "<li><a href=\"../cgi-bin/hgIntegrator?%s\">Data Integrator</a></li>", uiVars);
+    menuStr = replaceChars(menuStr, "<!-- DATA_INTEGRATOR -->", hgIntegratorItem);
+    }
+
 if(!loginSystemEnabled())
     stripRegEx(menuStr, "<\\!-- LOGIN_START -->.*<\\!-- LOGIN_END -->", REG_ICASE);
 
 if(scriptName)
     {  // Provide optional official mirror servers menu items
     char *geoMenu = geoMirrorMenu();
     char *pattern = "<!-- OPTIONAL_MIRROR_MENU -->";
     char *newMenuStr = replaceChars(menuStr, pattern, geoMenu);
     freez(&menuStr);
     menuStr = newMenuStr;
     }
 
 
 if(scriptName)
     {