Sostituzione ed eliminazione emoticon

Area dedicata al phpBB 3.2.X
Rispondi
Ramil
Utente
Utente
Messaggi: 125
Iscritto il: 09/06/2014, 13:50
Link del Forum: http://www.destrasecchia.com/forum/index.php

Sostituzione ed eliminazione emoticon

Messaggio da Ramil »

Salve, avrei in programma una "manutenzione" delle emoticon che prevede la sostituzione ed eliminazione di una parte delle emoticon utilizzate fino ad oggi, oltre all'aggiunta di nuove emoticon.
Tre domande:

1) per quelle sostituite, suppongo che adottando lo stesso codice e descrizione dell'emozione, all'interno dei post ritroverò le nuove emoticon che hanno sostituito le precedenti. Giusto?

2) nei casi in cui una emoticon fosse sostituita da una diversa e con codice e descrizione diversi, è possibile sostituire automaticamente in tutti i posts il codice attuale con il nuovo codice che lo sostituisce?

3) per quanto riguarda le emoticon eliminate e non sostituite da nessun'altra, esiste la possibilità di cancellare il relativo codice da tutti i posts in cui è presente, sempre utilizzando un automatismo?

Grazie.
Avatar utente
Dr.House
Amministratore
Amministratore
Messaggi: 2173
Iscritto il: 08/01/2012, 8:24
Link del Forum: www.phpbb-italia.it
Località: Reggio Calabria
Contatta:

Re: Sostituzione ed eliminazione emoticon

Messaggio da Dr.House »

1) per quelle sostituite, suppongo che adottando lo stesso codice e descrizione dell'emozione, all'interno dei post ritroverò le nuove emoticon che hanno sostituito le precedenti. Giusto?
Esatto.
2) nei casi in cui una emoticon fosse sostituita da una diversa e con codice e descrizione diversi, è possibile sostituire automaticamente in tutti i posts il codice attuale con il nuovo codice che lo sostituisce?
lo devi fare manualmente a meno che non ci sia una estensione che faccia questa operazione.
3) per quanto riguarda le emoticon eliminate e non sostituite da nessun'altra, esiste la possibilità di cancellare il relativo codice da tutti i posts in cui è presente, sempre utilizzando un automatismo?
Sempre manualmente o con una estensione se esiste.Phpbb3 non ha una funzione nativa "sostituisci in post".Le emoticon utilizzate a suo tempo sono state storicizzate nel db.Di conseguenza per ogni post dove hai utilizzato le emoticon cancellate visualizzerai il codice di emozione piuttosto che lo smile.
Ramil
Utente
Utente
Messaggi: 125
Iscritto il: 09/06/2014, 13:50
Link del Forum: http://www.destrasecchia.com/forum/index.php

Re: Sostituzione ed eliminazione emoticon

Messaggio da Ramil »

Grazie delle risposte.
Quando scrivi "sono state storicizzate nel db" intendi dire memorizzate?

Se non fosse disponibile un'apposita estensione, sarebbe possibile fare sostituzioni e cancellazioni direttamente tramite data base?
Avatar utente
Dr.House
Amministratore
Amministratore
Messaggi: 2173
Iscritto il: 08/01/2012, 8:24
Link del Forum: www.phpbb-italia.it
Località: Reggio Calabria
Contatta:

Re: Sostituzione ed eliminazione emoticon

Messaggio da Dr.House »

Si,storicizzate=memorizzate.
Il database ha diverse tabelle incrociate tra di loro.Non è semplice intanto individuare quella specifica e successivamente intervenire.
Il rischio e le probabilità di insuccesso sopratutto per chi ha poca dimestichezza sono elevate.
Ramil
Utente
Utente
Messaggi: 125
Iscritto il: 09/06/2014, 13:50
Link del Forum: http://www.destrasecchia.com/forum/index.php

Re: Sostituzione ed eliminazione emoticon

Messaggio da Ramil »

Concordo con te, ma fortunatamente c'è chi conosce abbastanza bene MySql da poterci mettere le mani con disinvoltura.

Ho appena dato un'occhiata al DB, la tabella dei posts dovrebbe essere appunto posts ed il campo del testo del messaggio post_text.
Al momento non conosco MySql in misura sufficiente da poter risolvere il tutto in autonomia, ma suppongo che in questo DBMS non manchi la funzione "Trova e Sostituisci" da poter applicare al campo di una tabella.
Basterebbe questo automatismo per sostituire il codice delle emoticon in tutti i posts senza doversi spulciare i post uno per uno. ;-)
Avatar utente
Sir Xiradorn
Graphics
Graphics
Messaggi: 170
Iscritto il: 16/03/2018, 21:35
Link del Forum: https://xdojo.xiradorn.it/ https://xdojo.xiradorn.it/x/30x/ https://xdojo.xiradorn.it/x/31x/ https://xdojo.xiradorn.it/x/32x/
Località: localhost, 80
Contatta:

Re: Sostituzione ed eliminazione emoticon

Messaggio da Sir Xiradorn »

Ti spiego. La banale operazione di sostituzione non è sufficiente a fare questa cosa. La query che invece va fatta è abbastanza più complessa e deve tenere conto di fare una sostituzione di un pezzo di stringa. Si potrebbe operare direttamente sul database o tramite uno script php. Il problema è che il chunk che devi sostituire deve essere individuabile in maniera corretta e devi usare delle tecniche di invidiazione più complesse (vedi le REGEX) per fare il check.

Inoltre, adesso non ricordo bene, ma mi pare che quello non sia l'unico campo da dover modificare. Rammento che il parser fa più passaggi di coversione da quello che è il testo inviato nella form e quello che poi viene storato nel db.

In ultimo se il DB è molto grande non è detto che tale operazione sia di fatto indolore e di sicuro non va fatta da interfaccia grafica phpmyadmin ma da ssh e lanciando una query a codice il che rende più complesso la scrittura se non si sa quello che va fatto. SI può incorrere in timeout scripting.

In sintesi: FATTIBILE? Beh si tutto è fattibile se si sa cosa fare. CONSIGLIATO? Beh no se non si hanno i mezzi giusti per farlo, non si fanno prove in locale e simili. Se sei alle prime armi, è altamente sconsigliato
Xiradorn - Xiradorn Lab - xiradorn.it
Immagine
Style expert for phpbb 3.0 | 3.1 | 3.2
Avatar utente
twm
PhpBB Expert
PhpBB Expert
Messaggi: 438
Iscritto il: 14/11/2015, 19:33
Link del Forum: https://lnx.3rotaie.it/forum/
Contatta:

Re: Sostituzione ed eliminazione emoticon

Messaggio da twm »

Infatti, io lascerei comunque le vecchie emoticon, aggiungerei quelle nuove, magari riconfigurerei l'ordine di apparizione e, credo sia possibile, le "nascondo" senza cancellarle. Puoi anche sostituire le gif senza cambiare il codice d'inserimento. Così eviti di armeggiare con il db, sempre fonte di rischi. Il tutto via PCA
Tito
3rotaie.it
Database server: MySQL(i) 5.5.61-38.13-log Versione PHP: 7.3 Versione phpBB: 3.3.4
Ramil
Utente
Utente
Messaggi: 125
Iscritto il: 09/06/2014, 13:50
Link del Forum: http://www.destrasecchia.com/forum/index.php

Re: Sostituzione ed eliminazione emoticon

Messaggio da Ramil »

Ramil ha scritto:Concordo con te, ma fortunatamente c'è chi conosce abbastanza bene MySql da poterci mettere le mani con disinvoltura.

Ho appena dato un'occhiata al DB, la tabella dei posts dovrebbe essere appunto posts ed il campo del testo del messaggio post_text.
Al momento non conosco MySql in misura sufficiente da poter risolvere il tutto in autonomia, ma suppongo che in questo DBMS non manchi la funzione "Trova e Sostituisci" da poter applicare al campo di una tabella.
Basterebbe questo automatismo per sostituire il codice delle emoticon in tutti i posts senza doversi spulciare i post uno per uno. ;-)
Come da supposizioni di alcuni giorni fa e come descritto in questo post, ieri sera ho trovato e utilizzato la funzione "Trova e sostituisci" di phpMyAdmin, le stringhe sostituite sono state decine e tutte diverse, ha funzionato tutto perfettamente!

Sicuramente si potrà fare di meglio, ma mi ha risparmiato la ricerca e sostituzione manuale di centinaia di stringhe in post diversi. :yahoo:
Ramil
Utente
Utente
Messaggi: 125
Iscritto il: 09/06/2014, 13:50
Link del Forum: http://www.destrasecchia.com/forum/index.php

Re: Sostituzione ed eliminazione emoticon

Messaggio da Ramil »

Sir Xiradorn ha scritto:In sintesi: FATTIBILE? Beh si tutto è fattibile se si sa cosa fare. CONSIGLIATO? Beh no se non si hanno i mezzi giusti per farlo, non si fanno prove in locale e simili. Se sei alle prime armi, è altamente sconsigliato
So cos'è un DBMS, so più o meno come funzionano perchè ne utilizzo uno da oltre 20 anni (MS Access) ma non so praticamente nulla di MySql.

L'eliminazione e/o sostituzione nei posts del codice corrispondente alle emoticon non mi sembra cosa molto complessa e sono portato a pensare che la funzione "Trova e sostituisci" di phpMyAdmin sia adeguata e più che sufficiente, così come lo è stata ieri sera per la sostituzione di altre stringhe.

Sostituire "Pinco" con "Palla" mi pare non sia molto diverso dal sostituire ":emoticon1:" con ":emoticon2:". Sbaglio?
Ramil
Utente
Utente
Messaggi: 125
Iscritto il: 09/06/2014, 13:50
Link del Forum: http://www.destrasecchia.com/forum/index.php

Re: Sostituzione ed eliminazione emoticon

Messaggio da Ramil »

twm ha scritto:Infatti, io lascerei comunque le vecchie emoticon, aggiungerei quelle nuove, magari riconfigurerei l'ordine di apparizione e, credo sia possibile, le "nascondo" senza cancellarle. Puoi anche sostituire le gif senza cambiare il codice d'inserimento. Così eviti di armeggiare con il db, sempre fonte di rischi. Il tutto via PCA
Ciao twm, mi sfugge cosa intendi per "nasconderle".
Rispondi