Página 1 de 1

Cambiar adjunto de mensaje

Publicado: 12 Ene 2019, 16:55
por J_Sparrow
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.

Re: Cambiar adjunto de mensaje

Publicado: 12 Ene 2019, 18:00
por ThE KuKa
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:

Re: Cambiar adjunto de mensaje

Publicado: 12 Ene 2019, 19:51
por AlfredoRamos
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:
Spoiler

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.

Re: Cambiar adjunto de mensaje

Publicado: 12 Ene 2019, 20:19
por J_Sparrow
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.

Re: Cambiar adjunto de mensaje

Publicado: 23 Ene 2019, 06:02
por picaron
Bueno @J_Sparrow, como me picó la curiosidad tu comentario, he creado una extensión que permite gestionar los adjuntos como solicitas. 8-)
Si lo ves bien, pruebala y me comentas si observas cualquier fallo.
Saludos.

Re: Cambiar adjunto de mensaje

Publicado: 23 Ene 2019, 18:57
por J_Sparrow
Uff, que lujazo, una extensión para un problema que me ha surgido a mi. Un detallazo.
Ando escaso de tiempo esta semana, pero buscaré un hueco para probarla y comentar por aquí.

Re: Cambiar adjunto de mensaje

Publicado: 23 Ene 2019, 19:15
por ThE KuKa
picaron escribió:Bueno @J_Sparrow, como me picó la curiosidad tu comentario, he creado una extensión que permite gestionar los adjuntos como solicitas. 8-)
Si lo ves bien, pruebala y me comentas si observas cualquier fallo.
Saludos.
Pues IMPRESIONANTE, es un detallazo, de verdad! :clap: :clap: :clap:

Se agradece, supongo que por más, es una extensión interesante y útil. :wink:

Re: Cambiar adjunto de mensaje

Publicado: 23 Ene 2019, 19:28
por J_Sparrow
:D :D :D :D
Vaya, para una vez que me animo (no podía esperar) y saco un rato, mi gozo en un pozo. Tengo en Local (y en el sitio oficial), el Foro en versión 3.2.1 y la extensión es para 3.2.4
Mi intención era probar cosas en Local, actualizar el foro allí y luego actualizarlo en mi sitio oficial, pero es que no me dan las horas del día, habría que hacer días de 48 horas y aún y todo, no haría todo lo que quiero.
Intentaré actualizar mi Foro Local a la 2.5 este fin de semana aunque solo sea por probar la extensión, que seguro es lo que necesitaba.

Gracias @picaron a ver si te puedo decir algo este fin de semana.

Re: Cambiar adjunto de mensaje

Publicado: 23 Ene 2019, 21:04
por picaron
¡¡ Gracias por vuestros comentarios !! :oops:
@J_Sparrow es que la he realizado a partir del core de la 3.2.4.
No la he probado en 3.2.1, por lo que desconozco si saltaría alguna alarma.
Nota: Nunca os ha picado la curiosidad de controlar la información que fluye a través de la mensajería privada de vuestro foro???... Con esta extensión ahora si se puede... xD

Re: Cambiar adjunto de mensaje

Publicado: 24 Ene 2019, 19:15
por ThE KuKa
Ummmm no, los MPs son MPs... son privados de los usuarios. :geek: :angel:

Re: Cambiar adjunto de mensaje

Publicado: 25 Ene 2019, 00:56
por picaron
Llevas razón @ThE KuKa, pero a mi este tema me crea una considerable controversia.

Según la LOPD, el propietario de un foro es el único responsable de velar y proteger la información sensible de los usuarios que queda registrada en el. (Incluidos los MPs)

Imaginemos por un momento, que los usuarios se ponen a hacer un uso inadecuado de la mensajería del foro, enviándose, yo que se, por poner un ejemplo, temas de pedofilia.

phpBB no aporta ningún filtro o mecanismo frente a esta situación, todo queda a la buena fe de los usuarios, ya que, ni el propio dueño del sitio, tiene posibilidad de controlar nada en esa linea.

El foro es nuestro, el hosting también y sin darnos cuenta, seriamos responsables indirectos de hospedar este tipo de material.

Yo creo que el tema de la privacidad de los MPs, tratándolo a fondo, daría bastante de que hablar.

Saludos.

Re: Cambiar adjunto de mensaje

Publicado: 25 Ene 2019, 17:25
por ThE KuKa
Hombre, siempre se puede reportar un MP que se considere "fuera de lugar". ;)

Re: Cambiar adjunto de mensaje

Publicado: 26 Ene 2019, 23:32
por picaron
Ya @ThE KuKa, pero eso sucederá cuando el que lo reciba esté por la labor de denunciarlo... :sweat:

Cambiar adjunto de mensaje

Publicado: 23 Sep 2019, 00:24
por J_Sparrow
picaron escribió: 23 Ene 2019, 06:02

Bueno @J_Sparrow, como me picó la curiosidad tu comentario, he creado una extensión que permite gestionar los adjuntos como solicitas. 8-)
Si lo ves bien, pruebala y me comentas si observas cualquier fallo.
Saludos.

Bueno, POR FIN he podido probas esta ESTUPENDA extensión, que muy gentilmente preparó nuestro amigo @picaron en su día. Funciona mas o menos como lo queremos, solo hay que conoces la ID del mensaje al que queramos cambiar el adjunto.
No he hecho la prueba física, porque no recuerdo cual era el mensaje donde quería cambiarlo, pero viendo lo que veo, me imagino que es cambiar el ID y marcar la casilla de su derecha.
Imagen

Gracias @picaron , en unos días cierro el tema.