Index: openacs-4/packages/assessment/tcl/as-item-form-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/tcl/as-item-form-procs.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/assessment/tcl/as-item-form-procs.tcl 14 Oct 2004 11:44:51 -0000 1.1 +++ openacs-4/packages/assessment/tcl/as-item-form-procs.tcl 27 Oct 2004 13:51:09 -0000 1.2 @@ -52,7 +52,7 @@ set mc_id [db_string item_to_rev "SELECT revision_id FROM cr_revisions WHERE item_id=:item_mc_id"] set optionlist [list] db_foreach item_choices_2 "" { - lappend optionlist [list $title $choice_id] + lappend optionlist [list "$title" $choice_id] } set options $optionlist template::element::create $form $element_name \ @@ -71,7 +71,7 @@ set choices [list] set optionlist [list] db_foreach item_choices_2 "" { - lappend optionlist [list $title $choice_id] + lappend optionlist [list "$title" $choice_id] } set options $optionlist template::element::create $form $element_name \ Index: openacs-4/packages/assessment/tcl/as-item-form-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/tcl/as-item-form-procs.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/assessment/tcl/as-item-form-procs.xql 14 Oct 2004 11:44:51 -0000 1.1 +++ openacs-4/packages/assessment/tcl/as-item-form-procs.xql 27 Oct 2004 13:51:09 -0000 1.2 @@ -4,7 +4,7 @@ select - as_item_choicesx.choice_id, as_item_choicesx.title + as_item_choicesx.choice_id, as_item_choicesx.title, as_item_choicesx.content_value from as_item_choicesx where Index: openacs-4/packages/assessment/tcl/as-qti-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/tcl/as-qti-procs.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/assessment/tcl/as-qti-procs.tcl 18 Oct 2004 12:10:41 -0000 1.3 +++ openacs-4/packages/assessment/tcl/as-qti-procs.tcl 27 Oct 2004 13:51:09 -0000 1.4 @@ -74,7 +74,7 @@ db_dml as_assessment_section_map_insert {} incr as_assessment_section_map__sort_order # Process the items - as::qti::parse_item $section $as_sections__section_id + as::qti::parse_item $section $as_sections__section_id [file dirname $xmlfile] } } } else { @@ -85,7 +85,7 @@ return 1 } -ad_proc -private as::qti::parse_item { qtiNode section_id} { Parse items from a XML QTI file } { +ad_proc -private as::qti::parse_item {qtiNode section_id basepath} { Parse items from a XML QTI file } { set as_item_section_map__sort_order 0 set itemNodes [$qtiNode selectNodes {item}] foreach item $itemNodes { @@ -235,12 +235,20 @@ foreach mattext $mattextNodes { set as_item_choices__choice_text [$mattext nodeValue] } + set matmediaNodes [$response_label selectNodes {material/matimage[@uri]}] + set as_item_choices__content_value [db_null] + foreach matmedia $matmediaNodes { + set mediabasepath $basepath + append mediabasepath {/} + append mediabasepath [$matmedia getAttribute {uri}] + set as_item_choices__content_value [as::file::new -file_pathname $mediabasepath] + } # Insert as_item_choice in the CR (and as_item_choices table) getting the revision_id (choice_id) set as_item_choices__correct_answer_p($as_item_choices__ident) [expr [info exists as_item_choices__correct_answer_p($as_item_choices__ident)]?{t}:{f}] if {![info exists as_item_choices__score($as_item_choices__ident)]} { set as_item_choices__score($as_item_choices__ident) 0 } - as::item_choice::new -mc_id $as_item_type_id -name $as_item_choices__ident -title $as_item_choices__choice_text -sort_order $sort_order -correct_answer_p $as_item_choices__correct_answer_p($as_item_choices__ident) -percent_score $as_item_choices__score($as_item_choices__ident) + as::item_choice::new -mc_id $as_item_type_id -name $as_item_choices__ident -title $as_item_choices__choice_text -sort_order $sort_order -correct_answer_p $as_item_choices__correct_answer_p($as_item_choices__ident) -percent_score $as_item_choices__score($as_item_choices__ident) -content_value $as_item_choices__content_value # order of the item_choices incr sort_order } Index: openacs-4/packages/assessment/www/session.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/session.tcl,v diff -u -r1.13 -r1.14 --- openacs-4/packages/assessment/www/session.tcl 19 Oct 2004 15:54:53 -0000 1.13 +++ openacs-4/packages/assessment/www/session.tcl 27 Oct 2004 13:51:10 -0000 1.14 @@ -87,7 +87,7 @@ } else { set choice_answer "" } - append choice_html "$correct_answer$choice_answer [ad_quotehtml $choice_title]" + append choice_html "$correct_answer$choice_answer [ad_quotehtml $choice_title]" } } if {$item_correct} { set score $itemmaxscore } Index: openacs-4/packages/assessment/www/session.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/session.xql,v diff -u -r1.8 -r1.9 --- openacs-4/packages/assessment/www/session.xql 14 Oct 2004 14:15:04 -0000 1.8 +++ openacs-4/packages/assessment/www/session.xql 27 Oct 2004 13:51:10 -0000 1.9 @@ -15,7 +15,7 @@ SELECT - as_item_choicesx.choice_id, as_item_choicesx.title AS choice_title, as_item_choicesx.correct_answer_p, as_item_choicesx.percent_score, as_item_choicesx.text_value, as_item_datax.text_answer, as_item_datax.choice_id_answer + as_item_choicesx.choice_id, as_item_choicesx.title AS choice_title, as_item_choicesx.correct_answer_p, as_item_choicesx.percent_score, as_item_choicesx.text_value, as_item_choicesx.content_value, as_item_datax.text_answer, as_item_datax.choice_id_answer FROM as_item_choicesx LEFT JOIN (as_item_datax INNER JOIN as_sessionsx ON as_sessionsx.session_id = as_item_datax.session_id) ON as_item_datax.choice_id_answer=as_item_choicesx.choice_id WHERE as_item_choicesx.mc_id=:mc_id AND (as_sessionsx.session_id = :session_id OR as_sessionsx.session_id IS NULL)