No se porque se complican tanto la vida e muy simple de hacer, simplemente crea un plugin que traiga un enganche a global_start
De ahi le pones que si el grupo de usuarios es x que te aparezca el foro, de cualquier otro modo te aparezca el mensaje de que esta cerrado, en mantenimiento o lo que quieras que aparezca, puedes agregar que si esta con sesión iniciada verifique su llave o cosas asi, para mayor seguridad, pero la verdad es algo que como yo me imagino no es complejo de hacer, sólo que o se le ve la necesidad de tener de esta forma un foro, pero con lo que te digo es que mas sencillo no puede ser de realizar y no son muchas líneas de código, al contrario es algo mas simple de lo que parece xD.
Ya que si quieres puedes mirar como trae el mensaje de board_
o algo asi que debe estar en una función o una variable y se manda a traer en caso de que no estes con sesión iniciada y no pertenezcas a los grupos que tu elijas y aparte de eso si utilizas a los registrados normalmente en nuevas cuentas pues realizar moderación y listo, saludos...