Page 1 of 1

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

Posted: Thu Feb 13, 2020 5:58 pm
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.

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

Posted: Fri Feb 14, 2020 9:33 am
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.

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

Posted: Fri Feb 14, 2020 10:25 am
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.

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

Posted: Mon Feb 17, 2020 12:42 pm
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 ;)

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

Posted: Mon Feb 17, 2020 12:46 pm
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: