Simple Machines Community Forum

SMF Support => Language Specific Support => Italiano (Italian) => Topic started by: alexred on May 04, 2014, 06:15:27 AM

Title: manca il testo del messaggio privato nella mail di avviso
Post by: alexred on May 04, 2014, 06:15:27 AM
Salve a tutti,
da alcuni giorni sul nostro forum SMF 2.0.7 c'è un piccolo problemino.
Quando gli utenti si inviano messaggi privati parte correttamente la mail di avviso ma questa non contiene più il testo del messaggio privato inviato.
Questa una parte del testo della mail:

Quote
IMPORTANTE: ricorda, questa è solo una notifica. Non rispondere a questa e-mail.

Il messaggio inviato è:

e dopo questa parte non viene riportato il testo del messaggio. Mentre vengono riportati correttamente il nome dell'utente che ha inviato il messaggio privato, l'oggetto ed il link diretto per rispondere ecc...

Non saprei se questo problema è arrivato dall'ultimo aggiornamento del forum alla 2.0.7,
siamo inoltre recentemente passati da un server Apache ad un server con Nginx e MySQL Server MariaDB e PHP 5.4 ma non saprei se può dipendere da questo...
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: emanuele on May 04, 2014, 05:28:14 PM
Ops, scusa il ritardo, ma oggi è stata una giornata un po' "spessa" e ho dimenticato aperto la tab in una finestra "sperduta"... lol

hmm...

Quella "è" è inclusa nel messaggio?
Chiedo conferma, perché se lo tagliasse in corrispondenza potrei pensare a qualche problema di encoding, ma se lo lascia e non mette proprio il messaggio è altro.
Da qui a dire cosa è dura...
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: alexred on May 05, 2014, 03:04:45 AM
Ciao emanuele,
grazie per la risposta.
Si, la  "è" è inclusa nel messaggio e nelle variabile lingua, è poi correttamente seguita dai duepunti.
Da ieri poi gli avvisi via mail hanno ripreso a riportare correttamente il testo del messaggio privato.....   booooooo  rimane un mistero  :)
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: emanuele on May 05, 2014, 03:57:32 AM
...
E' sempre un piacere quando gli script fanno quello che vogliono...
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: Ninja ZX-10RR on May 05, 2014, 08:28:28 AM
Quote from: alexred on May 05, 2014, 03:04:45 AM
Ciao emanuele,
grazie per la risposta.
Si, la  "è" è inclusa nel messaggio e nelle variabile lingua, è poi correttamente seguita dai duepunti.
Da ieri poi gli avvisi via mail hanno ripreso a riportare correttamente il testo del messaggio privato.....   booooooo  rimane un mistero  :)
(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fcdn.alltheragefaces.com%2Fimg%2Ffaces%2Fpng%2Fmisc-jackie-chan.png&hash=3e94a102505e6dba400753527b5615459b21c0b4)
Ma serio?
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: alexred on May 05, 2014, 03:46:57 PM
abbiamo replicato il problema.
Se il testo del messaggio contiene caratteri speciali o anche solo una formattazione in corsivo la mail arriva senza il testo del messaggio.

La codifica del nostro forum è ancora in ISO e non saprei se riuscite a replicare il problemino....
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: emanuele on May 05, 2014, 04:56:46 PM
Molto strano però che lo tronchi nelle mail e non nei post...però... usate la coda delle mail?
SMTP o phpmail?

Controlla per sicurezza encoding e collation di database e tabelle.
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: alexred on May 06, 2014, 02:49:51 AM
No, niente coda mail ed usiamo phpmail.

Forse il problema è proprio nella codifica, il forum sul nuovo server è stato creato in utf8_general_ci e non in latin1_swedish_ci,
poi le tabelle sono correttamente in latin1_swedish_ci
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: emanuele on May 06, 2014, 04:40:21 PM
hmmm...
Puoi provare ad abilitare la coda per verificare?

Ma prima, potresti provare a mandarmi un PM con un testo che di norma viene troncato? (Il mio account è emanuele45.)
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: alexred on May 06, 2014, 05:08:31 PM
Ciao emanuele,
anche con la coda abilitata ottengo lo stesso problema.

PM di test inviato
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: emanuele on May 07, 2014, 02:51:25 AM
Mi verrebbe da consigliarti di convertire ad UTF8, ma la paura che la stessa cosa vada storta durante la conversione mi spaventa...
Se hai la possibilità potresti provare clonando il forum e facendo la conversione.

Questa è veramente, ma veramente strana, la prima volta che mi capita, mi era capitato nei testi dei messaggi (vecchi e nuovi), mi son capitati caratteri strani (ho appena spostato un forum da 200k messaggi, durante la prova nessuno se n'è accorto, quando sono "andato live" ci siamo accorti che alcuni caratteri speciali erano stati alterati, me li son dovuti rimettere a posto a mano... xD).

All'inizio pensavo a qualcosa che andava storto nella comunicazione tra SMF e phpmail, ma dopo il test mi rendo conto che è qualcosa interno ad SMF perché anche la versione base64 encoded non ha il corpo del messaggio...
Quindi qualcosa fallisce "dentro" ad SMF, l'unico motivo che potrebbe venirmi in mente è perché fallisce a "capire" che il forum è ISO e cerca di trattarlo come UTF8.
Ora, perché non lo capisca è tutto un altro discorso...

Purtroppo al momento non posso, cercherò stasera di guardare il codice e cercare di capire dove può essere il problema (a sto punto mi viene quasi da pensare sia un bug).

Oh, un'altra cosa: potresti controllare in Settings.php se c'è qualche riferimento a UTF8?
Ed anche in index.italian.php (ci dovrebbe essere una stringa con l'encoding).
Se non ricordo male c'è anche la possibilità di specificarlo nella tabella settings, ma devo andare a guardare il codice perché non mi ricordo più i dettagli.

Come pezza estremamente temporanea, potresti cambiare il testo della mail in modo da non indicare che ci dovrebbe essere il testo.
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: alexred on May 07, 2014, 03:09:32 AM
Quote from: emanuele on May 07, 2014, 02:51:25 AM
Mi verrebbe da consigliarti di convertire ad UTF8, ma la paura che la stessa cosa vada storta durante la conversione mi spaventa...
Se hai la possibilità potresti provare clonando il forum e facendo la conversione.
ho provato più volte (su copie di backup) a fare lanciare la conversione ad UTF8 ma la procedura si blocca......  non saprei se a causa delle dimensioni del nostro database o per altri problemi e limitazioni.

Nel file index.italian.php appare il riferimento all'ISO:
$txt['lang_character_set'] = 'ISO-8859-1';

nel file Settings.php non ho trovato riferimenti alla codifica.

Grazie per l'aiuto
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: emanuele on May 07, 2014, 06:54:08 PM
azz...
La funzione iconv è presente sul nuovo server?
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: alexred on May 08, 2014, 02:59:43 AM
nel php.ini leggo:

iconv
iconv support    enabled
iconv implementation    glibc
iconv library version    2.12

Directive                       Local Value     Master Value
iconv.input_encoding       UTF-8   ISO-8859-1
iconv.internal_encoding   UTF-8   ISO-8859-1
iconv.output_encoding    UTF-8   ISO-8859-1


Quindi la funzione iconv pare presente ed abilitata. La questione sulle directive UTF-8 Local  e  ISO-8859-1 Master  non saprei come interpretarla, credi sia corretta per il nostro forum in ISO o meglio impostare il Local Value ISO-8859-1  ?

Grazie per l'aiuto
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: emanuele on May 09, 2014, 04:05:39 PM
Sorry, ieri è stata una giornata trafficata...
Onestamente brancolo un po' nel buio, siccome hai elencato due possibili cause (cambio host, aggiornamento 2.0.7) ed io ho riscontrato problemi con entrambe, proviamo una cosa: tagliamo la testa al toro e vediamo di escluderne una: prova a disinstallare la patch 2.0.7. Non è una patch di sicurezza, quindi non causa problemi.

Solo, prima di toglierla senti il tuo host e chiedigli se ha disabilitato il modimodificatore "e" per le espressioni regolari di php (te lo dico perché ho visto forum morire dall'oggi al domani perché l'ho aveva deciso di disabilitare questo modifier e quindi tutte le preg_replace che contavano su di esso sono morte.

Quindi: 1) chiedi lumi all'host sul modificatore "e" (oppure prova semplicemente un pezzo di codice che lo contiene e vedi se gira), 2) se non ci sono problemi prova a rimuovere la patch 2.0.7.

ETA: prima di quanto sopra, fai una prova veloce, per favore.
In Subs-Post.php cerca:
Code (find) Select
$message = trim(un_htmlspecialchars(strip_tags(strtr(parse_bbc(htmlspecialchars($message), false), array('<br />' => "\n", '</div>' => "\n", '</li>' => "\n", '&#91;' => '[', '&#93;' => ']')))));
e rimpiazzalo con:
Code (replace with) Select
$message = trim(un_htmlspecialchars(strip_tags(strtr(parse_bbc($smcFunc['htmlspecialchars']($message), false), array('<br />' => "\n", '</div>' => "\n", '</li>' => "\n", '&#91;' => '[', '&#93;' => ']')))));
Se continua a non funzionare, riportalo alla versione originale. ;)
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: alexred on May 09, 2014, 04:50:35 PM
Ottimo!!!
Modificato come suggerito il file Subs-Post.php ed il problema pare risolto.

Continuo a monitorare e fare test.

Grazie per l'aiuto
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: emanuele on May 10, 2014, 04:03:05 PM
Great! :D

Allora bisogna ringraziare Spuds che ha notato l'incongruenza! :D
Title: Re: manca il testo del messaggio privato nella mail di avviso
Post by: alexred on May 10, 2014, 05:08:05 PM
Perdonatemi ma non saprei chi sia Spuds e lo ringrazio molto volentieri.

Con eventuali aggiornamenti futuri rischio di perdere questa modifica o sarà implementata nel core di SMF ?