X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Froomops.c;h=099fabd9fb061693a06d6c21f73f58208b88dfa1;hb=938d37582253fe448b0c5cc21b6e9ce3faf85048;hp=22802ced20750a8ef1a793802eb4ba4f20dc41a3;hpb=08c16cd4d6d989d6511d187f41113040cfeda14b;p=citadel.git diff --git a/webcit/roomops.c b/webcit/roomops.c index 22802ced2..099fabd9f 100644 --- a/webcit/roomops.c +++ b/webcit/roomops.c @@ -67,7 +67,7 @@ void _DBG_QR(long QR) i = i << 1; j++; } - syslog(9, "DBG: QR-Vec [%ld] [%s]\n", QR, ChrPtr(QRVec)); + syslog(LOG_DEBUG, "DBG: QR-Vec [%ld] [%s]\n", QR, ChrPtr(QRVec)); FreeStrBuf(&QRVec); } @@ -90,7 +90,7 @@ void _DBG_QR2(long QR2) i = i << 1; j++; } - syslog(9, "DBG: QR2-Vec [%ld] [%s]\n", QR2, ChrPtr(QR2Vec)); + syslog(LOG_DEBUG, "DBG: QR2-Vec [%ld] [%s]\n", QR2, ChrPtr(QR2Vec)); FreeStrBuf(&QR2Vec); } @@ -127,8 +127,10 @@ void dotgoto(void) { * goto next room */ void smart_goto(const StrBuf *next_room) { - gotoroom(next_room); - readloop(readnew, eUseDefault); + if (gotoroom(next_room) / 100 == 2) + readloop(readnew, eUseDefault); + else + do_404(); } /* @@ -182,6 +184,10 @@ long gotoroom(const StrBuf *gname) long err = 0; int room_name_supplied = 0; int is_baseroom = 0; + int failvisibly; + + /* on fail, should we fallback to _BASEROOM_? */ + failvisibly = ibstr("failvisibly"); /* store ungoto information */ if (StrLength(gname) > 0) { @@ -206,6 +212,10 @@ long gotoroom(const StrBuf *gname) } StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, &err) != 2) { + if (failvisibly) { + FreeStrBuf(&Buf); + return err; + } serv_puts("GOTO _BASEROOM_"); StrBuf_ServGetln(Buf); /* @@ -1142,7 +1152,7 @@ void netedit(void) { if (malias_set_default) { - if (strncmp(ChrPtr(Line), HKEY("roommailalias|")) != 0) + if (strncasecmp(ChrPtr(Line), HKEY("roommailalias|")) != 0) { StrBufAppendBufPlain(Line, HKEY("\n"), 0); StrBufAppendBuf(TmpBuf, Line, 0); @@ -1446,6 +1456,7 @@ InitModule_ROOMOPS REGISTERTokenParamDefine(VIEW_JOURNAL); REGISTERTokenParamDefine(VIEW_BLOG); REGISTERTokenParamDefine(VIEW_QUEUE); + REGISTERTokenParamDefine(VIEW_WIKIMD); /* GNET types: */ /* server internal, we need to know but ignore them. */