$Log$
+Revision 323.42 2002/06/19 22:01:31 ajc
+* When editing another user's vCard, do a "transient goto" to their config
+ room so you don't automatically gain access to their config room.
+* When creating a user, go back to the "select user to edit" screen with the
+ new user's account name pre-selected.
+
Revision 323.41 2002/06/17 03:48:44 ajc
* Finished the thing to edit other users' vCards.
1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
* webserver.c: warning fix
+
lprintf(9, "entering load_preferences()\n");
- serv_printf("GOTO My Citadel Config");
+ serv_printf("GOTO %s", USERCONFIGROOM);
serv_gets(buf);
if (buf[0] != '2') return;
long msgnum = 0L;
lprintf(9, "entering save_preferences()\n");
- serv_printf("GOTO My Citadel Config");
+ serv_printf("GOTO %s", USERCONFIGROOM);
serv_gets(buf);
if (buf[0] != '2') { /* try to create the config room if not there */
- serv_printf("CRE8 1|My Citadel Config|4|0");
+ serv_printf("CRE8 1|%s|4|0", USERCONFIGROOM);
serv_gets(buf);
- serv_printf("GOTO My Citadel Config");
+ serv_printf("GOTO %s", USERCONFIGROOM);
serv_gets(buf);
if (buf[0] != '2') return; /* oh well. */
}
-void select_user_to_edit(char *message)
+void select_user_to_edit(char *message, char *preselect)
{
char buf[SIZ];
char username[SIZ];
if (buf[0] == '1') {
while (serv_gets(buf), strcmp(buf, "000")) {
extract(username, buf, 0);
- wprintf("<OPTION>");
+ wprintf("<OPTION");
+ if (preselect != NULL)
+ if (!strcasecmp(username, preselect))
+ wprintf(" SELECTED");
+ wprintf(">");
escputs(username);
wprintf("\n");
}
/* Locate the user's config room, creating it if necessary */
- sprintf(roomname, "%010ld.My Citadel Config", usernum);
- serv_printf("GOTO %s", roomname);
+ sprintf(roomname, "%010ld.%s", usernum, USERCONFIGROOM);
+ serv_printf("GOTO %s||1", roomname);
serv_gets(buf);
if (buf[0] != '2') {
- serv_printf("CRE8 1|%s|5|", roomname);
+ serv_printf("CRE8 1|%s|5|||1|", roomname);
serv_gets(buf);
- serv_printf("GOTO %s", roomname);
+ serv_printf("GOTO %s||1", roomname);
serv_gets(buf);
if (buf[0] != '2') {
sprintf(error_message,
"<IMG SRC=\"static/error.gif\" VALIGN=CENTER>"
"%s<BR><BR>\n", &buf[4]);
- select_user_to_edit(error_message);
+ select_user_to_edit(error_message, username);
return;
}
}
sprintf(error_message,
"<IMG SRC=\"static/error.gif\" VALIGN=CENTER>"
"Could not create/edit vCard<BR><BR>\n");
- select_user_to_edit(error_message);
+ select_user_to_edit(error_message, username);
return;
}
sprintf(error_message,
"<IMG SRC=\"static/error.gif\" VALIGN=CENTER>"
"%s<BR><BR>\n", &buf[4]);
- select_user_to_edit(error_message);
+ select_user_to_edit(error_message, username);
return;
}
"<INPUT type=\"submit\" NAME=\"action\" VALUE=\"Cancel\">\n"
"<BR><BR></FORM>\n");
- wprintf("<A HREF=\"/dotgoto&room=%010ld.My%%20Citadel%%20Config\">",
- usernum);
- wprintf("Click here to access the configuration room for ");
- escputs(username);
- wprintf("</A><BR>\n"
- "(Contact information, Internet e-mail addresses, etc.)<BR>"
- "</CENTER>\n");
+ wprintf("</CENTER>\n");
wDumpContent(1);
}
}
- select_user_to_edit(message);
+ select_user_to_edit(message, bstr("username"));
}
serv_gets(buf);
if (buf[0] == '2') {
- display_edituser(username);
+ sprintf(error_message, "<b>User has been created.</b>");
+ select_user_to_edit(error_message, username);
}
else {
sprintf(error_message,
"<IMG SRC=\"static/error.gif\" VALIGN=CENTER>"
"%s<BR><BR>\n", &buf[4]);
- select_user_to_edit(error_message);
+ select_user_to_edit(error_message, NULL);
}
}