validated a question has at least one answer when is created - partial CT#462

skala
Cristian Fasanando 16 years ago
parent fb268ff3ac
commit 0ecddd81a5
  1. 10
      main/exercice/matching.class.php
  2. 5
      main/exercice/multiple_answer.class.php
  3. 180
      main/exercice/unique_answer.class.php

@ -139,6 +139,11 @@ class Matching extends Question {
</tr>';
$form -> addElement ('html', $html);
if ($nb_matches < 1) {
$nb_matches = 1;
Display::display_normal_message(get_lang('YouHaveToCreateAlLeastOneAnswer'));
}
for($i = 1 ; $i <= $nb_matches ; ++$i) {
$form -> addElement ('html', '<tr><td>');
@ -188,6 +193,11 @@ class Matching extends Question {
</tr>';
$form -> addElement ('html', $html);
if ($nb_options < 1) {
$nb_options = 1;
Display::display_normal_message(get_lang('YouHaveToCreateAlLeastOneAnswer'));
}
for($i = 1 ; $i <= $nb_options ; ++$i) {
$form -> addElement ('html', '<tr><td>');

@ -105,6 +105,11 @@ class MultipleAnswer extends Question {
$form -> addElement('hidden', 'nb_answers');
$boxes_names = array();
if ($nb_answers < 1) {
$nb_answers = 1;
Display::display_normal_message(get_lang('YouHaveToCreateAlLeastOneAnswer'));
}
for($i = 1 ; $i <= $nb_answers ; ++$i) {
if(is_object($answer)) {
$defaults['answer['.$i.']'] = $answer -> answer[$i];

@ -156,99 +156,107 @@ class UniqueAnswer extends Question {
}
$temp_scenario=array();
for($i = 1 ; $i <= $nb_answers ; ++$i)
{
$form -> addElement ('html', '<tr>');
if(is_object($answer))
if ($nb_answers < 1) {
$nb_answers = 1;
Display::display_normal_message(get_lang('YouHaveToCreateAlLeastOneAnswer'));
}
for($i = 1 ; $i <= $nb_answers ; ++$i)
{
if($answer -> correct[$i])
$form -> addElement ('html', '<tr>');
if(is_object($answer))
{
$correct = $i;
if($answer -> correct[$i])
{
$correct = $i;
}
$defaults['answer['.$i.']'] = $answer -> answer[$i];
$defaults['comment['.$i.']'] = $answer -> comment[$i];
$defaults['weighting['.$i.']'] = float_format($answer -> weighting[$i], 1);
$item_list=explode('@@',$answer -> destination[$i]);
//echo '<pre>'; print_r($item_list);
$try = $item_list[0];
$lp = $item_list[1];
$list_dest= $item_list[2];
$url=$item_list[3];
if ($try==0)
$try_result=0;
else
$try_result=1;
if ($url==0)
$url_result='';
else
$url_result=$url;
$temp_scenario['url'.$i]=$url_result;
$temp_scenario['try'.$i]=$try_result;
$temp_scenario['lp'.$i]=$lp;
$temp_scenario['destination'.$i]=$list_dest;
/*$pre_list_destination=explode(';',$list_dest);
$list_destination=array();
foreach($pre_list_destination as $value)
{
$list_destination[]=$value;
}
$defaults['destination'.$i]=$list_destination;
*/
//$defaults['destination'.$i] = $list_destination;
} else {
$defaults['answer[1]'] = get_lang('langDefaultUniqueAnswer1');
$defaults['weighting[1]'] = 10;
$defaults['answer[2]'] = get_lang('langDefaultUniqueAnswer2');
$defaults['weighting[2]'] = 0;
$temp_scenario['destination'.$i] = array('0');
$temp_scenario['lp'.$i] = array('0');
//$defaults['scenario']
}
$defaults['answer['.$i.']'] = $answer -> answer[$i];
$defaults['comment['.$i.']'] = $answer -> comment[$i];
$defaults['weighting['.$i.']'] = float_format($answer -> weighting[$i], 1);
$item_list=explode('@@',$answer -> destination[$i]);
//echo '<pre>'; print_r($item_list);
$try = $item_list[0];
$lp = $item_list[1];
$list_dest= $item_list[2];
$url=$item_list[3];
if ($try==0)
$try_result=0;
else
$try_result=1;
if ($url==0)
$url_result='';
else
$url_result=$url;
$temp_scenario['url'.$i]=$url_result;
$temp_scenario['try'.$i]=$try_result;
$temp_scenario['lp'.$i]=$lp;
$temp_scenario['destination'.$i]=$list_dest;
/*$pre_list_destination=explode(';',$list_dest);
$list_destination=array();
foreach($pre_list_destination as $value)
$defaults['scenario']=$temp_scenario;
$renderer = & $form->defaultRenderer();
$renderer->setElementTemplate('<td><!-- BEGIN error --><span class="form_error">{error}</span><!-- END error --><br/>{element}</td>');
$answer_number=$form->addElement('text', null,null,'value="'.$i.'"');
$answer_number->freeze();
$form->addElement('radio', 'correct', null, null, $i, 'class="checkbox" style="margin-left: 0em;"');
$form->addElement('html_editor', 'answer['.$i.']', null, 'style="vertical-align:middle"', $editor_config);
$form->addRule('answer['.$i.']', get_lang('ThisFieldIsRequired'), 'required');
if ($obj_ex->selectFeedbackType()==0) // feedback
$form->addElement('html_editor', 'comment['.$i.']', null, 'style="vertical-align:middle"', $editor_config);
elseif ($obj_ex->selectFeedbackType()==1) // direct feedback
{
$list_destination[]=$value;
$form->addElement('html_editor', 'comment['.$i.']', null, 'style="vertical-align:middle"', $editor_config);
//Adding extra feedback fields
$group = array();
$group['try'.$i] =&$form->createElement('checkbox', 'try'.$i,get_lang('TryAgain').': ' );
$group['lp'.$i] =&$form->createElement('select', 'lp'.$i,get_lang('SeeTheory').': ',$select_lp_id);
$group['destination'.$i]=&$form->createElement('select', 'destination'.$i, get_lang('GoToQuestion').': ' ,$select_question);
$group['url'.$i] =&$form->createElement('text', 'url'.$i,get_lang('Other').': ',array('size'=>'25px'));
$form -> addGroup($group, 'scenario', 'scenario');
$renderer->setGroupElementTemplate('<div class="exercise_scenario_label">{label}</div><div class="exercise_scenario_element">{element}</div>','scenario');
}
$defaults['destination'.$i]=$list_destination;
*/
//$defaults['destination'.$i] = $list_destination;
}else {
$defaults['answer[1]'] = get_lang('langDefaultUniqueAnswer1');
$defaults['weighting[1]'] = 10;
$defaults['answer[2]'] = get_lang('langDefaultUniqueAnswer2');
$defaults['weighting[2]'] = 0;
$temp_scenario['destination'.$i] = array('0');
$temp_scenario['lp'.$i] = array('0');
//$defaults['scenario']
//$form->addElement('select', 'destination'.$i, get_lang('SelectQuestion').' : ',$select_question,'multiple');
$form->addElement('text', 'weighting['.$i.']',null, 'style="vertical-align:middle;margin-left: 0em;" size="5" value="10"');
$form -> addElement ('html', '</tr>');
}
$defaults['scenario']=$temp_scenario;
$renderer = & $form->defaultRenderer();
$renderer->setElementTemplate('<td><!-- BEGIN error --><span class="form_error">{error}</span><!-- END error --><br/>{element}</td>');
$answer_number=$form->addElement('text', null,null,'value="'.$i.'"');
$answer_number->freeze();
$form->addElement('radio', 'correct', null, null, $i, 'class="checkbox" style="margin-left: 0em;"');
$form->addElement('html_editor', 'answer['.$i.']', null, 'style="vertical-align:middle"', $editor_config);
$form->addRule('answer['.$i.']', get_lang('ThisFieldIsRequired'), 'required');
if ($obj_ex->selectFeedbackType()==0) // feedback
$form->addElement('html_editor', 'comment['.$i.']', null, 'style="vertical-align:middle"', $editor_config);
elseif ($obj_ex->selectFeedbackType()==1) // direct feedback
{
$form->addElement('html_editor', 'comment['.$i.']', null, 'style="vertical-align:middle"', $editor_config);
//Adding extra feedback fields
$group = array();
$group['try'.$i] =&$form->createElement('checkbox', 'try'.$i,get_lang('TryAgain').': ' );
$group['lp'.$i] =&$form->createElement('select', 'lp'.$i,get_lang('SeeTheory').': ',$select_lp_id);
$group['destination'.$i]=&$form->createElement('select', 'destination'.$i, get_lang('GoToQuestion').': ' ,$select_question);
$group['url'.$i] =&$form->createElement('text', 'url'.$i,get_lang('Other').': ',array('size'=>'25px'));
$form -> addGroup($group, 'scenario', 'scenario');
$renderer->setGroupElementTemplate('<div class="exercise_scenario_label">{label}</div><div class="exercise_scenario_element">{element}</div>','scenario');
}
//$form->addElement('select', 'destination'.$i, get_lang('SelectQuestion').' : ',$select_question,'multiple');
$form->addElement('text', 'weighting['.$i.']',null, 'style="vertical-align:middle;margin-left: 0em;" size="5" value="10"');
$form -> addElement ('html', '</tr>');
}
$form -> addElement ('html', '</table>');
$form -> addElement ('html', '<br />');
$navigator_info = api_get_navigator();
global $text, $class;
//ie6 fix
if ($navigator_info['name']=='Internet Explorer' && $navigator_info['version']=='6') {
@ -262,14 +270,14 @@ class UniqueAnswer extends Question {
$form->addElement('style_submit_button','submitQuestion',$text, 'class="'.$class.'"');
}
$renderer->setElementTemplate('{element}','submitQuestion');
$renderer->setElementTemplate('{element}&nbsp;','lessAnswers');
$renderer->setElementTemplate('{element}','submitQuestion');
$renderer->setElementTemplate('{element}&nbsp;','lessAnswers');
$renderer->setElementTemplate('{element}','moreAnswers');
$form -> addElement ('html', '</div></div>');
//We check the first radio button to be sure a radio button will be check
if($correct==0){
if ($correct==0) {
$correct=1;
}
$defaults['correct'] = $correct;

Loading…
Cancel
Save