ca9faceb4bea8c732c739d9ae3499cb6e14014e1 kate Thu May 9 11:10:06 2019 -0700 Limit top links for Downloads and Contacts to ENCODE production phase tracks (not required for ENCODE 3 tracks). refs #23243 diff --git src/hg/lib/hui.c src/hg/lib/hui.c index 71f92cd..7995b47 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -68,50 +68,53 @@ printf(DEF_BUTTON,(anc),"defaults_sm.png","default"); \ safef(id, sizeof id, "btn_%s", (anc)); \ jsOnEventByIdF("click", id, DEF_BUTTON_JS,(nameOrId),(beg),(contains),(nameOrId),(beg),(contains)); #define PM_BUTTON "\"%s\"\n" #define PM_BUTTON_JS "setCheckBoxesThatContain('%s',%s,true,'%s','','%s');" #define PLUS_BUTTON(nameOrId,anc,beg,contains) \ printf(PM_BUTTON, (anc), "add_sm.gif", "+"); \ safef(id, sizeof id, "btn_%s", (anc)); \ jsOnEventByIdF("click", id, PM_BUTTON_JS, (nameOrId),"true", (beg),(contains)); #define MINUS_BUTTON(nameOrId,anc,beg,contains) \ printf(PM_BUTTON, (anc), "remove_sm.gif", "-"); \ safef(id, sizeof id, "btn_%s", (anc)); \ jsOnEventByIdF("click", id, PM_BUTTON_JS, (nameOrId),"false", (beg),(contains)); -boolean isEncode2(char *database) -// Return true for ENCODE2 assemblies +boolean isEncode2(char *database, char *track) +/* Return true for tracks created by UCSC DCC during ENCODE production phase */ { -return (sameString(database, "hg18") || sameString(database, "hg19") || sameString(database, "mm9")); +if (startsWith("wgEncode", track)) + return (sameString(database, "hg18") || sameString(database, "hg19") || + sameString(database, "mm9")); +return FALSE; } static char *htmlStringForDownloadsLink(char *database, struct trackDb *tdb, char *name,boolean nameIsFile) // Returns an HTML string for a downloads link { // If has fileSortOrder, then link to new hgFileUi if (!nameIsFile && trackDbSetting(tdb, FILE_SORT_ORDER) != NULL) { char * link = needMem(PATH_LEN); // 512 should be enough safef(link,PATH_LEN,"%s", hgFileUiName(),database, /*cartSessionVarName(),cartSessionId(cart),*/ tdb->track, name); // Note the hgsid would be needed if downloads page ever saved fileSortOrder to cart. return link; } -else if (trackDbSetting(tdb, "wgEncode") != NULL && isEncode2(database)) // Downloads directory if this is ENCODE +else if (trackDbSetting(tdb, "wgEncode") != NULL && isEncode2(database, tdb->track)) // Downloads directory if this is ENCODE { const char *compositeDir = metadataFindValue(tdb, MDB_OBJ_TYPE_COMPOSITE); if (compositeDir == NULL && tdbIsComposite(tdb)) compositeDir = tdb->track; if (compositeDir != NULL) { struct dyString *dyLink = dyStringCreate("%s", hDownloadsServer(), database, ENCODE_DCC_DOWNLOADS, compositeDir, (nameIsFile?name:""), nameIsFile?"file":"files",name); return dyStringCannibalize(&dyLink); } } return NULL;