src/hg/instinct/webUserAdmin/webUserAdmin.c 1.14
1.14 2010/04/23 20:54:44 sbenz
Lots of changes, including header which needs to be customized per server
Index: src/hg/instinct/webUserAdmin/webUserAdmin.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/instinct/webUserAdmin/webUserAdmin.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -b -B -U 4 -r1.13 -r1.14
--- src/hg/instinct/webUserAdmin/webUserAdmin.c 8 Feb 2010 21:42:17 -0000 1.13
+++ src/hg/instinct/webUserAdmin/webUserAdmin.c 23 Apr 2010 20:54:44 -0000 1.14
@@ -395,8 +395,38 @@
hPrintf("</FORM>");
}
+
+void activateWebUserPage(struct sqlConnection *conn)
+/* activate a user page */
+{
+hPrintf(
+"<h2>%s</h2>"
+"<p align=\"left\">"
+"</p>"
+"<font color=red>%s</font>"
+"<h3>Activate a web user</h3>"
+"<form method=post action=\"webUserAdmin\" name=activateWebUserForm >"
+"<table>"
+"<tr><td>E-mail of the user to be activated: </td><td><input type=text name=webUser_email size=20 value=\"%s\"> "
+ "</td></tr>"
+"<tr><td>Admin Password</td><td><input type=password name=webUser_adminPassword value=\"\" size=10></td></tr>\n"
+"<tr><td> </td><td><input type=submit name=webUserAdmin.do.activateWebUser value=activate>"
+" <input type=submit name=webUserAdmin.do.signupPage value=cancel></td></tr>"
+"</table>"
+"<br>"
+, siteName
+, errMsg ? errMsg : ""
+, cartUsualString(cart, "webUser_email", "")
+);
+
+cartSaveSession(cart);
+
+hPrintf("</FORM>");
+}
+
+
void registerBatchWebUsers(struct sqlConnection *conn)
/* process activate web user form */
{
char query[256];
@@ -420,8 +450,16 @@
}
safef(query,sizeof(query), "select password from webUsers where email='%s'", adminEmail);
char *adminPassword = sqlQuickString(conn, query);
+if(!adminPassword)
+ {
+ freez(&errMsg);
+ errMsg = cloneString("Unable to find admin email in database.");
+ activateWebUserPage(conn);
+ return;
+ }
+
if (!checkPwd(adminPasswordEntered, adminPassword))
{
freez(&errMsg);
errMsg = cloneString("Wrong admin password.");
@@ -443,15 +481,15 @@
char encPwd[35] = "";
char *webUserEmail;
webUserEmail = line;
- safef(query,sizeof(query), "insert into webUsers set email='%s'", webUserEmail);
+ safef(query,sizeof(query), "insert ignore into webUsers set email='%s'", webUserEmail);
sqlGetResult(conn, query);
encryptNewPwd(password, encPwd, sizeof(encPwd));
safef(query,sizeof(query),
"update webUsers set password='%s', name='%s', activated='Y' where email='%s'",
- sqlEscapeString(encPwd), password, sqlEscapeString(webUserEmail));
+ sqlEscapeString(encPwd), sqlEscapeString(webUserEmail), sqlEscapeString(webUserEmail));
// !!! remove inserting password later by replacing the above 2 lines:
//"update webUsers set password='%s', activated='Y' where email='%s'",
//sqlEscapeString(encPwd), sqlEscapeString(webUserEmail));
@@ -483,36 +521,8 @@
}
return;
}
-void activateWebUserPage(struct sqlConnection *conn)
-/* activate a user page */
-{
-hPrintf(
-"<h2>%s</h2>"
-"<p align=\"left\">"
-"</p>"
-"<font color=red>%s</font>"
-"<h3>Activate a web user</h3>"
-"<form method=post action=\"webUserAdmin\" name=activateWebUserForm >"
-"<table>"
-"<tr><td>E-mail of the user to be activated: </td><td><input type=text name=webUser_email size=20 value=\"%s\"> "
- "</td></tr>"
-"<tr><td>Admin Password</td><td><input type=password name=webUser_adminPassword value=\"\" size=10></td></tr>\n"
-"<tr><td> </td><td><input type=submit name=webUserAdmin.do.activateWebUser value=activate>"
-" <input type=submit name=webUserAdmin.do.signupPage value=cancel></td></tr>"
-"</table>"
-"<br>"
-, siteName
-, errMsg ? errMsg : ""
-, cartUsualString(cart, "webUser_email", "")
-);
-
-cartSaveSession(cart);
-
-hPrintf("</FORM>");
-}
-
void activateWebUser(struct sqlConnection *conn)
/* process activate web user form */
{
char query[256];
@@ -953,9 +963,9 @@
*/
char encPwd[35] = "";
encryptNewPwd(password, encPwd, sizeof(encPwd));
-safef(query,sizeof(query), "insert into webUsers set "
+safef(query,sizeof(query), "insert ignore into webUsers set "
"email='%s',password='%s',activated='%s',name='%s',phone='%s',institution='%s'",
sqlEscapeString(email), sqlEscapeString(encPwd), "N", sqlEscapeString(name), sqlEscapeString(phone), sqlEscapeString(institution));
sqlUpdate(conn, query);
@@ -1119,8 +1129,39 @@
slFreeList(&list);
}
*/
+void createWebHeader()
+{
+hPrintf("<link type=\"text/css\" rel=\"stylesheet\" href=\"/style/HGStyle.css\">"
+"<style> body { background: white; } </style>"
+" <!-- Header Images and links --> "
+" <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=\"100%%\"> "
+" <TR> "
+" <TH COLSPAN=2 ALIGN=\"left\"> "
+" <a href=\"/\"><IMG SRC=\"/images/genome_cancer_su2c_logo.png\" ALT=\"SU2C Cancer Genomics Browser\" style=\"width: 700px;\"></a> "
+" </TH> "
+" </TR> "
+" "
+" <!-- Top bar --> "
+" <TR><TD COLSPAN=2 HEIGHT=40><!-- This file generates the top menu bar on Genome Browser home page--> "
+"<!-- which has a different menu from the other static pages------------> "
+" "
+" <TABLE BGCOLOR=\"000000\" CELLPADDING=\"1\" CELLSPACING=\"1\" WIDTH=\"100%%\" HEIGHT=\"27\"> "
+" <TR BGCOLOR=\"2636D1\"><TD VALIGN=\"middle\"> "
+" <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=\"2636D1\" HEIGHT=\"24\"> "
+" <TR><TD VALIGN=\"middle\"><FONT COLOR=\"#89A1DE\"> "
+" <A HREF=\"/hgHeatmap\" class=\"topbar\">Cancer Genomics</A> - "
+" <A HREF=\"/cgi-bin/hgGateway\" class=\"topbar\">Genomes</A> - "
+" <A HREF=\"/cancerGenomics/help/userGuide/userGuide.html\" class=\"topbar\">Help</A> "
+" </FONT></TD></TR> "
+" </TABLE> "
+" </TD></TR> "
+" </TABLE> "
+"<!-- end topbar --> "
+"</TD></TR></TABLE>");
+}
+
void doMiddle(struct cart *theCart)
/* Write the middle parts of the HTML page.
* This routine sets up some globals and then
* dispatches to the appropriate page-maker. */
@@ -1131,8 +1172,9 @@
errAbort("Missing required hg.conf variables.\n"
"Please set the following:\n"
"hostname, siteName, adminEmail");
+createWebHeader();
cart = theCart;
if (cartVarExists(cart, "debug"))
debugShowAllMembers(conn);
else if (cartVarExists(cart, "update"))