devcode-it / openstamanager

Il software gestionale open source per l'assistenza tecnica e la fatturazione
https://www.openstamanager.com
GNU General Public License v3.0
108 stars 68 forks source link

PREVENTIVI - piccolo problema stampa preventivi #92

Closed antonioscarpino closed 6 years ago

antonioscarpino commented 6 years ago

Riporto qui un piccolo problema che è presente quando si va a creare la stampa di un preventivo. Infatti alla fine della pagina non viene inserito il piè pagina.

vedi immagine errore2

Dasc3er commented 6 years ago

@antonioscarpino Non riesco a riprodurre il problema con la versione master dalla repository, quindi potrebbe essere già stato risolto... Stai utilizzando la release 2.3 beta 2?

antonioscarpino commented 6 years ago

Nella 2.3 beta 2 l'errore non c'èra. Aggiornando al repository master è comparso l'errore.

antonioscarpino commented 6 years ago

Attivando la modalità di debug e andando a stampare un preventivo esce fuori questo

Whoops\Exception\ErrorException thrown with message "The each() function is deprecated. This message will be suppressed on further calls"

Stacktrace:

6 Whoops\Exception\ErrorException in /home/saelettral/openstamanager/vendor/mpdf/mpdf/mpdf.php:10894

5 each in /home/saelettral/openstamanager/vendor/mpdf/mpdf/mpdf.php:10894

4 mPDF:_putimages in /home/saelettral/openstamanager/vendor/mpdf/mpdf/mpdf.php:26283

3 mPDF:_putresources in /home/saelettral/openstamanager/vendor/mpdf/mpdf/mpdf.php:11325

2 mPDF:_enddoc in /home/saelettral/openstamanager/vendor/mpdf/mpdf/mpdf.php:2142

1 mPDF:Close in /home/saelettral/openstamanager/vendor/mpdf/mpdf/mpdf.php:9275

0 mPDF:Output in /home/saelettral/openstamanager/pdfgen.php:194

errore

Dasc3er commented 6 years ago

@antonioscarpino Che versione PHP sta utilizzando? Perché apparentemente la funzione each è stata deprecata a partire dalla versione 7.2 di PHP.

La libreria MPDF, introdotta recentemente per gestire le stampe in modo più semplice, è attualmente utilizzata alla versione 6.* per garantire la compatibilità con PHP >= 5.4, ma il suo funzionamento viene garantito ufficialmente fino alla versione 7.0 di PHP... Recentemente è stata rilasciata la nuova versione 7 di MPDF, che però è compatibile a partire da PHP >= 5.6, e il relativo aggiornamento potrebbe provocare dei problemi per chi utilizza versione precedenti di PHP...

Dasc3er commented 6 years ago

Però è anche vero che ormai le versione PHP precedenti alla 5.6 non sono neanche più mantenute a livello di sicurezza, e non credo che ci siano molti provider che ancora le forniscono di default... Ecco la documentazione ufficiale di supporto: http://php.net/supported-versions.php

@loviuz @fpsoftware @lucasalva87 Cosa ne pensate? L'aggiornamento del requisito minimo a PHP 5.6 permetterebbe di aggiornare molte librerie da noi utilizzate, come PHPMailer, MPDF e i componenti Symfony, evitando problemi con le versione più recenti di PHP.

antonioscarpino commented 6 years ago

Attualmente su gran parte degli host sono supportate le versioni PHP dalla 5.6 alla 7.2 io personalmente su questo hosting ho la 7.2. Personalmente credo sia meglio sviluppare un prodotto che possa avere una compatibilità e un supporto futuro (in special modo per una nuova relese che deve ancora uscire e che si presuppone debba essere la base per altre future) che cercare di mantenere la compatibilità a vecchie versioni di PHP deprecate. E' anche vero che molte aziende che usano questo tipo di prodotti non provvedono al mantenimento dei propri server.

loviuz commented 6 years ago

@Dasc3er, nell'ottica di poter usare librerie più aggiornate e pensare al futuro, secondo me si può portare la compatibilità minima da PHP 5.4 a 5.6. Ho visto anche differenze di performance non da poco da PHP 5.4 a 5.6, per cui conviene sia a livello di sicurezza che di performance!

Dasc3er commented 6 years ago

@loviuz E in quanto a compatibilità con le versioni precedenti?

In passato @fpsoftware aveva sottolineato l'importanza di mantenere la compatibilità a partire da PHP 5.4... Con il commit 593464603da5da740304fe623fb33adff0cfb04a ho effettuato alcuni miglioramenti proprio in questo senso.

Si potrebbe anche pensare di completare la release 2.3 come ultima compatibile a partire da PHP 5.4 (e di passaggio verso PHP 7), e dalle successive alzare il requisito a PHP 5.6 (oppure, a scelta, direttamente al 7) in base al feedback degli utenti. Oppure si potrebbero effettuare due zip: uno compatibile con PHP >= 5.4 e l'altro no...

fpsoftware commented 6 years ago

La soluzione con due zip non è il massimo da gestire, sia per gli utenti sia per noi, la eviterei. Visti i problemi a questo punto é meglio partire anche per me da PHP 5.6 il problema sarà sopratutto per gli utenti che aggiornano un'installazione esistente, che sicuramente non ha PHP 7

Dasc3er commented 6 years ago

Con il commit 3c2f6012e4c76775c1d0f2e2c22a5a4717aa88d4 ho impostato il requisito minimo a PHP 5.6...

Eventualmente, per risolvere il problema di compatibilità, si può risalire al commit 593464603da5da740304fe623fb33adff0cfb04a per ottenere una versione funzionante con PHP >= 5.4, sulla cui base ho creato il branch php5.4.