From: Art Cancro Date: Fri, 3 Sep 2010 14:27:29 +0000 (-0400) Subject: CtdlAccessCheck() may now be passed a new access level to check for: ac_logged_in_or_... X-Git-Tag: v8.01~762 X-Git-Url: https://code.citadel.org/?a=commitdiff_plain;h=e61ccbf45d0896ba97236043f61ca084b846dc69;p=citadel.git CtdlAccessCheck() may now be passed a new access level to check for: ac_logged_in_or_guest, which will succeed if the user is logged in *or* if guest mode is enabled. --- diff --git a/citadel/citserver.c b/citadel/citserver.c index 48e4deae0..859c25fa9 100644 --- a/citadel/citserver.c +++ b/citadel/citserver.c @@ -659,6 +659,11 @@ int CtdlAccessCheck(int required_level) { return(-1); } + if ((required_level >= ac_logged_in_or_guest) && (CC->logged_in == 0) && (!config.c_guest_logins)) { + cprintf("%d Not logged in.\n", ERROR + NOT_LOGGED_IN); + return(-1); + } + if ((required_level >= ac_logged_in) && (CC->logged_in == 0)) { cprintf("%d Not logged in.\n", ERROR + NOT_LOGGED_IN); return(-1); diff --git a/citadel/include/ctdl_module.h b/citadel/include/ctdl_module.h index c3db1af9c..f1ee1a5f9 100644 --- a/citadel/include/ctdl_module.h +++ b/citadel/include/ctdl_module.h @@ -274,10 +274,11 @@ int CtdlAccessCheck(int); */ enum { ac_none, + ac_logged_in_or_guest, ac_logged_in, ac_room_aide, ac_aide, - ac_internal + ac_internal, };