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.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.
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
1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
* webserver.c: warning fix
lprintf(9, "entering load_preferences()\n");
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;
serv_gets(buf);
if (buf[0] != '2') return;
long msgnum = 0L;
lprintf(9, "entering save_preferences()\n");
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_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_printf("GOTO My Citadel Config");
+ serv_printf("GOTO %s", USERCONFIGROOM);
serv_gets(buf);
if (buf[0] != '2') return; /* oh well. */
}
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];
{
char buf[SIZ];
char username[SIZ];
if (buf[0] == '1') {
while (serv_gets(buf), strcmp(buf, "000")) {
extract(username, buf, 0);
if (buf[0] == '1') {
while (serv_gets(buf), strcmp(buf, "000")) {
extract(username, buf, 0);
+ wprintf("<OPTION");
+ if (preselect != NULL)
+ if (!strcasecmp(username, preselect))
+ wprintf(" SELECTED");
+ wprintf(">");
escputs(username);
wprintf("\n");
}
escputs(username);
wprintf("\n");
}
/* Locate the user's config room, creating it if necessary */
/* 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_gets(buf);
if (buf[0] != '2') {
- serv_printf("CRE8 1|%s|5|", roomname);
+ serv_printf("CRE8 1|%s|5|||1|", roomname);
- 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]);
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);
sprintf(error_message,
"<IMG SRC=\"static/error.gif\" VALIGN=CENTER>"
"Could not create/edit vCard<BR><BR>\n");
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);
sprintf(error_message,
"<IMG SRC=\"static/error.gif\" VALIGN=CENTER>"
"%s<BR><BR>\n", &buf[4]);
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);
"<INPUT type=\"submit\" NAME=\"action\" VALUE=\"Cancel\">\n"
"<BR><BR></FORM>\n");
"<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");
- select_user_to_edit(message);
+ select_user_to_edit(message, bstr("username"));
serv_gets(buf);
if (buf[0] == '2') {
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]);
}
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);
serv_puts("000");
if (!strcmp(bstr("return_to"), "/select_user_to_edit")) {
serv_puts("000");
if (!strcmp(bstr("return_to"), "/select_user_to_edit")) {
- select_user_to_edit(NULL);
+ select_user_to_edit(NULL, NULL);
}
else {
readloop("readnew");
}
else {
readloop("readnew");
} else if (!strcasecmp(action, "submit_vcard")) {
submit_vcard();
} else if (!strcasecmp(action, "select_user_to_edit")) {
} else if (!strcasecmp(action, "submit_vcard")) {
submit_vcard();
} else if (!strcasecmp(action, "select_user_to_edit")) {
- select_user_to_edit(NULL);
+ select_user_to_edit(NULL, NULL);
} else if (!strcasecmp(action, "display_edituser")) {
display_edituser(NULL);
} else if (!strcasecmp(action, "edituser")) {
} else if (!strcasecmp(action, "display_edituser")) {
display_edituser(NULL);
} else if (!strcasecmp(action, "edituser")) {
void edit_vcard(void);
void submit_vcard(void);
void striplt(char *);
void edit_vcard(void);
void submit_vcard(void);
void striplt(char *);
-void select_user_to_edit(char *message);
+void select_user_to_edit(char *message, char *preselect);
void display_edituser(char *who);
void create_user(void);
void edituser(void);
void display_edituser(char *who);
void create_user(void);
void edituser(void);