Como sabéis el soporte para phpBB 3.1 será cerrado en breve, el 1 de Septiembre para ser exactos, solo se dará soporte para las actualizaciones a phpBB 3.2 o para 3.3 cuando se encuentre disponible.

Más información aquí.

Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro.

Gracias.

La Administración de phpBB España.

Foros de soporte phpBB 3.2.x
  • Avatar de Usuario
  • Avatar de Usuario
  • Avatar de Usuario
Avatar de Usuario
Por J_Sparrow
#241952
Buenas.
A alguno le puede parecer una tontería, a mi al principio ni se me había pasado por la cabeza, pero ayer me sucedió un problemilla y me hizo dudar mucho y darle vueltas. En mi Foro no se puede editar los mensajes que se publican pasados 15 minutos. Tuve que tomar esa drástica decisión porque la gente editaba las respuestas o preguntas, pasados días de su publicación y al final se desvirtuaba el tema. Hubo un usuario que lo edito en 10 ocasiones en menos de 2 días y fue un caos.
Ahora no es que haya mucho movimiento, apenas somos 5 los que publicamos cosas y podría quitar esa opción, pero no me fio de los demás.
El caso es que en un tema un usuario subió un adjunto que pasados unos días comprobó que no estaba bien y lo quiso cambiar. Yo como listillo, le dije que lo volviese a publicar y que luego cambiaba el anterior adjunto por el nuevo. Que listo que soy, cuando publicó la nueva respuesta con el adjunto corregido, me di cuenta que o lo bajaba a mi equipo, editaba el mensaje anterior y cambiaba el adjunto, o lo dejaba como estaba. Lo puedo hacer sin problema, pero antes quería saber si hay alguna forma sencilla de cambiar el adjunto de una manera similar de como cambiamos el tema de sección.
Me gustaría saber vuestros comentarios.
Avatar de Usuario
Por ThE KuKa
#241953
Sinceramente no me he topado con ese problema, al menos no lo recuerdo.

Para gestionar adjuntos, PCA - Mensajes - Adjuntos - Administrar adjuntos

Pero no veo nada para "mover" un adjunto añadido a un tema, a otro tema.

Sin embargo, en PCA - Mensajes - Adjuntos - Adjuntos huérfanos

Si veo la posibilidad de añadir un adjunto a un ID de mensaje, y poder marcar para añadir al mensaje.

Sinceramente no se si te ayudé... ¡pero de leer te hartas! :jaja:
J_Sparrow, andares le gusta esto
Avatar de Usuario
Por AbaddonOrmuz
#241954
Interesante, efectivamente al parecer actualmente no hay forma de mover los adjuntos no-huerfanos desde el panel de administración, podría ser una buena idea para una extensión.

Tu método me parece que es el más correcto y además sencillo, pero si te gusta complicarte la vida podrías hacerlo desde phpMyAdmin aunque no lo recomiendo salvo que sea realmente necesario, además de que no he revisado a profundidad todas las tablas que mantienen referencias a los adjuntos.

Sé que contigo no habría problema, pero para quien lo lea, recordarle hacer una copia de seguridad de la base de datos antes de hacer cualquier cambio.

En la tabla phpbb_attachments hay dos columnas que nos interesan que son post_msg_id y topic_id, estas modifican el mensaje y el tema al que pertenecen, respectivamente.

De la tabla phpbb_posts sólo nos interesa la columna post_attachment, que es el que indica si el mensaje contiene adjuntos o no.

Se puede obtener post_msg_id y topic_id con el enlace que te muestra la cabecera de cada mensaje y en el pequeño icono del documento, esto en prosilver porque hay algunos que modifican la plantilla, como el que usa este sitio que te lo muestra directamente, que dicho sea de paso lo encuentro muy útil.

Imagen

Por ejemplo, las siguientes URLs pertenecen al mismo mensage y son equivalentes.
Código: Seleccionar todo
http://ejemplo.com/forum/viewtopic.php?f=2&t=2#p3
http://ejemplo.com/forum/viewtopic.php?p=3#p3
De las URLs anteriores podemos deducir que topic_id tiene un valor de 2 (t=2) y post_msg_id tiene un valor de 3 (p=3 o #p3).

Si los adjuntos que quieres cambiar pertenecen al mismo tema, sólo tendrías que modificar post_msg_id, si en cambio quieres cambiarlo de mensaje y tema, tendrias que modificar tanto post_msg_id como topic_id

Para este ejemplo uso marcadores de texto en lugar de valores reales para que se entienda mejor sólo con verlo, y para evitar posibles errores en los identificadores al hacer un remplazo de texto usando programas como Notepad++ o Notepadqq.

{ID_POST_ORIGINAL}: ID del post original del adjunto
{ID_POST_NUEVO}: ID del post que recibirá el nuevo adjunto

Obtener identificador del adjunto:
Código: Seleccionar todo
SELECT attach_id, post_msg_id, topic_id FROM phpbb_attachments WHERE post_msg_id = {ID_POST_ORIGINAL}
Obtenemos y seleccionamos el ID del adjunto, que en este ejemplo lo nombraré como {ID_ADJUNTO}.

Cambiamos el adjunto de post:
Código: Seleccionar todo
UPDATE phpbb_attachments SET post_msg_id = {ID_POST_NUEVO} WHERE attach_id = {ID_ADJUNTO} AND post_msg_id = {ID_POST_ORIGINAL}
Modificamos el post que recibirá el nuevo adjunto para que permita mostrarlo, de no hacerlo el adjunto no aparecerá:
Código: Seleccionar todo
UPDATE phpbb_posts SET post_attachment = 1 WHERE post_id = {ID_POST_NUEVO} AND post_attachment = 0
Modificamos el post original sólo si movimos todos sus adjuntos, para evitar inconsistencias en el la tabla.
Código: Seleccionar todo
UPDATE phpbb_posts SET post_attachment = 0 WHERE post_id = {ID_POST_ORIGINAL} AND post_attachment = 1
Si remplazamos los marcadores con datos reales, nos quedaría:
Código: Seleccionar todo
SELECT attach_id, post_msg_id, topic_id FROM phpbb_attachments WHERE post_msg_id = 5

UPDATE phpbb_attachments SET post_msg_id = 3 WHERE attach_id = 6 AND post_msg_id = 5

UPDATE phpbb_posts SET post_attachment = 1 WHERE post_id = 3 AND post_attachment = 0

UPDATE phpbb_posts SET post_attachment = 0 WHERE post_id = 5 AND post_attachment = 1
Donde:
  • {ID_POST_ORIGINAL} tiene un valor de 5
  • {ID_POST_NUEVO} tiene un valor de 3
  • {ID_ADJUNTO} tiene un valor de 6
Luego de hacer cambios en la base de datos será necesario limpiar la caché y resincronizar las estadisticas dentro del PCA.
J_Sparrow, andares, ThE KuKa y 1 Otras descargas le gusta esto
Avatar de Usuario
Por J_Sparrow
#241955
Primero, muchas gracias a los dos, por algo se empieza :D :D
Si que se me había ocurrido buscar algo por phpMyAdmin, pero no lo quería complicar tanto.
A ver, es una tontería lo de cambiar el adjunto, se baja y se sube en el nuevo mensaje, pero me parece un poco triste tenerlo que hacer así. Mas triste cuando podemos cambiar los mensajes de sección, que internamente lo que me imagino que hace es cambiar algo en la Base de Datos.
@AbaddonOrmuz , evidentemente si hago algo, lo haré en Local primero y agradezco tu explicación, la voy a guardar en mi colección para hacer la prueba en Local un día de estos.
¿Que es una buena idea para hacer una extensión?, pues quien quiera ponerse a ello, yo lo seguiré con mucha expectación. He visto en el Foro en inglés que hay una sección para ideas, pero mi nulo inglés me impide ni tan siquiera plantearla. Si alguien se atreve a plantearla, yo encantado.

Este tipo de cosas son las que en el día a día no nos planteamos el necesitarlas, pero que a mas de uno (a mi), nos podrían servir.

Insisto, gracias a todos por vuestras aportaciones, es un placer leerlas y aprender de los mejores.

Como verás, no has publicado en el sitio co[…]

Hola, Comentar que no me "olvidé"[…]

Bienvenido al staff @AbaddonOrmuz

phpBB Topic Prefixes 1.0.0

Nombre de la Extensión: phpBB Topic Prefi[…]

Usa Google Apps...