function getExerciseReport($exerciseObj, $id_course_instance) { /* * ottiene i dati relativi alla risposte fornite dagli utenti nella classe * e alle risposte possibile ammesse dall'esercizio */ $exercise_data = ExerciseDAO::getExerciseInfo($exerciseObj, $id_course_instance); $possible_answers = $exerciseObj->getExerciseData(); $div = CDOMElement::create('div'); $div->addChild(new CText($exerciseObj->getText())); $data = array(); $exercise_data_count = count($exercise_data); $thead_data = array(translateFN('Testo della risposta'), translateFN('Punteggio'), translateFN('Numero di risposte')); /* * scorre le risposte fornite dalla classe */ for ($i = 0; $i < $exercise_data_count; $i++) { $href = 'view.php?id_node=' . $exercise_data[$i]['risposta_libera']; $answer = CDOMElement::create('a', "href:{$href}"); $answer_id = $exercise_data[$i]['risposta_libera']; $answer->addChild(new CText($exerciseObj->getExerciseDataAnswerForItem($answer_id))); $tbody_data[$i] = array($answer->getHtml(), $exercise_data[$i]['punteggio'], $exercise_data[$i]['risposte']); if (isset($possible_answers[$answer_id])) { unset($possible_answers[$answer_id]); } } /* * considera eventuali risposte all'esercizio che non sono state date * da nessuno studente */ foreach ($possible_answers as $answer_id => $answer_data) { $href = 'view.php?id_node=' . $answer_id; $answer = CDOMElement::create('a', "href:{$href}"); $answer->addChild(new CText($exerciseObj->getExerciseDataAnswerForItem($answer_id))); $tbody_data[$i] = array($answer->getHtml(), $exerciseObj->getExerciseDataCorrectnessForItem($answer_id), 0); $i++; } $div->addChild(BaseHtmlLib::tableElement('', $thead_data, $tbody_data)); return $div->getHtml(); }