FORMA 2.3.x - Segnalazione Errore Download Item (File) da modulo

Funzionalità di frontend per utenti e amministratori dei corsi: navigazione generale, materiali didattici, test, registro valutazioni, ecc.
Post Reply
wolk73
FormaLms User
Posts: 46
Joined: Fri Oct 26, 2012 11:03 am
Contact:

FORMA 2.3.x - Segnalazione Errore Download Item (File) da modulo

Post by wolk73 »

Volevo segnalare un Bug un po' particolare quanto importante!!! :D
Creando un oggetto di Download File utilizzando il modulo "Item" in un corso, al momento del download da parte dello studente, il sistema genera il seguente errore:

Code: Select all

Fatal error: Uncaught ArgumentCountError: Too few arguments to function Track_Item::__construct(), 
1 passed in /+++/+++/+++++/++++++++/appLms/modules/item/do.item.php [b]on line 54[/b] and exactly 
2 expected in /+++/+++/+++/++++/appLms/class.module/track.item.php:18 Stack trace: 
#0 /+++/+++/+++/++++/appLms/modules/item/do.item.php(54): Track_Item->__construct('1077') 
#1 /+++/+++/+++/++++/appLms/class.module/learning.item.php(174): play('36', '121', 'index.php?modna...') 
#2 /+++/+++/+++/++++/appLms/class.module/class.organization.php(277): Learning_Item->play('36', '121', 'index.php?modna...') 
#3 /+++/+++/+++/++++/appLms/index.php(84): Module_Organization->loadBody()
#4 {main} thrown in /+++/+++/+++/++++++/appLms/class.module/track.item.php on line 18
Anticipo subito che sto utilizzando PHP 7.3 nel server quindi alcune cose possono incompatibili. Infatti con PHP 5.6 risulta tutto regolare.
Ovviando al problema, cercando di debuggare, ho scoperto che il file /appLms/modules/item/do.item.php generava serie di errori di incomprensione.

Aggirando il problema ho notato che il file ha delle porzioni di codice diverse dalle altre versioni di Forma es 2.1/2.2 ecc. Così ricopiando la stessa directory della versione precedente del Modulo "/appLms/modules/item/" nella nuova 2.3.x, praticamente il problema viene risolto senza intoppi.

Spero che questo aiuti al meglio gli sviluppatori, o almeno quegli utenti che come me spingono all'utilizzo di versioni più recenti di PHP, anche se non supporta compatibilità e/o stabilità.
Buona continuazione.
CEO - SYCOP ITALIA
Network Internazionale di Professionisti d’alto livello Competente nel settore Web/ICT e Sicurezza UTM..
www.sycop.org
www.andreapatron.com
User avatar
CisterNino
FormaLms User
Posts: 72
Joined: Mon May 06, 2013 2:59 pm

Re: FORMA 2.3.x - Segnalazione Errore Download Item (File) da modulo

Post by CisterNino »

Ciao, forma 2.4 non supporta php 7.2 , 7.3, 7.4.
Quello che hai trovato (Fatal error: Uncaught ArgumentCountError: Too few arguments to function Track_Item) è proprio un problema legato ad un controllo più rigido del passaggio dei parametri ad una funzione nella versione 7.3 del PHP.
Forma 3.0 supporterà fino a PHP 7.4 ed il problema sarà superato.
I'm Livio, the Two. If you need, you can contact the one.
alfa24
Senior Boarder
Posts: 1982
Joined: Fri Nov 24, 2017 8:45 am

Re: FORMA 2.3.x - Segnalazione Errore Download Item (File) da modulo

Post by alfa24 »

Anziché sostituire una versione precedente del modulo, io avrei fixato l'errore, sostituendo, nel file /appLms/modules/item/do.item.php la riga 54:

Code: Select all

$ti = new Track_Item( $idTrack );
con:

Code: Select all

$ti = new Track_Item($idTrack, Docebo::user()->getIdSt());
come da definizione del __construct della classe Track_Item, definita in appLms/class.module/track.item.php e peraltro già applicato qualche riga sopra nello stesso do.item.php.
Enjoy.
Per supporto GRATUITO contattatemi in privato qui
wolk73
FormaLms User
Posts: 46
Joined: Fri Oct 26, 2012 11:03 am
Contact:

Re: FORMA 2.3.x - Segnalazione Errore Download Item (File) da modulo

Post by wolk73 »

alfa24 wrote: Fri Feb 14, 2020 10:25 am Anziché sostituire una versione precedente del modulo, io avrei fixato l'errore, sostituendo, nel file /appLms/modules/item/do.item.php la riga 54:

Code: Select all

$ti = new Track_Item( $idTrack );
con:

Code: Select all

$ti = new Track_Item($idTrack, Docebo::user()->getIdSt());
come da definizione del __construct della classe Track_Item, definita in appLms/class.module/track.item.php e peraltro già applicato qualche riga sopra nello stesso do.item.php.
Enjoy.
alfa sempre in testa ;)
Last edited by wolk73 on Mon Feb 17, 2020 12:47 pm, edited 1 time in total.
CEO - SYCOP ITALIA
Network Internazionale di Professionisti d’alto livello Competente nel settore Web/ICT e Sicurezza UTM..
www.sycop.org
www.andreapatron.com
wolk73
FormaLms User
Posts: 46
Joined: Fri Oct 26, 2012 11:03 am
Contact:

Re: FORMA 2.3.x - Segnalazione Errore Download Item (File) da modulo

Post by wolk73 »

CisterNino wrote: Fri Feb 14, 2020 9:33 am Ciao, forma 2.4 non supporta php 7.2 , 7.3, 7.4.
Quello che hai trovato (Fatal error: Uncaught ArgumentCountError: Too few arguments to function Track_Item) è proprio un problema legato ad un controllo più rigido del passaggio dei parametri ad una funzione nella versione 7.3 del PHP.
Forma 3.0 supporterà fino a PHP 7.4 ed il problema sarà superato.
Infatti CisterNino ne sono consapevole, e l'avevo anche specificato nel post.
Tuttavia son riuscito a far girare la 2.3.x con PHP 7.3!! :D
Ovviamente si possono verificare altri errori dovuti all'incompatibilità: ma sian qui per questo!!! :mrgreen: :mrgreen: :mrgreen:
CEO - SYCOP ITALIA
Network Internazionale di Professionisti d’alto livello Competente nel settore Web/ICT e Sicurezza UTM..
www.sycop.org
www.andreapatron.com
Post Reply