Pagina 1 di 2
Tutti i messaggi di un utente vanno intestati ad un altro
Inviato: 09/06/2015, 12:21
da airenzo
Ho necessità di assegnare ad un utente tutti i messaggi scritti da un altro.
Lo posso fare mex per mex ma essendo numerosi, si può fare in blocco utilizzando la board?
grazie
Re: Tutti i messaggi di un utente vanno intestati ad un altr
Inviato: 09/06/2015, 21:17
da Anto
Ciao,
credo che l'unica soluzione sia ricorrere ad una query MySQL ma, visto che non vorrei aver detto una boiata, attendi conferma da altra anima.
Re: Tutti i messaggi di un utente vanno intestati ad un altr
Inviato: 09/06/2015, 22:00
da Sir Xiradorn
Domanda: non ricordo ma se elimini un utente mi pare che tu possa passare ad altri i messaggi (anche se non lo ricordo). Quindi una soluzione poco ortodossa è:
- copiare l'utente dal db
- eliminazione e passaggio ad un altro dei messaggi
- ricreazione dell'utente se non vuoi che sia eliminato
- copiatura dei parametri del db in maniera da averlo di nuovo come prima
Tale soluzione è pero per uno spostamento TOTALE dei messaggi. Altrimenti il DB è la tua sola via Mastro Baggins
Re: Tutti i messaggi di un utente vanno intestati ad un altr
Inviato: 09/06/2015, 23:01
da alex75
La funzione di spostare i messaggi altrove in caso di cancellazione, non vorrei sbagliarmi ma esiste soltanto per i forum. Se cancelli un utente, puoi scegliere di trattenere o cancellare i messaggi; ma se li trattieni restano a nome del vecchio utente, ma come non più registrato.
Re: Tutti i messaggi di un utente vanno intestati ad un altr
Inviato: 10/06/2015, 14:57
da Anto
Sir Xiradorn, temo che abbia ragione Alex75: adesso che ci penso, anche io ricordo che funziona come dice.
Re: Tutti i messaggi di un utente vanno intestati ad un altr
Inviato: 10/06/2015, 18:58
da Sir Xiradorn
Si infatti avevo un po di dubbi a riguardo. Sarebbe una funzionalità comoda. Male che va si può fare uno script per cambiare il tutto o operare direttamente sul db come si diceva.
Re: Tutti i messaggi di un utente vanno intestati ad un altr
Inviato: 15/06/2015, 9:46
da alex75
Se non avessi ancora risolto... ho trovato un'estensione che fà al caso tuo.
Preciso che l'estensione sposta tutti i messaggi e poi cancella il vecchio utente. Se volevi fare altro allora te la sconsiglio.
https://www.phpbb.com/customise/db/extension/usermerge/
Quì la traduzione italiana:
http://phpbb-store.it/traduzione-merge-user-t2901.html
Re: Tutti i messaggi di un utente vanno intestati ad un altr
Inviato: 15/06/2015, 12:04
da Micogian
A prima vista sembrerebbe facile, con una query msql si sostituisce il vecchio user_id con il nuovo.
Il problema è che le tabelle interessate sono diverse.
La tabella posts contiene i dati della discussione, qui va sostituito il campo poster_id che corrisponde all'user_id che ha creato il post. Ci sarebbe anche il poster_ip ma questo dato non mi sembra rilevante.
Nella tabella topics bisogna sostituire il poster_id che corrisponde all'ultimo intervento nel topic, stessa cosa per topic_last_poster_id e topic_last_poster_name. Se l'utente è quello che ha creato il topic vanno sostituiti topic_first_poster_id e topic_first_poster_name.
Se il colore degli utenti è diverso vanno sostituiti anche topic_first_poster_color e topic_last_poster_color.
Se il vecchio utente ha creato il topic oppure ha creato l'ultima risposta bisogna intervenire anche sulla tabella forums.
C'è poi il problema degli allegati, se ci sono allegati va modificata la tabella attachments.
Ci sarebbe poi da intervenire sul numero dei messaggi di ciascun utente ma quello si può fare dal PCA.
Come vedete la cosa non è semplice, si può fare ma con molta attenzione e precisione.
Re: R: Tutti i messaggi di un utente vanno intestati ad un a
Inviato: 15/06/2015, 12:26
da brunino
Ma se c'e l'estensione...
Inviato dal mio GT-S5360 con Tapatalk 2
Re: Tutti i messaggi di un utente vanno intestati ad un altr
Inviato: 15/06/2015, 15:02
da alex75

Conosco il cervello di micogian
La rifarebbe lui e funzionerebbe anche meglio
è già entrato nell'ottica.