StrBuf *Buf;
const char *who;
long len;
+ int r = 0;
GetTemplateTokenString(Target, TP, 2, &who, &len);
serv_printf("OIMG _userpic_|%s", who);
StrBuf_ServGetln(Buf);
if (GetServerStatus(Buf, NULL) != 2) {
- serv_puts("CLOS");
- StrBuf_ServGetln(Buf);
- GetServerStatus(Buf, NULL);
- FreeStrBuf(&Buf);
- return 1;
- } else {
- FreeStrBuf(&Buf);
- return 0;
+ r = 1;
+ }
+ else {
+ r = 0;
}
+ serv_puts("CLOS");
+ StrBuf_ServGetln(Buf);
+ GetServerStatus(Buf, NULL);
+ FreeStrBuf(&Buf);
+ return(r);
}
Stat.lowest_found = (-1);
Stat.highest_found = (-1);
/* Search for the user's vCard */
- if (load_msg_ptrs("MSGS ALL||||1", &Stat, NULL) > 0) {
+ if (load_msg_ptrs("MSGS ALL||||1", NULL, &Stat, NULL) > 0) {
at = GetNewHashPos(WCC->summ, 0);
while (GetNextHashPos(WCC->summ, at, &HKLen, &HashKey, &vMsg)) {
Msg = (message_summary*) vMsg;
* usernum the citadel-uid of the user
*/
void display_edit_address_book_entry(const char *username, long usernum) {
- wcsession *WCC = WC;
message_summary *VCMsg = NULL;
wc_mime_attachment *VCAtt = NULL;
StrBuf *roomname;
GetServerStatus(Buf, NULL);
serv_printf("GOTO %s||1", ChrPtr(roomname));
StrBuf_ServGetln(Buf);
- if (GetServerStatus(Buf, NULL) != 2) {
- FlushStrBuf(WCC->ImportantMsg);
- StrBufAppendBuf(WCC->ImportantMsg, Buf, 4);
+ if (GetServerStatusMsg(Buf, NULL, 1, 2) != 2) {
select_user_to_edit(username);
FreeStrBuf(&Buf);
FreeStrBuf(&roomname);
locate_user_vcard_in_this_room(&VCMsg, &VCAtt);
if (VCMsg == NULL) {
- StrBufPlain(WCC->ImportantMsg,
- _("An error occurred while trying to create or edit this address book entry."),
- 0);
+ AppendImportantMessage(_("An error occurred while trying to create or edit this address book entry."), -1);
select_user_to_edit(username);
FreeStrBuf(&roomname);
return;
FreeStrBuf(&roomname);
}
+/*
+ * burge a user
+ * username the name of the user to remove
+ */
+void delete_user(char *username) {
+ StrBuf *Buf;
+
+ Buf = NewStrBuf();
+ serv_printf("ASUP %s|0|0|0|0|0|", username);
+ StrBuf_ServGetln(Buf);
+ GetServerStatusMsg(Buf, NULL, 1, 2);
+
+ select_user_to_edit( bstr("username"));
+ FreeStrBuf(&Buf);
+}
+
void display_edituser(const char *supplied_username, int is_new) {
const char *Pos;
- wcsession *WCC = WC;
UserListEntry* UL;
StrBuf *Buf;
char username[256];
Buf = NewStrBuf();
serv_printf("AGUP %s", username);
StrBuf_ServGetln(Buf);
- if (GetServerStatus(Buf, NULL) != 2) {
- FlushStrBuf(WCC->ImportantMsg);
- StrBufAppendBuf(WCC->ImportantMsg, Buf, 4);
+ if (GetServerStatusMsg(Buf, NULL, 1, 2) != 2) {
select_user_to_edit(username);
FreeStrBuf(&Buf);
return;
* do the backend operation of the user edit on the server
*/
void edituser(void) {
- wcsession *WCC = WC;
int is_new = 0;
unsigned int flags = 0;
const char *username;
username = bstr("username");
if (!havebstr("ok_button")) {
- StrBufPlain(WCC->ImportantMsg, _("Changes were not saved."), -1);
+ AppendImportantMessage(_("Changes were not saved."), -1);
}
else {
StrBuf *Buf = NewStrBuf();
if ((havebstr("newname")) && (strcasecmp(bstr("username"), bstr("newname")))) {
serv_printf("RENU %s|%s", bstr("username"), bstr("newname"));
StrBuf_ServGetln(Buf);
- if (GetServerStatus(Buf, NULL) == 2) {
- FlushStrBuf(WCC->ImportantMsg);
- StrBufAppendBuf(WCC->ImportantMsg, Buf, 4);
- }
- else {
+ if (GetServerStatusMsg(Buf, NULL, 1, 2) != 2) {
username = bstr("newname");
}
}
bstr("purgedays")
);
StrBuf_ServGetln(Buf);
- if (GetServerStatus(Buf, NULL) == 2) {
- StrBufAppendBuf(WCC->ImportantMsg, Buf, 4);
- }
+ GetServerStatusMsg(Buf, NULL, 1, 2);
FreeStrBuf(&Buf);
}
}
}
-/*
- * burge a user
- * username the name of the user to remove
- */
-void delete_user(char *username) {
- wcsession *WCC = WC;
- StrBuf *Buf;
-
- Buf = NewStrBuf();
- serv_printf("ASUP %s|0|0|0|0|0|", username);
- StrBuf_ServGetln(Buf);
- if (GetServerStatus(Buf, NULL) != 2)
- StrBufAppendBuf(WCC->ImportantMsg, Buf, 4);
-
- select_user_to_edit( bstr("username"));
- FreeStrBuf(&Buf);
-}
-
/*
* take the web environment username and create it on the citadel server
*/
void create_user(void) {
- wcsession *WCC = WC;
long FullState;
StrBuf *Buf;
const char *username;
serv_printf("CREU %s", username);
StrBuf_ServGetln(Buf);
if (GetServerStatus(Buf, &FullState) == 2) {
- sprintf(WC->ImportantMessage, _("A new user has been created."));
+ AppendImportantMessage(_("A new user has been created."), -1);
display_edituser(username, 1);
}
else if (FullState == 570) {
- StrBufPlain(WCC->ImportantMsg,
- _("You are attempting to create a new user from within Citadel "
- "while running in host based authentication mode. In this mode, "
- "you must create new users on the host system, not within Citadel."),
- 0);
+ AppendImportantMessage(_("You are attempting to create a new user from within Citadel "
+ "while running in host based authentication mode. In this mode, "
+ "you must create new users on the host system, not within Citadel."),
+ -1);
select_user_to_edit(NULL);
}
else {
- StrBufAppendBuf(WCC->ImportantMsg, Buf, 4);
+ AppendImportantMessage(ChrPtr(Buf) + 4, StrLength(Buf) - 4);
select_user_to_edit(NULL);
}
FreeStrBuf(&Buf);
display_edituser(NULL, 0);
}
-void showuser(void) { do_template("user_show");}
+void showuser(void)
+{
+ output_headers(1, 0, 0, 0, 1, 0);
+ do_template("user_show");
+ end_burst();
+}
void