3846f517009c43abc65d227a4695645c9b5f3e8a
braney
Fri Feb 15 18:31:21 2013 -0800
changes necessary to support assembly hubs (#8072)
diff --git src/hg/hgGateway/hgGateway.c src/hg/hgGateway/hgGateway.c
index ad767e5..97f4513 100644
--- src/hg/hgGateway/hgGateway.c
+++ src/hg/hgGateway/hgGateway.c
@@ -23,31 +23,33 @@
struct cart *cart = NULL;
struct hash *oldVars = NULL;
char *clade = NULL;
char *organism = NULL;
char *db = NULL;
void hgGateway()
/* hgGateway - Human Genome Browser Gateway. */
{
char *defaultPosition = hDefaultPos(db);
char *position = cloneString(cartUsualString(cart, "position", defaultPosition));
boolean gotClade = hGotClade();
char *survey = cfgOptionEnv("HGDB_SURVEY", "survey");
char *surveyLabel = cfgOptionEnv("HGDB_SURVEY_LABEL", "surveyLabel");
-boolean supportsSuggest = assemblySupportsGeneSuggest(db);
+boolean supportsSuggest = FALSE;
+if (!trackHubDatabase(db))
+ supportsSuggest = assemblySupportsGeneSuggest(db);
/* JavaScript to copy input data on the change genome button to a hidden form
This was done in order to be able to flexibly arrange the UI HTML
*/
char *onChangeDB = "onchange=\"document.orgForm.db.value = document.mainForm.db.options[document.mainForm.db.selectedIndex].value; document.orgForm.submit();\"";
char *onChangeOrg = "onchange=\"document.orgForm.org.value = document.mainForm.org.options[document.mainForm.org.selectedIndex].value; document.orgForm.db.value = 0; document.orgForm.submit();\"";
char *onChangeClade = "onchange=\"document.orgForm.clade.value = document.mainForm.clade.options[document.mainForm.clade.selectedIndex].value; document.orgForm.org.value = 0; document.orgForm.db.value = 0; document.orgForm.submit();\"";
/*
If we are changing databases via explicit cgi request,
then remove custom track data which will
be irrelevant in this new database .
If databases were changed then use the new default position too.
*/
@@ -256,31 +258,31 @@
cartWebStart(theCart, db, "GSID %s Sequence View (UCSC Genome Browser) Gateway \n", organism);
else
{
char buffer[128];
/* tell html routines *not* to escape htmlOut strings*/
htmlNoEscape();
buffer[0] = 0;
if (*scientificName != 0)
{
if (sameString(clade,"ancestor"))
safef(buffer, sizeof(buffer), "(%s Ancestor) ", scientificName);
else
safef(buffer, sizeof(buffer), "(%s) ", scientificName);
}
- cartWebStart(theCart, db, "%s %s%s Gateway\n", organism, buffer, hBrowserName());
+ cartWebStart(theCart, db, "%s %s%s Gateway\n", trackHubRemoveHubName(organism), buffer, hBrowserName());
htmlDoEscape();
}
hgGateway();
cartWebEnd();
}
static void checkForGeoMirrorRedirect()
{
// Implement Geo/IP based redirection
//
// NOTE that we want to redirect people as quickly as possible, so for efficiency purposes, this code is designed to be
// called from main BEFORE the cart is loaded (so we only use CGI parameters and/or cookies).
char *thisNodeStr = geoMirrorNode();
if (thisNodeStr)
@@ -330,22 +332,24 @@
}
hDisconnectCentral(¢ralConn);
}
}
}
char *excludeVars[] = {NULL};
int main(int argc, char *argv[])
/* Process command line. */
{
long enteredMainTime = clock1000();
oldVars = hashNew(10);
cgiSpoof(&argc, argv);
+setUdcCacheDir();
+
if(cgiIsOnWeb())
checkForGeoMirrorRedirect();
cartEmptyShell(doMiddle, hUserCookie(), excludeVars, oldVars);
cgiExitTime("hgGateway", enteredMainTime);
return 0;
}