]> code.citadel.org Git - citadel.git/blobdiff - citadel/room_ops.c
Replaced some of the 'autoconverted - document me' strings
[citadel.git] / citadel / room_ops.c
index 68eeb36385971435d6f9e2accc12de4f29cd7d04..c6801b6d352b2d7f4c4e665eedd9fa71d64add9f 100644 (file)
@@ -65,7 +65,7 @@ void CtdlRoomAccess(struct ctdlroom *roombuf, struct ctdluser *userbuf,
 
        /* for internal programs, always do everything */
        if (((CC->internal_pgm)) && (roombuf->QRflags & QR_INUSE)) {
-               retval = (UA_KNOWN | UA_GOTOALLOWED | UA_POSTALLOWED | UA_DELETEALLOWED);
+               retval = (UA_KNOWN | UA_GOTOALLOWED | UA_POSTALLOWED | UA_DELETEALLOWED | UA_REPLYALLOWED);
                vbuf.v_view = 0;
                goto SKIP_EVERYTHING;
        }
@@ -88,7 +88,7 @@ void CtdlRoomAccess(struct ctdlroom *roombuf, struct ctdluser *userbuf,
        /* Force the properties of the Aide room */
        if (!strcasecmp(roombuf->QRname, config.c_aideroom)) {
                if (userbuf->axlevel >= AxAideU) {
-                       retval = UA_KNOWN | UA_GOTOALLOWED | UA_POSTALLOWED | UA_DELETEALLOWED;
+                       retval = UA_KNOWN | UA_GOTOALLOWED | UA_POSTALLOWED | UA_DELETEALLOWED | UA_REPLYALLOWED;
                } else {
                        retval = 0;
                }
@@ -130,11 +130,11 @@ void CtdlRoomAccess(struct ctdlroom *roombuf, struct ctdluser *userbuf,
        /* Also, mailbox owners can delete their messages */
        if (roombuf->QRflags & QR_MAILBOX) {
                if (userbuf->usernum == atol(roombuf->QRname)) {
-                       retval = retval | UA_KNOWN | UA_GOTOALLOWED | UA_POSTALLOWED | UA_DELETEALLOWED;
+                       retval = retval | UA_KNOWN | UA_GOTOALLOWED | UA_POSTALLOWED | UA_DELETEALLOWED | UA_REPLYALLOWED;
                }
                /* An explicit match means the user belongs in this room */
                if (vbuf.v_flags & V_ACCESS) {
-                       retval = retval | UA_KNOWN | UA_GOTOALLOWED | UA_POSTALLOWED | UA_DELETEALLOWED;
+                       retval = retval | UA_KNOWN | UA_GOTOALLOWED | UA_POSTALLOWED | UA_DELETEALLOWED | UA_REPLYALLOWED;
                }
        }
 
@@ -147,11 +147,24 @@ void CtdlRoomAccess(struct ctdlroom *roombuf, struct ctdluser *userbuf,
                 * - It is a read-only room
                 */
                int post_allowed = 1;
-               if (userbuf->axlevel < AxProbU) post_allowed = 0;
-               if ((userbuf->axlevel < AxNetU) && (roombuf->QRflags & QR_NETWORK)) post_allowed = 0;
-               if (roombuf->QRflags & QR_READONLY) post_allowed = 0;
+               int reply_allowed = 1;
+               if (userbuf->axlevel < AxProbU) {
+                       post_allowed = 0;
+                       reply_allowed = 0;
+               }
+               if ((userbuf->axlevel < AxNetU) && (roombuf->QRflags & QR_NETWORK)) {
+                       post_allowed = 0;
+                       reply_allowed = 0;
+               }
+               if (roombuf->QRflags & QR_READONLY) {
+                       post_allowed = 0;
+                       reply_allowed = 0;
+               }
                if (post_allowed) {
-                       retval = retval | UA_POSTALLOWED;
+                       retval = retval | UA_POSTALLOWED | UA_REPLYALLOWED;
+               }
+               if (reply_allowed) {
+                       retval = retval | UA_REPLYALLOWED;
                }
 
                /* If "collaborative deletion" is active for this room, any user who can post
@@ -177,17 +190,17 @@ void CtdlRoomAccess(struct ctdlroom *roombuf, struct ctdluser *userbuf,
        }
        /* If user is explicitly locked out of this room, deny everything */
        if (vbuf.v_flags & V_LOCKOUT) {
-               retval = retval & ~UA_KNOWN & ~UA_GOTOALLOWED & ~UA_POSTALLOWED;
+               retval = retval & ~UA_KNOWN & ~UA_GOTOALLOWED & ~UA_POSTALLOWED & ~UA_REPLYALLOWED;
        }
 
        /* Aides get access to all private rooms */
        if ( (userbuf->axlevel >= AxAideU)
           && ((roombuf->QRflags & QR_MAILBOX) == 0) ) {
                if (vbuf.v_flags & V_FORGET) {
-                       retval = retval | UA_GOTOALLOWED | UA_POSTALLOWED;
+                       retval = retval | UA_GOTOALLOWED | UA_POSTALLOWED | UA_REPLYALLOWED;
                }
                else {
-                       retval = retval | UA_KNOWN | UA_GOTOALLOWED | UA_POSTALLOWED;
+                       retval = retval | UA_KNOWN | UA_GOTOALLOWED | UA_POSTALLOWED | UA_REPLYALLOWED;
                }
        }
 
@@ -196,14 +209,14 @@ void CtdlRoomAccess(struct ctdlroom *roombuf, struct ctdluser *userbuf,
         */
        if ( (userbuf->axlevel >= AxAideU)
           && (roombuf->QRflags & QR_MAILBOX) ) {
-               retval = retval | UA_GOTOALLOWED | UA_POSTALLOWED;
+               retval = retval | UA_GOTOALLOWED | UA_POSTALLOWED | UA_REPLYALLOWED;
        }
 
        /* Aides and Room Aides have admin privileges */
        if ( (userbuf->axlevel >= AxAideU)
           || (userbuf->usernum == roombuf->QRroomaide)
           ) {
-               retval = retval | UA_ADMINALLOWED | UA_DELETEALLOWED | UA_POSTALLOWED;
+               retval = retval | UA_ADMINALLOWED | UA_DELETEALLOWED | UA_POSTALLOWED | UA_REPLYALLOWED;
        }
 
 NEWMSG:        /* By the way, we also check for the presence of new messages */
@@ -2247,22 +2260,22 @@ void cmd_eflr(char *argbuf)
 CTDL_MODULE_INIT(room_ops)
 {
        if (!threading) {
-               CtdlRegisterProtoHook(cmd_lrms, "LRMS", "Autoconverted. TODO: document me.");
-               CtdlRegisterProtoHook(cmd_lkra, "LKRA", "Autoconverted. TODO: document me.");
-               CtdlRegisterProtoHook(cmd_lkrn, "LKRN", "Autoconverted. TODO: document me.");
-               CtdlRegisterProtoHook(cmd_lkro, "LKRO", "Autoconverted. TODO: document me.");
-               CtdlRegisterProtoHook(cmd_lzrm, "LZRM", "Autoconverted. TODO: document me.");
+               CtdlRegisterProtoHook(cmd_lrms, "LRMS", "List rooms");
+               CtdlRegisterProtoHook(cmd_lkra, "LKRA", "List all known rooms");
+               CtdlRegisterProtoHook(cmd_lkrn, "LKRN", "List known rooms with new messages");
+               CtdlRegisterProtoHook(cmd_lkro, "LKRO", "List known rooms without new messages");
+               CtdlRegisterProtoHook(cmd_lzrm, "LZRM", "List zapped rooms");
                CtdlRegisterProtoHook(cmd_lprm, "LPRM", "Autoconverted. TODO: document me.");
-               CtdlRegisterProtoHook(cmd_goto, "GOTO", "Autoconverted. TODO: document me.");
-               CtdlRegisterProtoHook(cmd_whok, "WHOK", "Autoconverted. TODO: document me.");
-               CtdlRegisterProtoHook(cmd_rdir, "RDIR", "Autoconverted. TODO: document me.");
+               CtdlRegisterProtoHook(cmd_goto, "GOTO", "Goto a named room");
+               CtdlRegisterProtoHook(cmd_whok, "WHOK", "List users who know this room");
+               CtdlRegisterProtoHook(cmd_rdir, "RDIR", "List files in room directory");
                CtdlRegisterProtoHook(cmd_getr, "GETR", "Autoconverted. TODO: document me.");
                CtdlRegisterProtoHook(cmd_setr, "SETR", "Autoconverted. TODO: document me.");
                CtdlRegisterProtoHook(cmd_geta, "GETA", "Autoconverted. TODO: document me.");
                CtdlRegisterProtoHook(cmd_seta, "SETA", "Autoconverted. TODO: document me.");
                CtdlRegisterProtoHook(cmd_rinf, "RINF", "Autoconverted. TODO: document me.");
                CtdlRegisterProtoHook(cmd_kill, "KILL", "Autoconverted. TODO: document me.");
-               CtdlRegisterProtoHook(cmd_cre8, "CRE8", "Autoconverted. TODO: document me.");
+               CtdlRegisterProtoHook(cmd_cre8, "CRE8", "Create a new room");
                CtdlRegisterProtoHook(cmd_einf, "EINF", "Autoconverted. TODO: document me.");
                CtdlRegisterProtoHook(cmd_lflr, "LFLR", "Autoconverted. TODO: document me.");
                CtdlRegisterProtoHook(cmd_cflr, "CFLR", "Autoconverted. TODO: document me.");