1c1634ecde5730e83e599863eb4455d97cf80cd4 chmalee Wed Sep 25 09:45:03 2019 -0700 Fixing two bugs with hub searching, one where I forgot to htmlEncode a result and one where I was preventing single click expand of the results tree, refs #23812 diff --git src/hg/hgHubConnect/hgHubConnect.c src/hg/hgHubConnect/hgHubConnect.c index dc18737..6e87bfb 100644 --- src/hg/hgHubConnect/hgHubConnect.c +++ src/hg/hgHubConnect/hgHubConnect.c @@ -1183,31 +1183,31 @@ dyStringClear(tdbArrayDy); dyStringClear(idString); } void printHubOutputStructure(struct hubOutputStructure *hubOut, struct hubEntry *hubInfo) /* Convert a hubOutputStructure to a jstree-readable string */ { struct dyString *dy = dyStringNew(0); // The leading '#' tells the javascript this is a 'root' node dyStringPrintf(dy, "trackData['#_%d'] = [", hubInfo->id); if (isNotEmpty(dyStringContents(hubOut->descriptionMatch))) { dyStringPrintf(dy, "{'id':'%d_descriptionMatchText','parent':'#_%d'," "'state':{'opened': true},'text': 'Hub Description: " "<span class=\"descriptionMatch\"><em>%s</em></span>'},", - hubInfo->id, hubInfo->id, dyStringContents(hubOut->descriptionMatch)); + hubInfo->id, hubInfo->id, htmlEncode(dyStringContents(hubOut->descriptionMatch))); } struct genomeOutputStructure *genomeOut = hubOut->genomes; struct dyString *genomeDy = dyStringNew(0); if (genomeOut != NULL) { dyStringPrintf(dy, "{'id':'%d_assemblies', 'text':'%d Matching Assembl%s', 'parent':'#_%d', " "'children':true, 'li_attr': {'state':{'opened': 'false'}}}];\n", hubInfo->id, hubOut->genomeCount, hubOut->genomeCount == 1 ? "y" : "ies", hubInfo->id); dyStringPrintf(dy, "trackData['%d_assemblies'] = [", hubInfo->id); while (genomeOut != NULL) { char *assemblyName = htmlEncode(dyStringContents(genomeOut->shortLabel)); char genomeNameId[512]; safef(genomeNameId, sizeof(genomeNameId), "%d_%s", hubInfo->id, assemblyName);