Как сделать, то вещь, которую мы просим может кто-нить ответить?
А то я только придирки к словам слышу и ни одного ответа по существу.
Чтобы сделать то, что вы хотите, нужно, по моему мнению, не просто переписать половину кода phpBB2, но и поменять его логическую структуру.
Дело в том, что права доступа к форумам определяются не по индивидуальному (ID юзера), а по групповому (принадлежности к группе) признаку. Каждому вновь зарегистрированному пользователю создаётся его "персональная группа", и когда вы меняете права пользователю, то фактически устанавливаете права для членов этой "группы".
Свод всех установленных прав -> в таблице phpbb_auth_access, где соответствующему group_id соотноситься соответствующий forum_id и далее перечисляются все категории прав (auth_view, auth_read, auth_post, auth_reply и т.д.) со значениями (1 - да, 0 - нет). Если в таблице нет записи по конкретной группе, то все значения - 0 (нет).
Именно поэтому, при определении форума, как приватного, все значения прав доступа конкретного пользователя (читай: конкретной персональной группы) - Нет (ВЫКЛ.) Если вы устанавливаете ему какие-то права, то соответствующая запись делается в таблицу.
Теперь посмотрим, что придётся сделать сейчас для реализации ваших хотелок:
1. Сделать в таблицу прав количество записей = количеству пользователей Х количество форумов.
2. При создании нового форума: делать в таблицу прав количество записей = количеству пользователей
3. При регистрации нового пользователя: делать в таблицу прав количество записей = количеству форумов.
Кокретные цифры можете прикинуть сами.
Теоретически, это возможно (и не так уж сложно), но практического применения, ЯТД, иметь не будет.
Поэтому, ответ на поставленый топикстартёром вопрос, ЯТД, один: организовывать группу для всех по умолчанию, куда пользователь попадает сразу после регистрации (например, с помощью автогрупп, или иным) и этой группе открывать (в один щелчок) доступ.