abbe0860d25bde68b525bc41c7d191114cae431f
braney
  Tue Feb 21 14:34:35 2017 -0800
let people choose the name and description for their blat results custom
track

diff --git src/hg/hgBlat/hgBlat.c src/hg/hgBlat/hgBlat.c
index 58676cc..cf95df7 100644
--- src/hg/hgBlat/hgBlat.c
+++ src/hg/hgBlat/hgBlat.c
@@ -308,43 +308,53 @@
     printf("</PRE></TT>");
     }
 else
     {
     printf("<H2>BLAT Search Results</H2>");
     char* posStr = cartOptionalString(cart, "position");
     if (posStr != NULL)
         printf("<P>Go back to <A HREF=\"%s\">%s</A> on the Genome Browser.</P>\n", browserUrl, posStr);
 
     if (useBigPsl)
         {
         char *trackName = NULL;
         char *trackDescription = NULL;
         getCustomName(database, cart, pslList, &trackName, &trackDescription);
         psl = pslList;
-        printf("<A HREF=\"%s?o=%d&t=%d&trackName=%s&trackDescription=%s&g=buildBigPsl&i=%s+%s+%s&c=%s&l=%d&r=%d&db=%s&%s\">",       
-                hgcUrl, psl->tStart, psl->tEnd,cgiEncode(trackName), cgiEncode(trackDescription), pslName, cgiEncode(faName), psl->qName,  psl->tName,    
-                psl->tStart, psl->tEnd, database, uiState);
-
-        //printf( 
-        //"<FORM ACTION=\"../cgi-bin/hgc\" METHOD=\"GET\" NAME=\"mainForm\">\n");
-        printf("<P>Build a custom track with these results.  Track will be called %s </A>", trackDescription);
-        //printf("Description: %s\n", trackDescription);
-        //printf("<INPUT TYPE=SUBMIT NAME=Submit VALUE=\"Do It\">\n");
-        //printf("</FORM>");
-        }
-
-    printf("<DIV STYLE=\"display:block; float:left\"><TT><PRE>");
+        printf( "<DIV STYLE=\"display:block; float:left\"><TABLE><FORM ACTION=\"%s\"  METHOD=\"POST\" NAME=\"customTrackForm\">\n", hgcUrl);
+        printf("<INPUT TYPE=\"hidden\" name=\"o\" value=\"%d\" />\n",psl->tStart);
+        printf("<INPUT TYPE=\"hidden\" name=\"t\" value=\"%d\" />\n",psl->tEnd);
+        printf("<INPUT TYPE=\"hidden\" name=\"g\" value=\"%s\" />\n","buildBigPsl");
+        printf("<INPUT TYPE=\"hidden\" name=\"i\" value=\"%s %s %s\" />\n",pslName,faName,psl->qName);
+        printf("<INPUT TYPE=\"hidden\" name=\"c\" value=\"%s\" />\n",psl->tName);
+        printf("<INPUT TYPE=\"hidden\" name=\"l\" value=\"%d\" />\n",psl->tStart);
+        printf("<INPUT TYPE=\"hidden\" name=\"r\" value=\"%d\" />\n",psl->tEnd);
+        printf("<INPUT TYPE=\"hidden\" name=\"%s\" value=\"%s\" />\n",  cartSessionVarName(), cartSessionId(cart));
+
+        printf("Build a custom track with these results. ");
+        printf("<INPUT TYPE=SUBMIT NAME=Submit VALUE=\"Do It\">\n");
+        printf("<TABLE><TR>Custom track name:");
+        cgiMakeTextVar( "trackName", trackName, 30);
+        printf("</TD></TR>");
+
+        printf("<TR>Custom track description:");
+        cgiMakeTextVar( "trackDescription", trackDescription,50);
+        printf("</TD></TR></TABLE>");
+        printf("</FORM></TT></DIV>");
+        }
+
+    printf("<DIV STYLE=\"display:block; float:left\"><TABLE><PRE>");
     printf("   ACTIONS      QUERY           SCORE START  END QSIZE IDENTITY CHRO STRAND  START    END      SPAN\n");
     printf("---------------------------------------------------------------------------------------------------\n");
     for (psl = pslList; psl != NULL; psl = psl->next)
 	{
         if (customText)
             printf("<A HREF=\"%s?position=%s:%d-%d&db=%s&hgt.customText=%s&%s%s\">",
                 browserUrl, psl->tName, psl->tStart + 1, psl->tEnd, database, 
                 customText, uiState, unhideTrack);
         else
             printf("<A HREF=\"%s?position=%s:%d-%d&db=%s&ss=%s+%s&%s%s\">",
                 browserUrl, psl->tName, psl->tStart + 1, psl->tEnd, database, 
                 pslName, faName, uiState, unhideTrack);
 	printf("browser</A> ");
 	printf("<A HREF=\"%s?o=%d&g=htcUserAli&i=%s+%s+%s&c=%s&l=%d&r=%d&db=%s&%s\">", 
 	    hgcUrl, psl->tStart, pslName, cgiEncode(faName), psl->qName,  psl->tName,