X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Froomops.c;h=3dd97ecab4773327348561da6fb9753ab23fb98c;hb=d0a61d5cc7cb65fbef956eca1fd40ade5d7cadc0;hp=0c264b6460fc5d2a8f32573bb0f3831506629446;hpb=03d6af7f964a61d38f6127e77dd2d03fc830c082;p=citadel.git diff --git a/webcit/roomops.c b/webcit/roomops.c index 0c264b646..3dd97ecab 100644 --- a/webcit/roomops.c +++ b/webcit/roomops.c @@ -1016,18 +1016,20 @@ void set_room_policy(void) { wDumpContent(1); return; } + Line = NewStrBuf(); - serv_printf("SPEX roompolicy|%d|%d", ibstr("roompolicy"), ibstr("roomvalue")); + serv_printf("SPEX room|%d|%d", ibstr("roompolicy"), ibstr("roomvalue")); StrBuf_ServGetln(Line); GetServerStatusMsg(Line, NULL, 1, 0); if (WC->axlevel >= 6) { - serv_printf("SPEX floorpolicy|%d|%d", ibstr("floorpolicy"), ibstr("floorvalue")); + serv_printf("SPEX floor|%d|%d", ibstr("floorpolicy"), ibstr("floorvalue")); StrBuf_ServGetln(Line); GetServerStatusMsg(Line, NULL, 1, 0); } FreeStrBuf(&Line); ReloadCurrentRoom(); + output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); wDumpContent(1); @@ -1048,8 +1050,11 @@ void netedit(void) { int i, num_addrs; StrBuf *Line; StrBuf *TmpBuf; + int malias = 0; + char sepchar = '|'; int Done; + line[0] = '\0'; if (havebstr("force_room")) { gotoroom(sbstr("force_room")); } @@ -1072,6 +1077,14 @@ void netedit(void) { strcat(line, bstr("line")); strcat(line, bstr("suffix")); } + else if (havebstr("alias")) { + malias = 1; + sepchar = ','; + strcat(line, bstr("prefix")); + strcat(line, ","); + strcat(line, "room_"); + strcat(line, ChrPtr(WC->CurRoom.name)); + } else { output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); @@ -1081,7 +1094,10 @@ void netedit(void) { Line = NewStrBuf(); TmpBuf = NewStrBuf(); - serv_puts("GNET"); + if (malias) + serv_puts("GNET "FILE_MAILALIAS); + else + serv_puts("GNET"); StrBuf_ServGetln(Line); if (GetServerStatus(Line, NULL) != 1) { AppendImportantMessage(SRV_STATUS_MSG(Line)); @@ -1094,8 +1110,8 @@ void netedit(void) { /** This loop works for add *or* remove. Spiffy, eh? */ Done = 0; - extract_token(cmpb0, line, 0, '|', sizeof cmpb0); - extract_token(cmpb1, line, 1, '|', sizeof cmpb1); + extract_token(cmpb0, line, 0, sepchar, sizeof cmpb0); + extract_token(cmpb1, line, 1, sepchar, sizeof cmpb1); while (!Done && StrBuf_ServGetln(Line)>=0) { if ( (StrLength(Line)==3) && !strcmp(ChrPtr(Line), "000")) @@ -1104,17 +1120,23 @@ void netedit(void) { } else { - extract_token(cmpa0, ChrPtr(Line), 0, '|', sizeof cmpa0); - extract_token(cmpa1, ChrPtr(Line), 1, '|', sizeof cmpa1); - if ( (strcasecmp(cmpa0, cmpb0)) - || (strcasecmp(cmpa1, cmpb1)) ) { + if (StrLength(Line) == 0) + continue; + + extract_token(cmpa0, ChrPtr(Line), 0, sepchar, sizeof cmpa0); + extract_token(cmpa1, ChrPtr(Line), 1, sepchar, sizeof cmpa1); + if ( (strcasecmp(cmpa0, cmpb0)) || (strcasecmp(cmpa1, cmpb1)) ) + { StrBufAppendBufPlain(Line, HKEY("\n"), 0); StrBufAppendBuf(TmpBuf, Line, 0); } } } - serv_puts("SNET"); + if (malias) + serv_puts("SNET "FILE_MAILALIAS); + else + serv_puts("SNET"); StrBuf_ServGetln(Line); if (GetServerStatus(Line, NULL) != 4) { @@ -1367,6 +1389,7 @@ InitModule_ROOMOPS REGISTERTokenParamDefine(UA_POSTALLOWED); REGISTERTokenParamDefine(UA_ADMINALLOWED); REGISTERTokenParamDefine(UA_DELETEALLOWED); + REGISTERTokenParamDefine(UA_REPLYALLOWED); REGISTERTokenParamDefine(UA_ISTRASH); REGISTERTokenParamDefine(US_NEEDVALID); @@ -1394,6 +1417,7 @@ InitModule_ROOMOPS REGISTERTokenParamDefine(VIEW_CALBRIEF); REGISTERTokenParamDefine(VIEW_JOURNAL); REGISTERTokenParamDefine(VIEW_BLOG); + REGISTERTokenParamDefine(VIEW_QUEUE); /* GNET types: */ /* server internal, we need to know but ignore them. */