[ERROR] posts fantasmas de usuarios nuevos

Viendo 2 entradas - de la 1 a la 2 (de un total de 2)
  • Autor
    Entradas
  • #2231
    TGD
    Miembro

    otro hilo [ERROR] para cubrir el problema de algunos posts antiguos que aparecen bajo nombre de usuarios nuevos.

    moveria los posts correspondientes del topic listado a continuacion a este nuevo hilo, pero bueno, no es posible asi que pasteo lo que ya se ha hablado.

    aver si se puede solucionar con lo propuesto en el siguiente post.

    Dwarf escribio el Fri Feb 10, 2006 10:04 en ZONA TÉCNICA FITNESS >> Recomendacion para comprar patines nivel medio/alto:

    [quote=»Dwarf»:174erqen]El dueño del post es tb «Dwarf»? se puede repetir nick aqui o es que ha petao el foro o el anterior Dwarf se ha dado de baja?
    [/quote]

    [quote=»carles»:174erqen]La explicación es simple:

    Los usuarios se van registrando con un número asociado. Al restaurar la base de datos, restauré los foros pero no los últimos 20-30 usuarios registrados. Así, la base de datos tiene guardado, por ejemplo, que el usuario 1999 publicó un mensaje pero no se veía hasta ahora ya que el usuari 1999 no existía. A medida que se vuelva a registrar la gente es posible que vea algún post a su nombre que nunca escribió… No es grave aunque algo molesto. De aquí a pocas semanas ya ni nos acordaremos de esto…[/quote]

    [quote=»TGD»:174erqen]carles: idealmente deberias comprobar (bien manualmente o mediante un script), cuales son los IDs de los usuarios que han posteado en el foro anteriormente a la ultima restauracion, y que esos mismos IDs han sido utilizados para el registro de nuevos usuarios, despues de la restauracion.

    una vez identificados, cambiar el poster_id de todos los posts que han hecho estos usuarios fantasmas a un ID ‘Anonymous’ o similar.

    en caso contrario, usuarios nuevos podran (en teoria) editar o incluso borrar mensajes antiguos que realmente no son de su autoria (sino que aparentan ser de ellos como es el caso de los posts de Dwarf/edorin).

    no se si ‘vale la pena’ (por criterios de tiempo vs necesidad) pero ignorarlo podria romper la continuidad de algunos posts del foro y como consecuencia hacer, que si nos acordaremos de esta incidencia cuando menos lo sospechamos (en el supuesto caso de que alguien ‘no autorizado’ fuera a borrar ‘sus’ posts).[/quote]

    [quote=»carles»:174erqen]Si, lo hice en parte…

    Pero por falta de tiempo no puede hacer más.

    No se sufieciente de mysql para crear un comando que sea: conviérteme todos los usuarios mayores de 1995 en anonimos. Si alguien lo sabe que me lo explique.

    Es que ir uno por uno requiere un tiempo que no tengo…[/quote]

    #2232
    TGD
    Miembro

    [quote=»TGD»:390vo3n4]carles: en un principio, lo que pides no se corresponde con lo explicado en mi anterior post, ya que invalidaria todos los posts de los usuarios con ID igual o mayor a 1996.

    es de suponer que estos usuarios nuevos deberian seguir siendo autores de sus posts mas recientes (aquellos creados despues de la restauracion).

    no obstante, estas dos lineas deberian hacer el cambio correspondiente, tal como lo pides:


    UPDATE phpbb_topics t SET t.topic_poster = -1 WHERE t.topic_poster >= 1996;
    UPDATE phpbb_posts p SET p.poster_id = -1 WHERE p.poster_id >= 1996;

    (se puede hacer tambien mas elegante con un solo sql-statement, pero resulta mas sencillo entenderlo con dos)

    recomendaria hacer un backup antes de probarlo, o idealmente, copiar la base de datos a un servidor de testeo (local) para hacer una prueba primero y asi poder eliminar/detectar eventuales problemas antes de efectuar cambios reales en las tablas del servidor vivo/online.

    bien, para procesar solamente los posts creados *antes* de la restauracion (que seria lo ideal), podrias usar algo asi como esto:


    UPDATE phpbb_topics t SET t.topic_poster = -1 WHERE t.topic_poster >= 1996 AND FROM_UNIXTIME(t.topic_time) = 1996 AND FROM_UNIXTIME(p.post_time) < '2006-01-31';

    no he probado los statements en una base de datos real (al no disponer de un dump de sql de estas caracteristicas), y tambien el prefijo ‘phpbb_’ variara segun hayas configurado phpbb.

    por ultimo, es posible que phpbb (o phpnuke) guarde algun ID o dato adicional de los usuarios posteadores en otras tablas, pero creo que mas o menos es seguro asumir que estas dos ultimas lineas no alteran a nada importante que no sea justamente identificar a los autores correspondientes.[/quote]

    ya veremos si da resultado o no. 🙂

Viendo 2 entradas - de la 1 a la 2 (de un total de 2)
  • El foro ‘FORO PATINAJE GENERAL’ está cerrado y no se permiten nuevos debates ni respuestas.