Página 1 de 1
Ocultar foro a usuarios hasta que consigan X mensajes
Publicado: 01 Oct 2010, 21:30
por SikO124
buenas, queria preguntar si es posible ocultar un foro a los invitados (permanentemente) y a los usuarios registrados hasta que tengan 20 mensajes en el foro.
Gracias!

Re: Ocultar foro a usuarios hasta que consigan X mensajes
Publicado: 01 Oct 2010, 21:50
por angelismo
Sale esto al entrar a tu web
Código: Seleccionar todo
<html>
<head>
<meta http-equiv="Refresh" content="5;url=http://www.ps3rip.com">
</head>
<body>
<p>Nos hemos mudado! Serás dirigido automáticamente en cinco segundos. En caso contrario, puedes acceder haciendo click <a href="http://www.cristalab.com">aquí</a></p>
</body>
</html>
Re: Ocultar foro a usuarios hasta que consigan X mensajes
Publicado: 01 Oct 2010, 22:15
por HuanManwe
A ver si arreglas los problemas con tu foro, porque aparecen cosas raras.
Creo que lo mejor es hacer que los usuarios recién registrados pasen a pertenecer al grupo "nuevos usuarios registrados", hasta que lleguen a los 20 mensajes, que pasen a "usuarios registrados". Luego para ese foro editas los permisos de grupos para que el grupo de "nuevos usuarios registrados" no puedan verlo, y el resto de grupos sí puedan verlo.
Re: Ocultar foro a usuarios hasta que consigan X mensajes
Publicado: 01 Oct 2010, 22:40
por SikO124
La web es
www.ps3rip.com
HuanManwe, me puedes explicar como se hace ese procedimiento?
Re: Ocultar foro a usuarios hasta que consigan X mensajes
Publicado: 01 Oct 2010, 23:18
por HuanManwe
Creo que sería así:
ACP --> General --> Configuración de registro de usuarios
Límite de mensajes para nuevos usuarios: 20 Mensajes
Asignar el grupo Nuevos Usuarios Registrados como grupo por defecto: NO
Luego vas a la pestaña USUARIOS Y GRUPOS y pulsas en la izquierda en Permisos de grupos de foros
Buscar grupo de usuarios: Nuevos Usuarios Registrados
Elija un Foro: El foro al que desees que no accedan.
PERMISOS AVANZADOS --> Mensaje --> Puede ver foros NO
Prueba a ver si funciona y actualiza los datos de soporte de tu firma para que no haya confusiones.
Re: Ocultar foro a usuarios hasta que consigan X mensajes
Publicado: 02 Oct 2010, 11:43
por SikO124
Bueno, parece que funciona, pero unicamente a los nuevos registros. No hay alguna manera de pasar automaticamente a todos los usuarios que tengan menos de 20 mensajes al grupo de Nuevos Usuarios Registrados?
Gracias!
Re: Ocultar foro a usuarios hasta que consigan X mensajes Tema Solucionado
Publicado: 02 Oct 2010, 14:05
por HuanManwe
Accede a tu base de datos vía phpMyAdmin y haz una copia de seguridad de esa base de datos.
Examina el contenido de la tabla
phpbb_groups
Mira el número de
group_id que tiene como
group_name GUESTS. Eso te dará el ID del grupo de invitados. Copia también el group_id de los grupos llamados NEWLY_REGISTERED.
Luego verás que en la tabla
phpbb_user_group se relaciona a cada usuario con el/los grupo(s) al/a los que pertenece (puede pertenecer a varios grupos, pero siempre debe tener uno solo como su grupo por defecto. El grupo por defecto aparece en el campo
group_id dentro de cada fila de la tabla
phpbb_users).
Una vez tengas esos datos debes ejecutar esta sentencia:
Código: Seleccionar todo
SELECT `user_id` FROM `phpbb_users` WHERE user_posts < 20;
Eso te debería dar todos los user_id de los usuarios que tienen menos de 20 mensajes. Apunta en un archivo de texto todas esas ID's. Por si acaso.
Luego ejecuta esta sentencia SQL:
Código: Seleccionar todo
UPDATE `phpbb_users` SET `group_id` = 'numero_de_group_id_de_NEWLY_REGISTERED' WHERE `phpbb_users`.`user_posts` < 20;
Cambiando
numero_de_group_id_de_NEWLY_REGISTERED por el número de group_id del grupo NUEVOS USUARIOS REGISTRADOS.
Una vez hecho eso te habrá cambiado a todos los usuarios que tuvieran menos de 20 mensajes publicados pasen a ser del grupo "nuevos usuarios registrados". Pero eso también incluye al usuario "anonymous", que sí debe permanecer en el grupo de GUESTS. Así que debes ejecutar esta sentencia tras haber ejecutado con éxito la anterior:
Código: Seleccionar todo
UPDATE `phpbb_users` SET `group_id` = 'numero_de_group_id_de_GUESTS' WHERE `phpbb_users`.`username_clean` ='anonymous' ;