src/hg/instinct/hgBamBam/hgBamBam.c 1.5
1.5 2010/05/31 22:07:03 jsanborn
added sharing
Index: src/hg/instinct/hgBamBam/hgBamBam.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/instinct/hgBamBam/hgBamBam.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -b -B -U 4 -r1.4 -r1.5
--- src/hg/instinct/hgBamBam/hgBamBam.c 31 May 2010 00:02:34 -0000 1.4
+++ src/hg/instinct/hgBamBam/hgBamBam.c 31 May 2010 22:07:03 -0000 1.5
@@ -405,8 +405,41 @@
hFreeConn(&conn);
}
+void share()
+{
+char *emailTo = cartUsualString(cart, bbEmailTo, NULL);
+char *emailFrom = cartUsualString(cart, bbEmailFrom, NULL);
+char *link = cartUsualString(cart, bbLink, NULL);
+
+struct json *js = newJson();
+
+if (!emailTo || !emailFrom || !link)
+ jsonAddString(js, "response", "All fields must be filled.");
+else
+ {
+ char cmd[1024];
+ safef(cmd, sizeof(cmd),
+ "echo 'User %s wanted you to check out:\n\n%s\n\nThank you!' | mail -s \"UCSC BamBam Browser link\" -c %s %s",
+ emailFrom, link, emailFrom, emailTo);
+
+ int result = system(cmd);
+ if (result == -1)
+ jsonAddString(js, "response", "Error sending email.");
+ else
+ {
+ char response[256];
+ safef(response, sizeof(response), "Email sent to %s", emailTo);
+ jsonAddString(js, "response", response);
+ }
+ }
+
+if (js)
+ hPrintf("%s\n", js->print(js));
+}
+
+
void dispatchRoutines()
/* Look at command variables in cart and figure out which
* page to draw. */
{
@@ -416,8 +449,10 @@
errAbort("%s is required.", bbMode);
if (sameString(mode, "draw"))
draw();
+else if (sameString(mode, "share"))
+ share();
else
errAbort("Incorrect mode = %s", mode);
cartRemovePrefix(cart, bbPrefix);