diff --git a/main/css/academica/default.css b/main/css/academica/default.css index 5735c36643..a4ba50b642 100644 --- a/main/css/academica/default.css +++ b/main/css/academica/default.css @@ -1455,7 +1455,7 @@ span.radio { float: left; } #question_title{ - display:none; + } #exercise_close_link{ background: url(images/close.gif) no-repeat; diff --git a/main/css/baby_orange/default.css b/main/css/baby_orange/default.css index 6ba6c06a6d..eb76124c75 100644 --- a/main/css/baby_orange/default.css +++ b/main/css/baby_orange/default.css @@ -1456,7 +1456,7 @@ span.radio { float: left; } #question_title{ - display:none; + } #exercise_close_link{ background: url(images/close.gif) no-repeat; diff --git a/main/css/corporate/default.css b/main/css/corporate/default.css index f4b1771941..b97421cfab 100644 --- a/main/css/corporate/default.css +++ b/main/css/corporate/default.css @@ -1463,7 +1463,7 @@ span.radio { float: left; } #question_title{ - display:none; + } #exercise_close_link{ background: url(images/close.gif) no-repeat; diff --git a/main/css/cosmic_campus/default.css b/main/css/cosmic_campus/default.css index 5ab1fbd993..26f48ff21f 100644 --- a/main/css/cosmic_campus/default.css +++ b/main/css/cosmic_campus/default.css @@ -1489,7 +1489,7 @@ span.radio { float: left; } #question_title{ - display:none; + } #exercise_close_link{ background: url(images/close.gif) no-repeat; diff --git a/main/css/dokeos_classic/default.css b/main/css/dokeos_classic/default.css index 9ad8296d77..c055b91889 100644 --- a/main/css/dokeos_classic/default.css +++ b/main/css/dokeos_classic/default.css @@ -1982,7 +1982,7 @@ span.radio { float: left; } #question_title{ - display:none; + } #exercise_close_link{ background: url(images/close.gif) no-repeat; diff --git a/main/css/dokeos_classic_2D/default.css b/main/css/dokeos_classic_2D/default.css index e4ebac8a6c..195627d09f 100644 --- a/main/css/dokeos_classic_2D/default.css +++ b/main/css/dokeos_classic_2D/default.css @@ -2567,7 +2567,7 @@ span.radio { float: left; } #question_title{ - display:none; + } #exercise_close_link{ background: url(images/close.gif) no-repeat; diff --git a/main/css/medical/default.css b/main/css/medical/default.css index 2610b65040..6270d4cc0f 100644 --- a/main/css/medical/default.css +++ b/main/css/medical/default.css @@ -1966,7 +1966,7 @@ span.radio { float: left; } #question_title{ - display:none; + } #exercise_close_link{ background: url(images/close.gif) no-repeat; diff --git a/main/css/public_admin/default.css b/main/css/public_admin/default.css index cb2a6ea1d1..0763064e6c 100644 --- a/main/css/public_admin/default.css +++ b/main/css/public_admin/default.css @@ -2000,7 +2000,7 @@ span.radio { float: left; } #question_title{ - display:none; + } #exercise_close_link{ background: url(images/close.gif) no-repeat; diff --git a/main/css/silver_line/default.css b/main/css/silver_line/default.css index be1739b17f..8d2ee13d25 100644 --- a/main/css/silver_line/default.css +++ b/main/css/silver_line/default.css @@ -2069,7 +2069,7 @@ span.radio { float: left; } #question_title{ - display:none; + } #exercise_close_link{ background: url(images/close.gif) no-repeat; diff --git a/main/css/sober_brown/default.css b/main/css/sober_brown/default.css index 1fdd4b0b03..48b1e0928a 100644 --- a/main/css/sober_brown/default.css +++ b/main/css/sober_brown/default.css @@ -2034,7 +2034,7 @@ span.radio { float: left; } #question_title{ - display:none; + } #exercise_close_link{ background: url(images/close.gif) no-repeat; diff --git a/main/exercice/exercice_submit.php b/main/exercice/exercice_submit.php index 2baf75f5b7..b897256ef8 100644 --- a/main/exercice/exercice_submit.php +++ b/main/exercice/exercice_submit.php @@ -1,4 +1,4 @@ - - ".get_lang('Question').' '; - - $s.=$i; - - if($exerciseType == 2) - $s.=' / '.$nbrQuestions; - echo $s; - echo ': '; // shows the question and its answers - showQuestion($questionId, false, $origin); + showQuestion($questionId, false, $origin,$i,$nbrQuestions); // for sequential exercises if($exerciseType == 2) { // quits the loop @@ -1307,7 +1298,7 @@ else echo " "; +    //-->
"; $submit_btn="selectFeedbackType()==1 && $_SESSION['objExercise']->selectType()==2) { diff --git a/main/exercice/exercise.class.php b/main/exercice/exercise.class.php index 24dc75b021..b3bf34a5cd 100644 --- a/main/exercice/exercise.class.php +++ b/main/exercice/exercise.class.php @@ -25,7 +25,7 @@ * Exercise class: This class allows to instantiate an object of type Exercise * @package dokeos.exercise * @author Olivier Brouckaert -* @version $Id: exercise.class.php 17944 2009-01-22 20:41:25Z juliomontoya $ +* @version $Id: exercise.class.php 18002 2009-01-26 16:33:20Z juliomontoya $ */ @@ -807,30 +807,35 @@ class Exercise * @param FormValidator $form the formvalidator instance (by reference) */ function createForm ($form) - { - + { // title - $form -> addElement('text', 'exerciseTitle', get_lang('ExerciseName').' : ','class="input_titles"'); - + $form -> addElement('text', 'exerciseTitle', get_lang('ExerciseName'),'class="input_titles"'); // fck editor global $fck_attribute; $fck_attribute = array(); - $fck_attribute['Height'] = '250px'; - $fck_attribute['Width'] = '50%'; - $fck_attribute['ToolbarSet'] = 'NewTest'; + $fck_attribute['Height'] = '200px'; + $fck_attribute['Width'] = '50%'; + $fck_attribute['ToolbarSet'] = 'NewTest'; $fck_attribute['Config']['InDocument'] = false; $fck_attribute['Config']['CreateDocumentDir'] = '../../courses/'.api_get_course_path().'/document/'; //$fck_attribute['Config']['CreateDocumentWebDir'] = api_get_path('WEB_COURSE_PATH').$_course['path'].'/document/'; - $form -> addElement ('html_editor', 'exerciseDescription', get_lang('ExerciseDescription').' : '); - - // type + $form -> addElement ('html_editor', 'exerciseDescription', get_lang('ExerciseDescription')); + + // feedback type + $feedback_option[0]=get_lang('Feedback'); + $feedback_option[1]=get_lang('DirectFeedback'); + $feedback_option[2]=get_lang('NoFeedback'); + + $form -> addElement('select', 'exerciseFeedbackType',get_lang('FeedbackType'),$feedback_option,'onchange="javascript:feedbackselection()"'); + + // test type $radios = array(); $radios[] = FormValidator :: createElement ('radio', 'exerciseType', null, get_lang('SimpleExercise'),'1'); $radios[] = FormValidator :: createElement ('radio', 'exerciseType', null, get_lang('SequentialExercise'),'2'); - $form -> addGroup($radios, null, get_lang('ExerciseType').' : ', '
'); - + $form -> addGroup($radios, null, get_lang('ExerciseType'), '
'); + $form -> addElement('html','
 
@@ -847,24 +852,17 @@ class Exercise $option = range(0,$max); $option[0]=get_lang('DoNotRandomize'); + $random[] = FormValidator :: createElement ('select', 'randomQuestions',null,$option); $random[] = FormValidator :: createElement ('static', 'help','help',''.get_lang('RandomQuestionsHelp').''); - $random[] = FormValidator :: createElement ('select', 'randomQuestions',null,$option); + //$random[] = FormValidator :: createElement ('text', 'randomQuestions', null,null,'0'); - $form -> addGroup($random,null,get_lang('RandomQuestions').' : ','
'); - - - $feedback_option[0]=get_lang('Feedback'); - $feedback_option[1]=get_lang('DirectFeedback'); - $feedback_option[2]=get_lang('NoFeedback'); - - $form -> addElement('select', 'exerciseFeedbackType',get_lang('FeedbackType').' : ',$feedback_option); - + $form -> addGroup($random,null,get_lang('RandomQuestions'),'
'); $attempt_option=range(0,10); $attempt_option[0]=get_lang('Infinite'); - $form -> addElement('select', 'exerciseAttempts',get_lang('ExerciseAttempts').' : ',$attempt_option); + $form -> addElement('select', 'exerciseAttempts',get_lang('ExerciseAttempts'),$attempt_option); $form -> addElement('checkbox', 'enabletimelimit',null ,get_lang('EnableTimeLimits')); //$form -> addElement('date', 'start_time', get_lang('ExeStartTime'), array('language'=>'es','format' => 'dMYHi')); @@ -879,8 +877,7 @@ class Exercise $defaults = array(); - if (api_get_setting('search_enabled') === 'true') - { + if (api_get_setting('search_enabled') === 'true') { require_once(api_get_path(LIBRARY_PATH) . 'specific_fields_manager.lib.php'); $form -> addElement ('checkbox', 'index_document','', get_lang('SearchFeatureDoIndexDocument')); @@ -903,9 +900,7 @@ class Exercise $defaults[$specific_field['code']] = implode(', ', $arr_str_values); } } - $form -> addElement ('html','
'); - } // submit @@ -920,14 +915,10 @@ class Exercise // defaults - if($this -> id > 0) - { - if ($this -> random > $this->selectNbrQuestions()) - { + if($this -> id > 0) { + if ($this -> random > $this->selectNbrQuestions()) { $defaults['randomQuestions'] = $this->selectNbrQuestions(); - } - else - { + } else { $defaults['randomQuestions'] = $this -> random; } diff --git a/main/exercice/exercise.lib.php b/main/exercice/exercise.lib.php index 5c272df02d..eff0b30dd6 100644 --- a/main/exercice/exercise.lib.php +++ b/main/exercice/exercise.lib.php @@ -1,4 +1,4 @@ - -* @version $Id: exercise.lib.php 17944 2009-01-22 20:41:25Z juliomontoya $ +* @version $Id: exercise.lib.php 18002 2009-01-26 16:33:20Z juliomontoya $ */ - +/** + * @param int question id + * @param boolean only answers + * @param boolean origin i.e = learnpath + * @param int current item from the list of questions + * @param int number of total questions + * */ require("../inc/lib/fckeditor/fckeditor.php") ; -function showQuestion($questionId, $onlyAnswers=false, $origin=false) +function showQuestion($questionId, $onlyAnswers=false, $origin=false,$current_item, $total_item) { echo ''; echo ''; @@ -48,17 +54,26 @@ function showQuestion($questionId, $onlyAnswers=false, $origin=false) $answerType=$objQuestionTmp->selectType(); $pictureName=$objQuestionTmp->selectPicture(); - + if ($answerType != HOT_SPOT) // Question is not of type hotspot { - - if(!$onlyAnswers) - { + if(!$onlyAnswers) { $questionName=$objQuestionTmp->selectTitle(); $questionDescription=$objQuestionTmp->selectDescription(); $questionName=api_parse_tex($questionName); - $s.=$questionName.'
'; + + $s="
+ ".get_lang('Question').' '; + + $s.=$current_item; + + if($answerType == 2) + $s.=' / '.$total_item; + echo $s; + echo ': '; + + $s =$questionName.'
'; $s.=""; - + $s.=""; } // free answer // matching - else - { - if(!$answerCorrect) - { + else { + if(!$answerCorrect) { // options (A, B, C, ...) that will be put into the list-box $Select[$answerId]['Lettre']=$cpt1++; // answers that will be shown at the right side $answer = api_parse_tex($answer); $Select[$answerId]['Reponse']=$answer; - } - else - { + } else { $s.=" @@ -238,10 +247,7 @@ function showQuestion($questionId, $onlyAnswers=false, $origin=false) if($answerId == $nbrAnswers) { // if it remains answers to shown at the right side - while(isset($Select[$cpt2])) - { - - + while(isset($Select[$cpt2])) { $s.="
@@ -185,24 +200,19 @@ function showQuestion($questionId, $onlyAnswers=false, $origin=false) // fill in blanks elseif($answerType == FILL_IN_BLANKS) { - $s.="
$answer
$answer
@@ -214,17 +224,16 @@ function showQuestion($questionId, $onlyAnswers=false, $origin=false) "; // fills the list-box - foreach($Select as $key=>$val) - { - + foreach($Select as $key=>$val) { $s.=""; - } // end foreach() $s.="   "; - if(isset($Select[$cpt2])) $s.=''.$Select[$cpt2]['Lettre'].'. '.$Select[$cpt2]['Reponse']; - else $s.=' '; + if(isset($Select[$cpt2])) + $s.=''.$Select[$cpt2]['Lettre'].'. '.$Select[$cpt2]['Reponse']; + else + $s.=' '; $s.="
@@ -297,7 +303,18 @@ function showQuestion($questionId, $onlyAnswers=false, $origin=false) if(!$onlyAnswers) { - $s=$questionName.''; + $s="
+ ".get_lang('Question').' '; + + $s.=$current_item; + + if($answerType == 2) + $s.=' / '.$total_item; + echo $s; + echo ': '; + + $s =$questionName.'
'; + $s.="
- + diff --git a/main/exercice/question_pool.php b/main/exercice/question_pool.php index 256af755d9..ea170b6e85 100644 --- a/main/exercice/question_pool.php +++ b/main/exercice/question_pool.php @@ -1,4 +1,4 @@ -" style="display:inline;"> - - : - :
diff --git a/main/exercice/exercise_admin.php b/main/exercice/exercise_admin.php index 6d4984c9d6..706e659c9f 100644 --- a/main/exercice/exercise_admin.php +++ b/main/exercice/exercise_admin.php @@ -1,22 +1,24 @@ - function advanced_parameters() { - if(document.getElementById(\'options\').style.display == \'none\') { - document.getElementById(\'options\').style.display = \'block\'; - document.getElementById(\'img_plus_and_minus\').innerHTML=\'  '.get_lang('AdvancedParameters').'\'; - } else { + + function advanced_parameters() { + if(document.getElementById(\'options\').style.display == \'none\') { + document.getElementById(\'options\').style.display = \'block\'; + document.getElementById(\'img_plus_and_minus\').innerHTML=\'  '.get_lang('AdvancedParameters').'\'; + } else { document.getElementById(\'options\').style.display = \'none\'; document.getElementById(\'img_plus_and_minus\').innerHTML=\'  '.get_lang('AdvancedParameters').'\'; - } - } + } + } + + function feedbackselection() + { + var index = document.exercise_admin.exerciseFeedbackType.selectedIndex; + + if (index == \'1\') { + + document.exercise_admin.exerciseType[1].checked=true; + document.exercise_admin.exerciseType[0].disabled=true; + + } else { + document.exercise_admin.exerciseType[0].disabled=false; + } + } '; /********************* @@ -69,13 +81,11 @@ $objExercise = new Exercise(); /********************* * INIT FORM *********************/ -if(isset($_GET['exerciseId'])) -{ +if(isset($_GET['exerciseId'])) { $form = new FormValidator('exercise_admin', 'post', api_get_self().'?exerciseId='.$_GET['exerciseId']); $objExercise -> read (intval($_GET['exerciseId'])); $form -> addElement ('hidden','edit','true'); -}else -{ +} else { $form = new FormValidator('exercise_admin'); $form -> addElement ('hidden','edit','false'); } @@ -85,30 +95,20 @@ $objExercise -> createForm ($form); /********************* * VALIDATE FORM *********************/ -if($form -> validate()) -{ +if($form -> validate()) { $objExercise -> processCreation($form); - if($form -> getSubmitValue('edit') == 'true') - { + if($form -> getSubmitValue('edit') == 'true') { header('Location:exercice.php?message=ExerciseEdited'); - } - else - { + } else { header('Location:admin.php?message=ExerciseStored&exerciseId='.$objExercise->id); } -} -else -{ +} else { /********************* * DISPLAY FORM *********************/ $nameTools=get_lang('ExerciseManagement'); $interbreadcrumb[] = array ("url"=>"exercice.php", "name"=> get_lang('Exercices')); - Display::display_header($nameTools,"Exercise"); - $form -> display (); } - -Display::display_footer(); - +Display::display_footer(); \ No newline at end of file diff --git a/main/exercice/question.class.php b/main/exercice/question.class.php index 6b56825afb..63901c8bc4 100644 --- a/main/exercice/question.class.php +++ b/main/exercice/question.class.php @@ -1,4 +1,4 @@ -addElement('hidden','answerType',$_REQUEST['answerType']); // question level - $select_level = array (0,1,2,3,4,5,6); - $form->addElement('select','questionLevel',get_lang('Level'),$select_level); + $select_level = array (0,1,2,3,4,5); + $form->addElement('select','questionLevel',get_lang('Difficulty'),$select_level); $renderer->setElementTemplate('
{label}
{element}
','questionLevel'); // html editor diff --git a/main/exercice/question_admin.inc.php b/main/exercice/question_admin.inc.php index f00dc413fb..12f3d37088 100644 --- a/main/exercice/question_admin.inc.php +++ b/main/exercice/question_admin.inc.php @@ -1,20 +1,23 @@ ';