706c8c2b49fcbd941c9da43c1b8a950c0c33f5ba
galt
Mon Feb 10 23:54:13 2014 -0800
now converting hgsid and hguid to strings. when the hgsid cart var or hguid cookie is not found it returns NULL instead of 0.
diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index fd48b94..b9b40cc 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -387,33 +387,33 @@
!cartUsualBooleanDb(cart, database, COMPLEMENT_BASES_VAR, FALSE));
hPrintf("&%s\"", ui->string);
freeDyString(&ui);
if (message != NULL)
mapStatusMessage("%s", message);
hPrintf(">\n");
}
}
char *trackUrl(char *mapName, char *chromName)
/* Return hgTrackUi url; chromName is optional. */
{
char *encodedMapName = cgiEncode(mapName);
char buf[2048];
if(chromName == NULL)
- safef(buf, sizeof(buf), "%s?%s=%u&g=%s", hgTrackUiName(), cartSessionVarName(), cartSessionId(cart), encodedMapName);
+ safef(buf, sizeof(buf), "%s?%s=%s&g=%s", hgTrackUiName(), cartSessionVarName(), cartSessionId(cart), encodedMapName);
else
- safef(buf, sizeof(buf), "%s?%s=%u&c=%s&g=%s", hgTrackUiName(), cartSessionVarName(), cartSessionId(cart), chromName, encodedMapName);
+ safef(buf, sizeof(buf), "%s?%s=%s&c=%s&g=%s", hgTrackUiName(), cartSessionVarName(), cartSessionId(cart), chromName, encodedMapName);
freeMem(encodedMapName);
return(cloneString(buf));
}
#ifdef REMOTE_TRACK_AJAX_CALLBACK
static boolean trackUsesRemoteData(struct track *track)
/* returns TRUE is this track has a remote datasource */
{
if (!IS_KNOWN(track->remoteDataSource))
{
SET_TO_NO(track->remoteDataSource);
//if (track->bbiFile != NULL) // FIXME: Chicken or the egg. bigWig/bigBed "bbiFile" filled
// // in by loadItems, but we don't want to load items.
// {
// if (!startsWith("/gbdb/",track->bbiFile->fileName))
@@ -5389,31 +5389,31 @@
struct slName *chromPtr = NULL;
long long total = 0;
if (sameString(sortType,"default"))
slSort(&chromList, chrSlNameCmp);
else if (sameString(sortType,"withAltRandom"))
slSort(&chromList, chrSlNameCmpWithAltRandom);
else
errAbort("unknown sort type in chromInfoRowsChromExt: %s", sortType);
for (chromPtr = chromList; chromPtr != NULL; chromPtr = chromPtr->next)
{
unsigned size = hChromSize(database, chromPtr->name);
cgiSimpleTableRowStart();
cgiSimpleTableFieldStart();
- printf("%s",
+ printf("%s",
hgTracksName(), cartSessionVarName(), cartSessionId(cart),
chromPtr->name, chromPtr->name);
cgiTableFieldEnd();
cgiTableFieldStartAlignRight();
printLongWithCommas(stdout, size);
puts(" ");
cgiTableFieldEnd();
cgiTableRowEnd();
total += size;
}
chromInfoTotalRow(slCount(chromList), total);
slFreeList(&chromList);
}
void chromInfoRowsChrom()
@@ -5438,31 +5438,31 @@
struct chromInfo *chromInfo = trackHubAllChromInfo(database);
slSort(&chromInfo, chromInfoCmpSize);
int seqCount = slCount(chromInfo);
long long total = 0;
char msg1[512], msg2[512];
boolean truncating;
int count = limit;
truncating = (limit > 0) && (seqCount > limit);
for(;count-- && (chromInfo != NULL); chromInfo = chromInfo->next)
{
unsigned size = chromInfo->size;
cgiSimpleTableRowStart();
cgiSimpleTableFieldStart();
- printf("%s",
+ printf("%s",
hgTracksName(), cartSessionVarName(), cartSessionId(cart),
chromInfo->chrom,chromInfo->chrom);
cgiTableFieldEnd();
cgiTableFieldStartAlignRight();
printLongWithCommas(stdout, size);
puts(" ");
cgiTableFieldEnd();
cgiTableRowEnd();
total += size;
}
if (!truncating)
{
chromInfoTotalRow(seqCount, total);
}
else
@@ -5528,31 +5528,31 @@
{
sr = sqlGetResult(conn, "NOSQLINJ select chrom,size from chromInfo order by size desc");
}
else
{
sqlSafef(query, sizeof(query), "select chrom,size from chromInfo order by size desc limit %d", limit);
sr = sqlGetResult(conn, query);
}
while ((row = sqlNextRow(sr)) != NULL)
{
unsigned size = sqlUnsigned(row[1]);
cgiSimpleTableRowStart();
cgiSimpleTableFieldStart();
- printf("%s",
+ printf("%s",
hgTracksName(), cartSessionVarName(), cartSessionId(cart),
row[0], row[0]);
cgiTableFieldEnd();
cgiTableFieldStartAlignRight();
printLongWithCommas(stdout, size);
puts(" ");
cgiTableFieldEnd();
cgiTableRowEnd();
total += size;
}
if (!truncating)
{
chromInfoTotalRow(seqCount, total);
}
else
@@ -5646,33 +5646,32 @@
hTableEnd();
cgiDown(0.9);
hgPositionsHelpHtml(organism, database);
puts("");
dyStringFree(&title);
webEndSectionTables();
}
void resetVars()
/* Reset vars except for position and database. */
{
static char *except[] = {"db", "position", NULL};
char *cookieName = hUserCookie();
-int sessionId = cgiUsualInt(cartSessionVarName(), 0);
-char *hguidString = findCookieData(cookieName);
-int userId = (hguidString == NULL ? 0 : atoi(hguidString));
+char *sessionId = cgiOptionalString(cartSessionVarName());
+char *userId = findCookieData(cookieName);
struct cart *oldCart = cartNew(userId, sessionId, NULL, NULL);
cartRemoveExcept(oldCart, except);
cartCheckout(&oldCart);
cgiVarExcludeExcept(except);
}
static void addDataHubs(struct cart *cart)
{
hubCheckForNew(cart);
cartSetString(cart, hgHubConnectRemakeTrackHub, "on");
}
void doMiddle(struct cart *theCart)
/* Print the body of an html file. */
{