all'interno della suddetta funzione c'è una corrispondenza non corretta fra i campi letti nella query e la list che li deve ricevere.
La problematica nasce dalla necessità di utilizzare un corso scorm che fa uso del parametro "launch_data" (<adlcp:datafromlms> nel manifest) e dalla mancata restituzione dello stesso al momento dell'esecuzione.
Il parametro (adlcp:datafromlms) viene letto dal manifest e registrato a database (adlcp_datafromlms) in fase di caricamento del pacchetto , ma non viene recuperato in modo corretto dalla funzione in oggetto, e di conseguenza al corso non viene mai passato quello che è stato definito dal manifest.
Versione forma: 1.4.2
Script: appLms/modules/scorm-1.2.php, da riga 55
parte della funzione interessata (originale)
Code: Select all
function scormInitializeParams($trackobj, $scormtype, $idscorm_item) {
list( $adlcp_masteryscore,
$adlcp_maxtimeallowed,
$adlcp_completionthreshold,
$adlcp_datafromlms,
$adlcp_timelimitaction ) =
sql_fetch_row(sql_query( "SELECT adlcp_masteryscore,"
."adlcp_maxtimeallowed,"
."adlcp_datafromlms,"
."adlcp_timelimitaction"
." FROM learning_scorm_items"
." WHERE idscorm_item=".$idscorm_item ));
Code: Select all
function scormInitializeParams($trackobj, $scormtype, $idscorm_item) {
list( $adlcp_masteryscore,
$adlcp_maxtimeallowed,
$adlcp_completionthreshold,
$adlcp_datafromlms,
$adlcp_timelimitaction ) =
sql_fetch_row(sql_query( "SELECT adlcp_masteryscore,"
."adlcp_maxtimeallowed,"
."adlcp_completionthreshold,"
."adlcp_datafromlms,"
."adlcp_timelimitaction"
." FROM learning_scorm_items"
." WHERE idscorm_item=".$idscorm_item ));