]> code.citadel.org Git - citadel.git/blobdiff - webcit/roomops.c
put standard handlers into their own enum-lookupable list.
[citadel.git] / webcit / roomops.c
index cf0b370bb43db8734a57716ce67bb8afe66d917a..ae101adb80031b246c2858a4c9c304323dee44c1 100644 (file)
@@ -39,7 +39,7 @@ ConstStr QR2FlagList[] = {
        {HKEY(strof(QR2_SUBJECTREQ))},
        {HKEY(strof(QR2_SMTP_PUBLIC))},
        {HKEY(strof(QR2_MODERATED))},
-       {HKEY("")}, 
+       {HKEY(strof(QR2_NOUPLMSG))}, 
        {HKEY("")}, 
        {HKEY("")}, 
        {HKEY("")}, 
@@ -127,7 +127,7 @@ void dotgoto(void) {
  * goto next room
  */
 void smart_goto(const StrBuf *next_room) {
-       if (gotoroom(next_room) == 2)
+       if (gotoroom(next_room) / 100 == 2)
                readloop(readnew, eUseDefault);
        else
                do_404();
@@ -806,6 +806,12 @@ void editroom(void)
                WCC->CurRoom.QRFlags &= ~QR_DOWNLOAD;
        }
 
+       if (yesbstr("ulmsg")) {
+               WCC->CurRoom.QRFlags2 |= QR2_NOUPLMSG;
+       } else {
+               WCC->CurRoom.QRFlags2 &= ~QR2_NOUPLMSG;
+       }
+
        if (yesbstr("visdir")) {
                WCC->CurRoom.QRFlags |= QR_VISDIR;
        } else {
@@ -1210,6 +1216,14 @@ void netedit(void) {
        }
 
        serv_puts("000");
+       serv_puts("NOOP");
+       StrBuf_ServGetln(Line);
+       if  (GetServerStatus(Line, NULL) != 2) { /* WHOOOPS? ERROR? */
+               AppendImportantMessage(SRV_STATUS_MSG(Line));   
+               StrBuf_ServGetln(Line); /* resync... */
+       }
+
+
        FlushIgnetCfgs(&WC->CurRoom);
        FreeStrBuf(&Line);
 
@@ -1419,6 +1433,7 @@ InitModule_ROOMOPS
        REGISTERTokenParamDefine(QR2_SUBJECTREQ);
        REGISTERTokenParamDefine(QR2_SMTP_PUBLIC);
        REGISTERTokenParamDefine(QR2_MODERATED);
+       REGISTERTokenParamDefine(QR2_NOUPLMSG);
 
        REGISTERTokenParamDefine(UA_KNOWN);
        REGISTERTokenParamDefine(UA_GOTOALLOWED);