c7211155cab4ec213239cf6979ee4b63a1d96374
max
  Tue Aug 11 03:07:18 2015 -0700
adding email display during redirect, GET urls, adding onlyDbs/notDbs tags to support hg38, refs #15113.

diff --git src/hg/hgTracks/menu.c src/hg/hgTracks/menu.c
index f5428d6..058d0f4 100644
--- src/hg/hgTracks/menu.c
+++ src/hg/hgTracks/menu.c
@@ -179,43 +179,45 @@
 slFreeList(links);
 }
 
 static void addSendToMenuItems(struct dyString *viewMenu, char* uiVars)
 /* add the "send to" menu to the "viewMenu" dyString */
 {
 struct hotLink *viewLinks = NULL;
 
 char url[4096];
 char label[4096];
 
 struct extTool *extTools = readExtToolRa("extTools.ra");
 struct extTool *et;
 for(et = extTools; et != NULL; et = et->next)
     {
+
     if (et->dbs!=NULL)
         {
         if (!slNameInList(et->dbs, database))
             continue;
         }
-    if (et->params==NULL)
+    if (et->notDbs!=NULL)
         {
-        char *replUrl = replaceInUrl(et->url, "", cart, database, chromName, winStart, winEnd, NULL, TRUE);
-        safef(url, sizeof(url), "%s", replUrl);
-        //safef(url, sizeof(url), "%s %s", chromName, database);
+        if (slNameInList(et->notDbs, database))
+            continue;
         }
-    else
+
+
     safef(url, sizeof(url), "hgTracks?%s&hgt.redirectTool=%s", uiVars, et->tool);
+
     boolean inactive = FALSE;
     if (et->maxSize!=0)
         {
         inactive = TRUE;
         if (et->maxSize>1000)
             safef(label, sizeof(label), "%s (< %d kbp)", et->shortLabel, et->maxSize/1000);
         else
             safef(label, sizeof(label), "%s (< %d bp)", et->shortLabel, et->maxSize);
         }
     else
         safef(label, sizeof(label), "%s", et->shortLabel);
         
     appendLinkMaybeInactive(&viewLinks, url, label, "extTool", TRUE, inactive);
     }