Invio formazione di Jhon Doe

Discussioni sul sito della Lega generato da FantaManager, sulle skin e su tutti plugin, ufficiali e sviluppati dagli utenti
Rispondi
DinoLegaTen
Messaggi: 237
Iscritto il: 10 set 2016, 14:58
Contatta:

Invio formazione di Jhon Doe

Messaggio da DinoLegaTen »

Sto aggiornando sito, compresa la piattaforma, qualcuno ha avuto problemi con il suddetto in piattaforme con php >5.4?

A me non funziona più e prima di metterci le mani visto che le mail sono sempre un terno al lotto volevo sapere se qualcuno ha riscontrato problemi.

A me apre il pop-up con errori di deprecazione della funzione ereg.
DinoLegaTen
Messaggi: 237
Iscritto il: 10 set 2016, 14:58
Contatta:

Re: Invio formazione di Jhon Doe

Messaggio da DinoLegaTen »

Ho rifatto tutto invio formazioni ex-novo visto che non ci avevo mai messo le mani, personalizzandolo sulla mia lega.

Posto comunque la soluzione anche per chi usa quello di Jhon Doe.

l'eerore che riscontrerete se passate a piattaforme che usano php dopo la versione 5.4 (forse 5.3) è che due funzioni usate da Jhon Doe, sono deprecate quindi invio non funzionerà avvertendo dell'errore.

O disabilitate errore dal php.ini (soluzione temporanea) oppure dovete sostituire le due funzioni.

Io ho rifatto tutto ex-novo (o quasi) ma mi ero segnato la soluzione, quindi se riscontrate errore che vi ho detto dovete modificare il file
sendmail.php che trovate nella cartella invform, come segue:

Sosituite la riga (circa 138 a seconda delle versioni):
foreach (split('; ', $_REQUEST['recipient']) as $add) $mail->AddAddress($add);
con la riga
foreach (explode('; ', $_REQUEST['recipient']) as $add) $mail->AddAddress($add);

dove si sostituisce la funzione split (deprecata) con la funzione explode (si potevano usare altre funzioni ma questa risulta essere la più veloce in esecuzione).

Sosituite le righe (circa 154 e 167 a seconda delle versioni):
$found = ereg('^a=passwords;', $buffer);
$result = ereg('a\[(.+)\]=\"(.+)\"', $buffer, $regs);
con le righe
$found = preg_match('/^a=passwords;/', $buffer);
$result = preg_match('/a\[(.+)\]=\"(.+)\"/', $buffer, $regs);

dove si sostituisce la funzione ereg (deprecata) con la funzione preg_match e si aggiungono le chiusure del pattern.

Prima o poi mi sa che ci cadete tutti se aggiornate.
papia
Messaggi: 1169
Iscritto il: 08 ago 2016, 11:51

Re: Invio formazione di Jhon Doe

Messaggio da papia »

mi spieghi in modo più semplice ("come se lo spiegassi ad un bambino di 5 anni") il problema che ti restituisce?
Usando altervista ho upgradato al di sopra della 5.3 e non ho ATTUALMENTE problemi
Avatar utente
Beaumont
Messaggi: 6
Iscritto il: 24 ago 2016, 14:48

Re: Invio formazione di Jhon Doe

Messaggio da Beaumont »

Anche a me col passaggio a php 5.6 non va più John Doe: non genera più le rose da cui scegliere le formazioni... :cry:
DinoLegaTen
Messaggi: 237
Iscritto il: 10 set 2016, 14:58
Contatta:

Re: Invio formazione di Jhon Doe

Messaggio da DinoLegaTen »

Nelle ultime versioni di php le funzioni ereg e split sono state deprecate e tolte definitivamente.

Il sendmail di Jhon Doe contiene quelle due funzioni quindi quando parte la chiamata alla pagina sendmail.php (dentro invform, è quella che apre pop-up) che contiene le funzioni si ferma tutto e avvisa che le funzioni non esistono più.

O si toglie segnalazione errore dal php e tutto procede, oppure si ferma tutto e bisogna sostituire le due funzioni come spiegato sopra.

A me ha funzionato poi ho rifatto tutto nuovo quindi non so se dopo sono nati altri problemi. Provate a sostituire se avete problemi e ditemi se funziona.
DinoLegaTen
Messaggi: 237
Iscritto il: 10 set 2016, 14:58
Contatta:

Re: Invio formazione di Jhon Doe

Messaggio da DinoLegaTen »

Beaumont ha scritto:Anche a me col passaggio a php 5.6 non va più John Doe: non genera più le rose da cui scegliere le formazioni... :cry:
Ecco questo non dovrebbe centrare con quanto sopra perchè le formazioni vengono caricate prima della chiamata a sendmail.php, che parte solo quando si clicca su "invia formazione".

probabilmente tu hai un errore nei js, perchè sono quelli che generano le rose, guarda se in console ti da degli errori.

Il js che gestisce invio formazioni è fcmInvioFormazioniFunzioni.js
Rispondi