*
* Copyright (c) 1987-2012 by the citadel.org team
*
- * This program is open source software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3.
- *
- *
+ * This program is open source software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
- *
- *
- *
*/
#include "sysdep.h"
#include "ctdl_module.h"
+/* Don't show the names of private rooms unless the viewing
+ * user also knows the rooms.
+ */
+void GenerateRoomDisplay(char *real_room,
+ CitContext *viewed,
+ CitContext *viewer) {
+
+ int ra;
+
+ strcpy(real_room, viewed->room.QRname);
+ if (viewed->room.QRflags & QR_MAILBOX) {
+ strcpy(real_room, &real_room[11]);
+ }
+ if (viewed->room.QRflags & QR_PRIVATE) {
+ CtdlRoomAccess(&viewed->room, &viewer->user, &ra, NULL);
+ if ( (ra & UA_KNOWN) == 0) {
+ strcpy(real_room, " ");
+ }
+ }
+
+ if (viewed->cs_flags & CS_CHAT) {
+ while (strlen(real_room) < 14) {
+ strcat(real_room, " ");
+ }
+ strcpy(&real_room[14], "<chat>");
+ }
+
+}
+
+
/*
* display who's online
/* So that we don't keep the context list locked for a long time
* we create a copy of it first
*/
-
-
nptr = CtdlGetContextArray(&nContexts) ;
if (!nptr)
{
return;
}
- aide = (CC->user.axlevel >= AxAideU) ;
+ aide = ( (CC->user.axlevel >= AxAideU) || (CC->internal_pgm) ) ;
cprintf("%d%c \n", LISTING_FOLLOWS, CtdlCheckExpress() );
for (i=0; i<nContexts; i++)