$Log$
+ Revision 591.8 2002/04/14 22:27:05 ajc
+ * Added access control checking to CtdlRenameRoom()
+
Revision 591.7 2002/04/14 22:11:22 ajc
* New back end function CtdlRenameRoom() which is used to rename a room and/or
move it to a different floor.
Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
* Initial CVS import
+
ret = crr_room_not_found;
}
+ else if ( (CC->usersupp.axlevel < 6)
+ && (CC->usersupp.usernum != qrbuf.QRroomaide)
+ && ( (((qrbuf.QRflags & QR_MAILBOX) == 0) || (atol(qrbuf.QRname) != CC->usersupp.usernum))) ) {
+ ret = crr_access_denied;
+ }
+
else if (is_noneditable(&qrbuf)) {
ret = crr_noneditable;
}
int new_floor;
char new_name[ROOMNAMELEN];
- if (CtdlAccessCheck(ac_room_aide)) return;
+ if (CtdlAccessCheck(ac_logged_in)) return;
if (num_parms(args) >= 6) {
new_floor = extract_int(args, 5);
cprintf("%d Target floor does not exist.\n",
ERROR + INVALID_FLOOR_OPERATION);
}
+ else if (r == crr_access_denied) {
+ cprintf("%d You do not have permission to edit '%s'\n",
+ ERROR + HIGHER_ACCESS_REQUIRED,
+ CC->quickroom.QRname);
+ }
else if (r != crr_ok) {
cprintf("%d Error: CtdlRenameRoom() returned %d\n",
ERROR, r);
crr_room_not_found, /* room not found */
crr_already_exists, /* new name already exists */
crr_noneditable, /* cannot edit this room */
- crr_invalid_floor /* target floor does not exist */
+ crr_invalid_floor, /* target floor does not exist */
+ crr_access_denied /* not allowed to edit this room */
};