@@ -108,7 +108,7 @@ discard block |
||
108 | 108 | .sortable({ |
109 | 109 | cursor: "move", // works? |
110 | 110 | update: function(event, ui) { |
111 | - var order = $(this).sortable("serialize") + "&a=update_question_order&exercise_id=<?php echo intval($_GET['exerciseId']);?>"; |
|
111 | + var order = $(this).sortable("serialize") + "&a=update_question_order&exercise_id=<?php echo intval($_GET['exerciseId']); ?>"; |
|
112 | 112 | $.post("<?php echo $ajax_url ?>", order, function(reponse){ |
113 | 113 | $("#message").html(reponse); |
114 | 114 | }); |
@@ -141,11 +141,11 @@ discard block |
||
141 | 141 | echo "<div class='table-responsive'>"; |
142 | 142 | echo "<table class='table table-condensed'>"; |
143 | 143 | echo "<tr>"; |
144 | - echo "<th style=\"width: 50%;\">" .get_lang('Questions'). "</th>"; |
|
145 | - echo "<th style=\"width: 6%;\">" .get_lang('Type'). "</th>"; |
|
146 | - echo "<th style=\"width: 22%; text-align:center;\">" .get_lang('Category'). "</th>"; |
|
147 | - echo "<th style=\"width: 6%;\">" .get_lang('Difficulty'). "</th>"; |
|
148 | - echo "<th style=\"width: 16%; float:left;\">" .get_lang('Score'). "</th>"; |
|
144 | + echo "<th style=\"width: 50%;\">".get_lang('Questions')."</th>"; |
|
145 | + echo "<th style=\"width: 6%;\">".get_lang('Type')."</th>"; |
|
146 | + echo "<th style=\"width: 22%; text-align:center;\">".get_lang('Category')."</th>"; |
|
147 | + echo "<th style=\"width: 6%;\">".get_lang('Difficulty')."</th>"; |
|
148 | + echo "<th style=\"width: 16%; float:left;\">".get_lang('Score')."</th>"; |
|
149 | 149 | echo "</tr>"; |
150 | 150 | echo "</table>"; |
151 | 151 | echo "</div>"; |
@@ -172,15 +172,14 @@ discard block |
||
172 | 172 | $question_class = get_class($objQuestionTmp); |
173 | 173 | |
174 | 174 | $clone_link = '<a href="'.api_get_self().'?'.api_get_cidreq().'&clone_question='.$id.'">'. |
175 | - Display::return_icon('cd.gif',get_lang('Copy'), array(), ICON_SIZE_SMALL).'</a>'; |
|
175 | + Display::return_icon('cd.gif', get_lang('Copy'), array(), ICON_SIZE_SMALL).'</a>'; |
|
176 | 176 | $edit_link = ($objQuestionTmp->type == CALCULATED_ANSWER && $objQuestionTmp->isAnswered()) ? |
177 | 177 | '<a>'.Display::return_icon( |
178 | 178 | 'edit_na.png', |
179 | 179 | get_lang('QuestionEditionNotAvailableBecauseItIsAlreadyAnsweredHoweverYouCanCopyItAndModifyTheCopy'), |
180 | 180 | array(), |
181 | 181 | ICON_SIZE_SMALL |
182 | - ).'</a>' : |
|
183 | - '<a href="'.api_get_self().'?'.api_get_cidreq().'&type='. |
|
182 | + ).'</a>' : '<a href="'.api_get_self().'?'.api_get_cidreq().'&type='. |
|
184 | 183 | $objQuestionTmp->selectType().'&myid=1&editQuestion='.$id.'">'. |
185 | 184 | Display::return_icon( |
186 | 185 | 'edit.png', |
@@ -190,16 +189,16 @@ discard block |
||
190 | 189 | ).'</a>'; |
191 | 190 | $delete_link = null; |
192 | 191 | if ($objExercise->edit_exercise_in_lp == true) { |
193 | - $delete_link = '<a id="delete_'.$id.'" class="opener" href="'.api_get_self().'?'.api_get_cidreq().'&exerciseId='.$exerciseId.'&deleteQuestion='.$id.'" >'.Display::return_icon('delete.png',get_lang('RemoveFromTest'), array(), ICON_SIZE_SMALL).'</a>'; |
|
192 | + $delete_link = '<a id="delete_'.$id.'" class="opener" href="'.api_get_self().'?'.api_get_cidreq().'&exerciseId='.$exerciseId.'&deleteQuestion='.$id.'" >'.Display::return_icon('delete.png', get_lang('RemoveFromTest'), array(), ICON_SIZE_SMALL).'</a>'; |
|
194 | 193 | } |
195 | 194 | |
196 | - $edit_link = Display::tag('div', $edit_link, array('style'=>'float:left; padding:0px; margin:0px')); |
|
197 | - $clone_link = Display::tag('div', $clone_link, array('style'=>'float:left; padding:0px; margin:0px')); |
|
195 | + $edit_link = Display::tag('div', $edit_link, array('style'=>'float:left; padding:0px; margin:0px')); |
|
196 | + $clone_link = Display::tag('div', $clone_link, array('style'=>'float:left; padding:0px; margin:0px')); |
|
198 | 197 | $delete_link = Display::tag('div', $delete_link, array('style'=>'float:left; padding:0px; margin:0px')); |
199 | 198 | $actions = Display::tag( |
200 | 199 | 'div', |
201 | 200 | $edit_link.$clone_link.$delete_link, |
202 | - array('class'=>'edition','style'=>'width:100px; right:10px; margin-top: 8px; position: absolute; top: 10%;') |
|
201 | + array('class'=>'edition', 'style'=>'width:100px; right:10px; margin-top: 8px; position: absolute; top: 10%;') |
|
203 | 202 | ); |
204 | 203 | |
205 | 204 | $title = Security::remove_XSS($objQuestionTmp->selectTitle()); |
@@ -248,7 +247,7 @@ discard block |
||
248 | 247 | echo $actions; |
249 | 248 | echo '</div>'; |
250 | 249 | echo '<div class="question-list-description-block">'; |
251 | - echo '<p class="lead">' . get_lang($question_class) . '</p>'; |
|
250 | + echo '<p class="lead">'.get_lang($question_class).'</p>'; |
|
252 | 251 | //echo get_lang('Level').': '.$objQuestionTmp->selectLevel(); |
253 | 252 | ExerciseLib::showQuestion($id, false, null, null, false, true, false, true, $objExercise->feedback_type, true); |
254 | 253 | echo '</div>'; |
@@ -16,7 +16,6 @@ |
||
16 | 16 | * @author Patrick Cool |
17 | 17 | * @author René Haentjens, added CSV file import (October 2004) |
18 | 18 | * @package chamilo.link |
19 | - |
|
20 | 19 | */ |
21 | 20 | |
22 | 21 | // Including libraries |
@@ -51,17 +51,17 @@ |
||
51 | 51 | $result = Database::query($sql); |
52 | 52 | $exercises['-'] = '-'.get_lang('SelectExercise').'-'; |
53 | 53 | while ($row = Database :: fetch_array($result)) { |
54 | - $exercises[$row['id']] = cut($row['title'], EXERCISE_MAX_NAME_SIZE); |
|
54 | + $exercises[$row['id']] = cut($row['title'], EXERCISE_MAX_NAME_SIZE); |
|
55 | 55 | } |
56 | 56 | $form->addElement('select', 'exercise', get_lang('Exercise'), $exercises); |
57 | 57 | |
58 | 58 | // generate default content |
59 | 59 | $form->addElement( |
60 | - 'checkbox', |
|
61 | - 'is_content', |
|
62 | - null, |
|
63 | - get_lang('GenerateDefaultContent'), |
|
64 | - array('checked' => true) |
|
60 | + 'checkbox', |
|
61 | + 'is_content', |
|
62 | + null, |
|
63 | + get_lang('GenerateDefaultContent'), |
|
64 | + array('checked' => true) |
|
65 | 65 | ); |
66 | 66 | |
67 | 67 | // the submit button |
@@ -8,21 +8,21 @@ discard block |
||
8 | 8 | require_once '../inc/global.inc.php'; |
9 | 9 | |
10 | 10 | // the section (tabs) |
11 | -$this_section=SECTION_COURSES; |
|
11 | +$this_section = SECTION_COURSES; |
|
12 | 12 | |
13 | 13 | // notice for unauthorized people. |
14 | 14 | api_protect_course_script(true); |
15 | 15 | |
16 | 16 | // breadcrumbs |
17 | -$interbreadcrumb[]=array("url" => "exercise.php","name" => get_lang('Exercises')); |
|
17 | +$interbreadcrumb[] = array("url" => "exercise.php", "name" => get_lang('Exercises')); |
|
18 | 18 | |
19 | 19 | // Tool name |
20 | -$nameTools=get_lang('AddQuestionToExercise'); |
|
20 | +$nameTools = get_lang('AddQuestionToExercise'); |
|
21 | 21 | |
22 | 22 | // The form |
23 | -$form = new FormValidator('add_question','post',api_get_self().'?'.api_get_cidreq()); |
|
23 | +$form = new FormValidator('add_question', 'post', api_get_self().'?'.api_get_cidreq()); |
|
24 | 24 | // form title |
25 | -$form->addElement('header','',get_lang('AddQuestionToExercise')); |
|
25 | +$form->addElement('header', '', get_lang('AddQuestionToExercise')); |
|
26 | 26 | |
27 | 27 | $question_list = Question::get_question_type_list(); |
28 | 28 | $question_list_options = array(); |
@@ -38,7 +38,7 @@ discard block |
||
38 | 38 | ); |
39 | 39 | |
40 | 40 | //session id |
41 | -$session_id = api_get_session_id(); |
|
41 | +$session_id = api_get_session_id(); |
|
42 | 42 | |
43 | 43 | // the exercises |
44 | 44 | $tbl_exercises = Database :: get_course_table(TABLE_QUIZ_TEST); |
@@ -98,7 +98,7 @@ discard block |
||
98 | 98 | Display::display_header($nameTools); |
99 | 99 | |
100 | 100 | echo '<div class="actions">'; |
101 | - echo '<a href="exercise.php?show=test">'.Display :: return_icon('back.png', get_lang('BackToExercisesList'),'',ICON_SIZE_MEDIUM).'</a>'; |
|
101 | + echo '<a href="exercise.php?show=test">'.Display :: return_icon('back.png', get_lang('BackToExercisesList'), '', ICON_SIZE_MEDIUM).'</a>'; |
|
102 | 102 | echo '</div>'; |
103 | 103 | |
104 | 104 | // displaying the form |
@@ -133,8 +133,8 @@ discard block |
||
133 | 133 | ), |
134 | 134 | array('ToolbarSet' => 'TestQuestionDescription', 'Width' => '100%', 'Height' => '350')); |
135 | 135 | |
136 | - $form->addRule('answer', get_lang('GiveText'),'required'); |
|
137 | - $form->addRule('answer', get_lang('DefineBlanks'),'regex','/\[.*\]/'); |
|
136 | + $form->addRule('answer', get_lang('GiveText'), 'required'); |
|
137 | + $form->addRule('answer', get_lang('DefineBlanks'), 'regex', '/\[.*\]/'); |
|
138 | 138 | |
139 | 139 | $form->addElement('label', null, get_lang('IfYouWantOnlyIntegerValuesWriteBothLimitsWithoutDecimals')); |
140 | 140 | $form->addElement('html', '<div id="blanks_weighting"></div>'); |
@@ -161,7 +161,7 @@ discard block |
||
161 | 161 | $form->setDefaults(array('weighting' => '10')); |
162 | 162 | |
163 | 163 | $form->addElement('text', 'answerVariations', get_lang('AnswerVariations')); |
164 | - $form->addRule('answerVariations', get_lang('GiveAnswerVariations'),'required'); |
|
164 | + $form->addRule('answerVariations', get_lang('GiveAnswerVariations'), 'required'); |
|
165 | 165 | $form->setDefaults(array('answerVariations' => '1')); |
166 | 166 | |
167 | 167 | global $text; |
@@ -201,22 +201,21 @@ discard block |
||
201 | 201 | $answerVariations = $form->getSubmitValue('answerVariations'); |
202 | 202 | $this->weighting = $form->getSubmitValue('weighting'); |
203 | 203 | // Create as many answers as $answerVariations |
204 | - for ($j=0 ; $j < $answerVariations; $j++) { |
|
204 | + for ($j = 0; $j < $answerVariations; $j++) { |
|
205 | 205 | $auxAnswer = $answer; |
206 | 206 | $auxFormula = $formula; |
207 | 207 | $nb = preg_match_all('/\[[^\]]*\]/', $auxAnswer, $blanks); |
208 | 208 | if ($nb > 0) { |
209 | - for ($i=0 ; $i < $nb; ++$i) { |
|
209 | + for ($i = 0; $i < $nb; ++$i) { |
|
210 | 210 | $blankItem = $blanks[0][$i]; |
211 | 211 | $replace = array("[", "]"); |
212 | 212 | $newBlankItem = str_replace($replace, "", $blankItem); |
213 | 213 | $newBlankItem = "[".trim($newBlankItem)."]"; |
214 | 214 | // take random float values when one or both edge values have a decimal point |
215 | 215 | $randomValue = |
216 | - (strpos($lowestValues[$i],'.') !== false || |
|
217 | - strpos($highestValues[$i],'.') !== false) ? |
|
218 | - mt_rand($lowestValues[$i]*100,$highestValues[$i]*100)/100 : |
|
219 | - mt_rand($lowestValues[$i],$highestValues[$i]); |
|
216 | + (strpos($lowestValues[$i], '.') !== false || |
|
217 | + strpos($highestValues[$i], '.') !== false) ? |
|
218 | + mt_rand($lowestValues[$i] * 100, $highestValues[$i] * 100) / 100 : mt_rand($lowestValues[$i], $highestValues[$i]); |
|
220 | 219 | $auxAnswer = str_replace($blankItem, $randomValue, $auxAnswer); |
221 | 220 | $auxFormula = str_replace($blankItem, $randomValue, $auxFormula); |
222 | 221 | } |
@@ -250,7 +249,7 @@ discard block |
||
250 | 249 | function return_header($feedback_type = null, $counter = null, $score = null) |
251 | 250 | { |
252 | 251 | $header = parent::return_header($feedback_type, $counter, $score); |
253 | - $header .= '<table class="'.$this->question_table_class .'"> |
|
252 | + $header .= '<table class="'.$this->question_table_class.'"> |
|
254 | 253 | <tr> |
255 | 254 | <th>'.get_lang("Answer").'</th> |
256 | 255 | </tr>'; |
@@ -58,7 +58,7 @@ |
||
58 | 58 | * @param null $feedback_type |
59 | 59 | * @param null $counter |
60 | 60 | * @param null $score |
61 | - * @return null|string |
|
61 | + * @return string |
|
62 | 62 | */ |
63 | 63 | function return_header($feedback_type = null, $counter = null, $score = null) |
64 | 64 | { |
@@ -72,12 +72,12 @@ discard block |
||
72 | 72 | for ($i = 1; $i <= $answer->nbrAnswers; $i++) { |
73 | 73 | if ($answer->isCorrect($i)) { |
74 | 74 | $nb_matches++; |
75 | - $defaults['answer[' . $nb_matches . ']'] = $answer->selectAnswer($i); |
|
76 | - $defaults['weighting[' . $nb_matches . ']'] = float_format($answer->selectWeighting($i), 1); |
|
77 | - $defaults['matches[' . $nb_matches . ']'] = $answer->correct[$i]; |
|
75 | + $defaults['answer['.$nb_matches.']'] = $answer->selectAnswer($i); |
|
76 | + $defaults['weighting['.$nb_matches.']'] = float_format($answer->selectWeighting($i), 1); |
|
77 | + $defaults['matches['.$nb_matches.']'] = $answer->correct[$i]; |
|
78 | 78 | } else { |
79 | 79 | $nb_options++; |
80 | - $defaults['option[' . $nb_options . ']'] = $answer->selectAnswer($i); |
|
80 | + $defaults['option['.$nb_options.']'] = $answer->selectAnswer($i); |
|
81 | 81 | } |
82 | 82 | } |
83 | 83 | } |
@@ -108,10 +108,10 @@ discard block |
||
108 | 108 | $html = '<table class="table table-striped table-hover"> |
109 | 109 | <thead> |
110 | 110 | <tr> |
111 | - <th width="5%">' . get_lang('Number') . '</th> |
|
112 | - <th width="70%">' . get_lang('Answer') . '</th> |
|
113 | - <th width="15%">' . get_lang('MatchesTo') . '</th> |
|
114 | - <th width="10%">' . get_lang('Weighting') . '</th> |
|
111 | + <th width="5%">' . get_lang('Number').'</th> |
|
112 | + <th width="70%">' . get_lang('Answer').'</th> |
|
113 | + <th width="15%">' . get_lang('MatchesTo').'</th> |
|
114 | + <th width="10%">' . get_lang('Weighting').'</th> |
|
115 | 115 | </tr> |
116 | 116 | </thead> |
117 | 117 | <tbody>'; |
@@ -162,8 +162,8 @@ discard block |
||
162 | 162 | $html = '<table class="table table-striped table-hover"> |
163 | 163 | <thead> |
164 | 164 | <tr> |
165 | - <th width="15%">' . get_lang('Number') . '</th> |
|
166 | - <th width="85%">' . get_lang('Answer') . '</th> |
|
165 | + <th width="15%">' . get_lang('Number').'</th> |
|
166 | + <th width="85%">' . get_lang('Answer').'</th> |
|
167 | 167 | </tr> |
168 | 168 | </thead> |
169 | 169 | <tbody>'; |
@@ -185,7 +185,7 @@ discard block |
||
185 | 185 | |
186 | 186 | $form->addHtml('<tr>'); |
187 | 187 | |
188 | - $form->addHtml('<td>' . chr(64 + $i) . '</td>'); |
|
188 | + $form->addHtml('<td>'.chr(64 + $i).'</td>'); |
|
189 | 189 | $form->addText("option[$i]", null); |
190 | 190 | |
191 | 191 | $form->addHtml('</tr>'); |
@@ -267,7 +267,7 @@ discard block |
||
267 | 267 | public function return_header($feedback_type = null, $counter = null, $score = null) |
268 | 268 | { |
269 | 269 | $header = parent::return_header($feedback_type, $counter, $score); |
270 | - $header .= '<table class="'.$this->question_table_class .'">'; |
|
270 | + $header .= '<table class="'.$this->question_table_class.'">'; |
|
271 | 271 | $header .= '<tr> |
272 | 272 | <th>'.get_lang('ElementList').'</th> |
273 | 273 | <th>'.get_lang('CorrespondsTo').'</th> |
@@ -11,7 +11,7 @@ discard block |
||
11 | 11 | */ |
12 | 12 | |
13 | 13 | if (isset($_GET['editQuestion'])) { |
14 | - $objQuestion = Question::read ($_GET['editQuestion']); |
|
14 | + $objQuestion = Question::read($_GET['editQuestion']); |
|
15 | 15 | $action = api_get_self()."?".api_get_cidreq()."&myid=1&modifyQuestion=".$modifyQuestion."&editQuestion=".$objQuestion->id; |
16 | 16 | } else { |
17 | 17 | $objQuestion = Question :: getInstance($_REQUEST['answerType']); |
@@ -20,7 +20,7 @@ discard block |
||
20 | 20 | |
21 | 21 | if (is_object($objQuestion)) { |
22 | 22 | // FORM CREATION |
23 | - $form = new FormValidator('question_admin_form','post', $action); |
|
23 | + $form = new FormValidator('question_admin_form', 'post', $action); |
|
24 | 24 | if (isset($_GET['editQuestion'])) { |
25 | 25 | $class = "btn btn-default"; |
26 | 26 | $text = get_lang('ModifyQuestion'); |
@@ -62,7 +62,7 @@ discard block |
||
62 | 62 | |
63 | 63 | // redirect |
64 | 64 | if ($objQuestion->type != HOT_SPOT && $objQuestion->type != HOT_SPOT_DELINEATION) { |
65 | - if(isset($_GET['editQuestion'])) { |
|
65 | + if (isset($_GET['editQuestion'])) { |
|
66 | 66 | echo '<script type="text/javascript">window.location.href="admin.php?exerciseId='.$exerciseId.'&'.api_get_cidreq().'&message=ItemUpdated"</script>'; |
67 | 67 | } else { |
68 | 68 | //New question |
@@ -17,25 +17,25 @@ |
||
17 | 17 | $hotspotId = $_GET['hotspotId']; |
18 | 18 | $exerciseId = $objExcercise->selectId(); |
19 | 19 | if ($_GET['answerId'] == "0") { // click is NOT on a hotspot |
20 | - $hit = 0; |
|
21 | - $answerId = $hotspotId; |
|
20 | + $hit = 0; |
|
21 | + $answerId = $hotspotId; |
|
22 | 22 | |
23 | - // remove from session |
|
24 | - unset($_SESSION['exerciseResult'][$questionId][$answerId]); |
|
23 | + // remove from session |
|
24 | + unset($_SESSION['exerciseResult'][$questionId][$answerId]); |
|
25 | 25 | |
26 | - // Save clicking order |
|
27 | - //$answerOrderId = count($_SESSION['exerciseResult'][$questionId]['order'])+1; |
|
28 | - //$_SESSION['exerciseResult'][$questionId]['order'][$answerOrderId] = $answerId; |
|
26 | + // Save clicking order |
|
27 | + //$answerOrderId = count($_SESSION['exerciseResult'][$questionId]['order'])+1; |
|
28 | + //$_SESSION['exerciseResult'][$questionId]['order'][$answerOrderId] = $answerId; |
|
29 | 29 | } else { // user clicked ON a hotspot |
30 | - $hit = 1; |
|
31 | - $answerId = $hotspotId; |
|
30 | + $hit = 1; |
|
31 | + $answerId = $hotspotId; |
|
32 | 32 | |
33 | - // Save into session |
|
34 | - $_SESSION['exerciseResult'][$questionId][$answerId] = $hit; |
|
33 | + // Save into session |
|
34 | + $_SESSION['exerciseResult'][$questionId][$answerId] = $hit; |
|
35 | 35 | |
36 | - // Save clicking order |
|
37 | - //$answerOrderId = count($_SESSION['exerciseResult'][$questionId]['order'])+1; |
|
38 | - //$_SESSION['exerciseResult'][$questionId]['order'][$answerOrderId] = $answerId; |
|
36 | + // Save clicking order |
|
37 | + //$answerOrderId = count($_SESSION['exerciseResult'][$questionId]['order'])+1; |
|
38 | + //$_SESSION['exerciseResult'][$questionId]['order'][$answerOrderId] = $answerId; |
|
39 | 39 | } |
40 | 40 | |
41 | 41 | //round-up the coordinates |
@@ -14,7 +14,7 @@ discard block |
||
14 | 14 | $questionId = $_GET['questionId']; |
15 | 15 | $coordinates = $_GET['coord']; |
16 | 16 | $objExcercise = $_SESSION['objExercise']; |
17 | -$hotspotId = $_GET['hotspotId']; |
|
17 | +$hotspotId = $_GET['hotspotId']; |
|
18 | 18 | $exerciseId = $objExcercise->selectId(); |
19 | 19 | if ($_GET['answerId'] == "0") { // click is NOT on a hotspot |
20 | 20 | $hit = 0; |
@@ -39,15 +39,15 @@ discard block |
||
39 | 39 | } |
40 | 40 | |
41 | 41 | //round-up the coordinates |
42 | -$coords = explode('/',$coordinates); |
|
42 | +$coords = explode('/', $coordinates); |
|
43 | 43 | $coordinates = ''; |
44 | 44 | foreach ($coords as $coord) { |
45 | - list($x,$y) = explode(';',$coord); |
|
45 | + list($x, $y) = explode(';', $coord); |
|
46 | 46 | $coordinates .= round($x).';'.round($y).'/'; |
47 | 47 | } |
48 | -$coordinates = substr($coordinates,0,-1); |
|
48 | +$coordinates = substr($coordinates, 0, -1); |
|
49 | 49 | |
50 | -$TBL_TRACK_E_HOTSPOT = Database::get_main_table(TABLE_STATISTIC_TRACK_E_HOTSPOT); |
|
50 | +$TBL_TRACK_E_HOTSPOT = Database::get_main_table(TABLE_STATISTIC_TRACK_E_HOTSPOT); |
|
51 | 51 | |
52 | 52 | // update db |
53 | 53 | $update_id = $_SESSION['exerciseResult'][$questionId]['ids'][$answerId]; |
@@ -907,10 +907,10 @@ |
||
907 | 907 | <?php } else { ?> |
908 | 908 | <input class="form-control" type="text" name="weighting[<?php echo $i; ?>]" value="<?php echo (isset($weighting[$i]) ? $weighting[$i] : 10); ?>" /> |
909 | 909 | <?php |
910 | - } |
|
911 | - } |
|
912 | - if ($answerType == HOT_SPOT) { |
|
913 | - ?> |
|
910 | + } |
|
911 | + } |
|
912 | + if ($answerType == HOT_SPOT) { |
|
913 | + ?> |
|
914 | 914 | <input class="form-control" type="text" name="weighting[<?php echo $i; ?>]" value="<?php echo (isset($weighting[$i]) ? $weighting[$i] : 10); ?>" /> |
915 | 915 | <input type="hidden" name="hotspot_coordinates[<?php echo $i; ?>]" value="<?php echo (empty($hotspot_coordinates[$i]) ? '0;0|0|0' : $hotspot_coordinates[$i]); ?>" /> |
916 | 916 | <input type="hidden" name="hotspot_type[<?php echo $i; ?>]" value="<?php echo (empty($hotspot_type[$i]) ? 'square' : $hotspot_type[$i]); ?>" /> |
@@ -366,8 +366,9 @@ discard block |
||
366 | 366 | if ($answerType == HOT_SPOT_DELINEATION) { |
367 | 367 | // the magic happens here ... |
368 | 368 | // we do this to not count the if no error section |
369 | - if ($nbrAnswers >= 2) |
|
370 | - $nbrAnswers--; |
|
369 | + if ($nbrAnswers >= 2) { |
|
370 | + $nbrAnswers--; |
|
371 | + } |
|
371 | 372 | } |
372 | 373 | |
373 | 374 | $reponse = array(); |
@@ -679,12 +680,15 @@ discard block |
||
679 | 680 | |
680 | 681 | for ($k = 1; $k <= 100; $k++) { |
681 | 682 | $selected1 = $selected2 = $selected3 = ''; |
682 | - if ($k == $threadhold1[$i]) |
|
683 | - $selected1 = 'selected="selected"'; |
|
684 | - if ($k == $threadhold2[$i]) |
|
685 | - $selected2 = 'selected="selected"'; |
|
686 | - if ($k == $threadhold3[$i]) |
|
687 | - $selected3 = 'selected="selected"'; |
|
683 | + if ($k == $threadhold1[$i]) { |
|
684 | + $selected1 = 'selected="selected"'; |
|
685 | + } |
|
686 | + if ($k == $threadhold2[$i]) { |
|
687 | + $selected2 = 'selected="selected"'; |
|
688 | + } |
|
689 | + if ($k == $threadhold3[$i]) { |
|
690 | + $selected3 = 'selected="selected"'; |
|
691 | + } |
|
688 | 692 | $option1.='<option ' . $selected1 . ' >' . $k . ' % </option>'; |
689 | 693 | $option2.='<option ' . $selected2 . ' >' . $k . ' % </option>'; |
690 | 694 | $option3.='<option ' . $selected3 . '>' . $k . ' %</option>'; |
@@ -731,7 +735,10 @@ discard block |
||
731 | 735 | <div class="checkbox"> |
732 | 736 | <p> |
733 | 737 | <label> |
734 | - <input type="checkbox" class="checkbox" name="<?php echo 'try[' . $i; ?>]" <?php if ($try[$i] == 1) echo'checked'; ?> /> |
|
738 | + <input type="checkbox" class="checkbox" name="<?php echo 'try[' . $i; ?>]" <?php if ($try[$i] == 1) { |
|
739 | + echo'checked'; |
|
740 | +} |
|
741 | +?> /> |
|
735 | 742 | <?php echo get_lang('TryAgain'); ?> |
736 | 743 | </label> |
737 | 744 | </p> |
@@ -784,7 +791,10 @@ discard block |
||
784 | 791 | <div class="checkbox"> |
785 | 792 | <p> |
786 | 793 | <label> |
787 | - <input type="checkbox" class="checkbox" name="<?php echo 'try[' . $i; ?>]" <?php if ($try[$i] == 1) echo'checked'; ?> /> |
|
794 | + <input type="checkbox" class="checkbox" name="<?php echo 'try[' . $i; ?>]" <?php if ($try[$i] == 1) { |
|
795 | + echo'checked'; |
|
796 | +} |
|
797 | +?> /> |
|
788 | 798 | <?php echo get_lang('TryAgain'); ?> |
789 | 799 | </label> |
790 | 800 | </p> |
@@ -823,7 +833,10 @@ discard block |
||
823 | 833 | <th ><?php echo get_lang('OAR'); ?>*</th> |
824 | 834 | <?php if ($objExercise->selectFeedbackType() == EXERCISE_FEEDBACK_TYPE_DIRECT) { ?> |
825 | 835 | <th colspan="2" ><?php echo get_lang('Comment'); ?></th> |
826 | - <th ><?php if ($answerType == HOT_SPOT_DELINEATION) echo get_lang('Scenario'); ?></th> |
|
836 | + <th ><?php if ($answerType == HOT_SPOT_DELINEATION) { |
|
837 | + echo get_lang('Scenario'); |
|
838 | +} |
|
839 | +?></th> |
|
827 | 840 | <?php } else { ?> |
828 | 841 | <th colspan="3" ><?php echo get_lang('Comment'); ?></th> |
829 | 842 | <?php } ?> |
@@ -849,7 +862,10 @@ discard block |
||
849 | 862 | <div class="checkbox"> |
850 | 863 | <p> |
851 | 864 | <label> |
852 | - <input type="checkbox" class="checkbox" name="<?php echo 'try[' . $i; ?>]" <?php if (isset($try[$i]) && $try[$i] == 1) echo'checked'; ?> /> |
|
865 | + <input type="checkbox" class="checkbox" name="<?php echo 'try[' . $i; ?>]" <?php if (isset($try[$i]) && $try[$i] == 1) { |
|
866 | + echo'checked'; |
|
867 | +} |
|
868 | +?> /> |
|
853 | 869 | <?php echo get_lang('TryAgain'); ?> |
854 | 870 | </label> |
855 | 871 | </p> |
@@ -998,7 +1014,10 @@ discard block |
||
998 | 1014 | <div class="checkbox"> |
999 | 1015 | <p> |
1000 | 1016 | <label> |
1001 | - <input type="checkbox" class="checkbox" name="try_noerror" <?php if ($try_noerror == 1) echo'checked'; ?> /> |
|
1017 | + <input type="checkbox" class="checkbox" name="try_noerror" <?php if ($try_noerror == 1) { |
|
1018 | + echo'checked'; |
|
1019 | +} |
|
1020 | +?> /> |
|
1002 | 1021 | <?php echo get_lang('TryAgain'); ?> |
1003 | 1022 | </label> |
1004 | 1023 | </p> |
@@ -25,7 +25,7 @@ discard block |
||
25 | 25 | |
26 | 26 | if ($modifyIn) { |
27 | 27 | if ($debug > 0) { |
28 | - echo '$modifyIn was set' . "<br />\n"; |
|
28 | + echo '$modifyIn was set'."<br />\n"; |
|
29 | 29 | } |
30 | 30 | // if the user has chosen to modify the question only in the current exercise |
31 | 31 | if ($modifyIn == 'thisExercise') { |
@@ -64,7 +64,7 @@ discard block |
||
64 | 64 | unset($buttonBack); |
65 | 65 | } |
66 | 66 | |
67 | -$hotspot_admin_url = api_get_path(WEB_CODE_PATH) . 'exercice/admin.php?' . api_get_cidreq() . '&exerciseId=' . $exerciseId; |
|
67 | +$hotspot_admin_url = api_get_path(WEB_CODE_PATH).'exercice/admin.php?'.api_get_cidreq().'&exerciseId='.$exerciseId; |
|
68 | 68 | |
69 | 69 | // the answer form has been submitted |
70 | 70 | $submitAnswers = isset($_POST['submitAnswers']) ? true : false; |
@@ -74,13 +74,13 @@ discard block |
||
74 | 74 | if ($submitAnswers || $buttonBack) { |
75 | 75 | if ($answerType == HOT_SPOT) { |
76 | 76 | if ($debug > 0) { |
77 | - echo '$submitAnswers or $buttonBack was set' . "<br />\n"; |
|
77 | + echo '$submitAnswers or $buttonBack was set'."<br />\n"; |
|
78 | 78 | } |
79 | 79 | |
80 | 80 | $questionWeighting = $nbrGoodAnswers = 0; |
81 | 81 | for ($i = 1; $i <= $nbrAnswers; $i++) { |
82 | 82 | if ($debug > 0) { |
83 | - echo str_repeat(' ', 4) . '$answerType is HOT_SPOT' . "<br />\n"; |
|
83 | + echo str_repeat(' ', 4).'$answerType is HOT_SPOT'."<br />\n"; |
|
84 | 84 | } |
85 | 85 | |
86 | 86 | $reponse[$i] = trim($reponse[$i]); |
@@ -114,7 +114,7 @@ discard block |
||
114 | 114 | if (empty($msgErr)) { |
115 | 115 | for ($i = 1; $i <= $nbrAnswers; $i++) { |
116 | 116 | if ($debug > 0) { |
117 | - echo str_repeat(' ', 4) . '$answerType is HOT_SPOT' . "<br />\n"; |
|
117 | + echo str_repeat(' ', 4).'$answerType is HOT_SPOT'."<br />\n"; |
|
118 | 118 | } |
119 | 119 | |
120 | 120 | $reponse[$i] = trim($reponse[$i]); |
@@ -122,7 +122,7 @@ discard block |
||
122 | 122 | $weighting[$i] = ($weighting[$i]); //it can be float |
123 | 123 | |
124 | 124 | if ($weighting[$i]) { |
125 | - $questionWeighting+=$weighting[$i]; |
|
125 | + $questionWeighting += $weighting[$i]; |
|
126 | 126 | } |
127 | 127 | |
128 | 128 | // creates answer |
@@ -145,15 +145,15 @@ discard block |
||
145 | 145 | |
146 | 146 | $editQuestion = $questionId; |
147 | 147 | unset($modifyAnswers); |
148 | - echo '<script type="text/javascript">window.location.href="' . $hotspot_admin_url . '&message=ItemUpdated"</script>'; |
|
148 | + echo '<script type="text/javascript">window.location.href="'.$hotspot_admin_url.'&message=ItemUpdated"</script>'; |
|
149 | 149 | } |
150 | 150 | |
151 | 151 | if ($debug > 0) { |
152 | - echo '$modifyIn was set - end' . "<br />\n"; |
|
152 | + echo '$modifyIn was set - end'."<br />\n"; |
|
153 | 153 | } |
154 | 154 | } else { |
155 | 155 | if ($debug > 0) { |
156 | - echo '$submitAnswers or $buttonBack was set' . "<br />\n"; |
|
156 | + echo '$submitAnswers or $buttonBack was set'."<br />\n"; |
|
157 | 157 | } |
158 | 158 | |
159 | 159 | $questionWeighting = $nbrGoodAnswers = 0; |
@@ -168,7 +168,7 @@ discard block |
||
168 | 168 | |
169 | 169 | for ($i = 1; $i <= $nbrAnswers; $i++) { |
170 | 170 | if ($debug > 0) { |
171 | - echo str_repeat(' ', 4) . '$answerType is HOT_SPOT' . "<br />\n"; |
|
171 | + echo str_repeat(' ', 4).'$answerType is HOT_SPOT'."<br />\n"; |
|
172 | 172 | } |
173 | 173 | |
174 | 174 | $reponse[$i] = trim($reponse[$i]); |
@@ -193,7 +193,7 @@ discard block |
||
193 | 193 | $threadhold3_str = intval($threadhold3[$i]); |
194 | 194 | } |
195 | 195 | |
196 | - $threadhold_total = $threadhold1_str . ';' . $threadhold2_str . ';' . $threadhold3_str; |
|
196 | + $threadhold_total = $threadhold1_str.';'.$threadhold2_str.';'.$threadhold3_str; |
|
197 | 197 | |
198 | 198 | if (isset($try[$i]) && $try[$i] == 'on') { |
199 | 199 | $try_str = 1; |
@@ -219,7 +219,7 @@ discard block |
||
219 | 219 | $question_str = $select_question[$i]; |
220 | 220 | } |
221 | 221 | |
222 | - $destination[$i] = $threadhold_total . '@@' . $try_str . '@@' . $lp_str . '@@' . $question_str . '@@' . $url_str; |
|
222 | + $destination[$i] = $threadhold_total.'@@'.$try_str.'@@'.$lp_str.'@@'.$question_str.'@@'.$url_str; |
|
223 | 223 | |
224 | 224 | // checks if field is empty |
225 | 225 | if (empty($reponse[$i]) && $reponse[$i] != '0') { |
@@ -277,12 +277,12 @@ discard block |
||
277 | 277 | $question_str = $selectQuestionNoError; |
278 | 278 | } |
279 | 279 | |
280 | - $destination_noerror = $threadhold_total . '@@' . $try_str . '@@' . $lp_str . '@@' . $question_str . '@@' . $url_str; |
|
280 | + $destination_noerror = $threadhold_total.'@@'.$try_str.'@@'.$lp_str.'@@'.$question_str.'@@'.$url_str; |
|
281 | 281 | |
282 | 282 | if (empty($msgErr)) { |
283 | 283 | for ($i = 1; $i <= $nbrAnswers; $i++) { |
284 | 284 | if ($debug > 0) { |
285 | - echo str_repeat(' ', 4) . '$answerType is HOT_SPOT' . "<br />\n"; |
|
285 | + echo str_repeat(' ', 4).'$answerType is HOT_SPOT'."<br />\n"; |
|
286 | 286 | } |
287 | 287 | |
288 | 288 | $reponse[$i] = trim($reponse[$i]); |
@@ -290,7 +290,7 @@ discard block |
||
290 | 290 | $weighting[$i] = ($weighting[$i]); //it can be float |
291 | 291 | |
292 | 292 | if ($weighting[$i]) { |
293 | - $questionWeighting+=$weighting[$i]; |
|
293 | + $questionWeighting += $weighting[$i]; |
|
294 | 294 | } |
295 | 295 | // creates answer |
296 | 296 | $objAnswer->createAnswer( |
@@ -325,14 +325,14 @@ discard block |
||
325 | 325 | $editQuestion = $questionId; |
326 | 326 | unset($modifyAnswers); |
327 | 327 | |
328 | - echo '<script type="text/javascript">window.location.href="' . $hotspot_admin_url . '&message=ItemUpdated"</script>'; |
|
328 | + echo '<script type="text/javascript">window.location.href="'.$hotspot_admin_url.'&message=ItemUpdated"</script>'; |
|
329 | 329 | } |
330 | 330 | } |
331 | 331 | } |
332 | 332 | |
333 | 333 | if ($modifyAnswers) { |
334 | 334 | if ($debug > 0) { |
335 | - echo str_repeat(' ', 0) . '$modifyAnswers is set' . "<br />\n"; |
|
335 | + echo str_repeat(' ', 0).'$modifyAnswers is set'."<br />\n"; |
|
336 | 336 | } |
337 | 337 | |
338 | 338 | // construction of the Answer object |
@@ -340,7 +340,7 @@ discard block |
||
340 | 340 | Session::write('objAnswer', $objAnswer); |
341 | 341 | |
342 | 342 | if ($debug > 0) { |
343 | - echo str_repeat(' ', 2) . '$answerType is HOT_SPOT' . "<br />\n"; |
|
343 | + echo str_repeat(' ', 2).'$answerType is HOT_SPOT'."<br />\n"; |
|
344 | 344 | } |
345 | 345 | |
346 | 346 | if ($answerType == HOT_SPOT_DELINEATION) { |
@@ -521,11 +521,11 @@ discard block |
||
521 | 521 | } |
522 | 522 | |
523 | 523 | if ($debug > 0) { |
524 | - echo str_repeat(' ', 2) . '$usedInSeveralExercises is untrue' . "<br />\n"; |
|
524 | + echo str_repeat(' ', 2).'$usedInSeveralExercises is untrue'."<br />\n"; |
|
525 | 525 | } |
526 | 526 | |
527 | 527 | if ($debug > 0) { |
528 | - echo str_repeat(' ', 4) . '$answerType is HOT_SPOT' . "<br />\n"; |
|
528 | + echo str_repeat(' ', 4).'$answerType is HOT_SPOT'."<br />\n"; |
|
529 | 529 | } |
530 | 530 | |
531 | 531 | if ($answerType == HOT_SPOT_DELINEATION) { |
@@ -565,14 +565,14 @@ discard block |
||
565 | 565 | |
566 | 566 | Display::tag( |
567 | 567 | 'h3', |
568 | - get_lang('Question') . ": " . $questionName . Display::return_icon('info3.gif', strip_tags(get_lang('HotspotChoose'))) |
|
568 | + get_lang('Question').": ".$questionName.Display::return_icon('info3.gif', strip_tags(get_lang('HotspotChoose'))) |
|
569 | 569 | ); |
570 | 570 | |
571 | 571 | if (!empty($msgErr)) { |
572 | 572 | Display::display_normal_message($msgErr); //main API |
573 | 573 | } |
574 | 574 | |
575 | - $hotspot_admin_url = api_get_path(WEB_CODE_PATH) . 'exercice/admin.php?' . api_get_cidreq() . '&hotspotadmin=' . $modifyAnswers . '&exerciseId=' . $exerciseId . '&' . api_get_cidreq(); |
|
575 | + $hotspot_admin_url = api_get_path(WEB_CODE_PATH).'exercice/admin.php?'.api_get_cidreq().'&hotspotadmin='.$modifyAnswers.'&exerciseId='.$exerciseId.'&'.api_get_cidreq(); |
|
576 | 576 | ?> |
577 | 577 | <form method="post" action="<?php echo $hotspot_admin_url; ?>" class="form-horizontal" id="frm_exercise" name="frm_exercise"> |
578 | 578 | <div class="form-group"> |
@@ -611,7 +611,7 @@ discard block |
||
611 | 611 | <th><?php echo get_lang('Comment'); ?></th> |
612 | 612 | <?php |
613 | 613 | if ($answerType == HOT_SPOT_DELINEATION) { |
614 | - echo '<th >' . get_lang('Scenario') . '</th>'; |
|
614 | + echo '<th >'.get_lang('Scenario').'</th>'; |
|
615 | 615 | } |
616 | 616 | ?> |
617 | 617 | <?php |
@@ -643,36 +643,36 @@ discard block |
||
643 | 643 | $isSelected = true; |
644 | 644 | $selected = 'selected="selected"'; |
645 | 645 | } |
646 | - $option_lp.='<option value="' . $id . '" ' . $selected . '>' . $details['lp_name'] . '</option>'; |
|
646 | + $option_lp .= '<option value="'.$id.'" '.$selected.'>'.$details['lp_name'].'</option>'; |
|
647 | 647 | } |
648 | 648 | |
649 | 649 | if ($isSelected) { |
650 | - $option_lp = '<option value="0">' . get_lang('SelectTargetLP') . '</option>' . $option_lp; |
|
650 | + $option_lp = '<option value="0">'.get_lang('SelectTargetLP').'</option>'.$option_lp; |
|
651 | 651 | } else { |
652 | - $option_lp = '<option value="0" selected="selected" >' . get_lang('SelectTargetLP') . '</option>' . $option_lp; |
|
652 | + $option_lp = '<option value="0" selected="selected" >'.get_lang('SelectTargetLP').'</option>'.$option_lp; |
|
653 | 653 | } |
654 | 654 | |
655 | 655 | // Feedback SELECT |
656 | 656 | $question_list = $objExercise->selectQuestionList(); |
657 | 657 | $option_feed = ''; |
658 | - $option_feed.='<option value="0">' . get_lang('SelectTargetQuestion') . '</option>'; |
|
658 | + $option_feed .= '<option value="0">'.get_lang('SelectTargetQuestion').'</option>'; |
|
659 | 659 | |
660 | 660 | foreach ($question_list as $key => $questionid) { |
661 | 661 | $selected = ''; |
662 | 662 | $question = Question::read($questionid); |
663 | - $val = 'Q' . $key . ' :' . substrwords($question->selectTitle(), ICON_SIZE_SMALL); |
|
663 | + $val = 'Q'.$key.' :'.substrwords($question->selectTitle(), ICON_SIZE_SMALL); |
|
664 | 664 | |
665 | 665 | if (isset($select_question[$i]) && $questionid == $select_question[$i]) { |
666 | 666 | $selected = 'selected="selected"'; |
667 | 667 | } |
668 | 668 | |
669 | - $option_feed.='<option value="' . $questionid . '" ' . $selected . ' >' . $val . '</option>'; |
|
669 | + $option_feed .= '<option value="'.$questionid.'" '.$selected.' >'.$val.'</option>'; |
|
670 | 670 | } |
671 | 671 | |
672 | 672 | if (isset($select_question[$i]) && $select_question[$i] == -1) { |
673 | - $option_feed .= '<option value="-1" selected="selected" >' . get_lang('ExitTest') . '</option>'; |
|
673 | + $option_feed .= '<option value="-1" selected="selected" >'.get_lang('ExitTest').'</option>'; |
|
674 | 674 | } else { |
675 | - $option_feed .= '<option value="-1">' . get_lang('ExitTest') . '</option>'; |
|
675 | + $option_feed .= '<option value="-1">'.get_lang('ExitTest').'</option>'; |
|
676 | 676 | } |
677 | 677 | |
678 | 678 | //-------- IF it is a delineation |
@@ -688,9 +688,9 @@ discard block |
||
688 | 688 | $selected2 = 'selected="selected"'; |
689 | 689 | if ($k == $threadhold3[$i]) |
690 | 690 | $selected3 = 'selected="selected"'; |
691 | - $option1.='<option ' . $selected1 . ' >' . $k . ' % </option>'; |
|
692 | - $option2.='<option ' . $selected2 . ' >' . $k . ' % </option>'; |
|
693 | - $option3.='<option ' . $selected3 . '>' . $k . ' %</option>'; |
|
691 | + $option1 .= '<option '.$selected1.' >'.$k.' % </option>'; |
|
692 | + $option2 .= '<option '.$selected2.' >'.$k.' % </option>'; |
|
693 | + $option3 .= '<option '.$selected3.'>'.$k.' %</option>'; |
|
694 | 694 | } |
695 | 695 | ?> |
696 | 696 | <tr> |
@@ -734,7 +734,7 @@ discard block |
||
734 | 734 | <div class="checkbox"> |
735 | 735 | <p> |
736 | 736 | <label> |
737 | - <input type="checkbox" class="checkbox" name="<?php echo 'try[' . $i; ?>]" <?php if ($try[$i] == 1) echo'checked'; ?> /> |
|
737 | + <input type="checkbox" class="checkbox" name="<?php echo 'try['.$i; ?>]" <?php if ($try[$i] == 1) echo'checked'; ?> /> |
|
738 | 738 | <?php echo get_lang('TryAgain'); ?> |
739 | 739 | </label> |
740 | 740 | </p> |
@@ -787,7 +787,7 @@ discard block |
||
787 | 787 | <div class="checkbox"> |
788 | 788 | <p> |
789 | 789 | <label> |
790 | - <input type="checkbox" class="checkbox" name="<?php echo 'try[' . $i; ?>]" <?php if ($try[$i] == 1) echo'checked'; ?> /> |
|
790 | + <input type="checkbox" class="checkbox" name="<?php echo 'try['.$i; ?>]" <?php if ($try[$i] == 1) echo'checked'; ?> /> |
|
791 | 791 | <?php echo get_lang('TryAgain'); ?> |
792 | 792 | </label> |
793 | 793 | </p> |
@@ -852,7 +852,7 @@ discard block |
||
852 | 852 | <div class="checkbox"> |
853 | 853 | <p> |
854 | 854 | <label> |
855 | - <input type="checkbox" class="checkbox" name="<?php echo 'try[' . $i; ?>]" <?php if (isset($try[$i]) && $try[$i] == 1) echo'checked'; ?> /> |
|
855 | + <input type="checkbox" class="checkbox" name="<?php echo 'try['.$i; ?>]" <?php if (isset($try[$i]) && $try[$i] == 1) echo'checked'; ?> /> |
|
856 | 856 | <?php echo get_lang('TryAgain'); ?> |
857 | 857 | </label> |
858 | 858 | </p> |
@@ -892,12 +892,12 @@ discard block |
||
892 | 892 | <input class="form-control" type="text" name="reponse[<?php echo $i; ?>]" value="<?php echo Security::remove_XSS($responseValue); ?>" /> |
893 | 893 | </td> |
894 | 894 | <?php |
895 | - $form = new FormValidator('form_' . $i); |
|
895 | + $form = new FormValidator('form_'.$i); |
|
896 | 896 | $config = array( |
897 | 897 | 'ToolbarSet' => 'TestProposedAnswer', |
898 | 898 | 'cols-size' => [0, 12, 0] |
899 | 899 | ); |
900 | - $form->addHtmlEditor('comment[' . $i . ']', null, false, false, $config); |
|
900 | + $form->addHtmlEditor('comment['.$i.']', null, false, false, $config); |
|
901 | 901 | $renderer = $form->defaultRenderer(); |
902 | 902 | $form_template = '{content}'; |
903 | 903 | $renderer->setFormTemplate($form_template); |
@@ -906,7 +906,7 @@ discard block |
||
906 | 906 | {element}'; |
907 | 907 | $renderer->setElementTemplate($element_template); |
908 | 908 | |
909 | - $form->setDefaults(array('comment[' . $i . ']' => $commentValue)); |
|
909 | + $form->setDefaults(array('comment['.$i.']' => $commentValue)); |
|
910 | 910 | $return = $form->return_form(); |
911 | 911 | ?> |
912 | 912 | <td colspan="2" align="left" ><?php echo $return; ?></td> |
@@ -945,36 +945,36 @@ discard block |
||
945 | 945 | $selected = 'selected="selected"'; |
946 | 946 | $isSelected = true; |
947 | 947 | } |
948 | - $option_lp.='<option value="' . $id . '" ' . $selected . '>' . $details['lp_name'] . '</option>'; |
|
948 | + $option_lp .= '<option value="'.$id.'" '.$selected.'>'.$details['lp_name'].'</option>'; |
|
949 | 949 | } |
950 | 950 | |
951 | 951 | if ($isSelected) { |
952 | - $option_lp = '<option value="0">' . get_lang('SelectTargetLP') . '</option>' . $option_lp; |
|
952 | + $option_lp = '<option value="0">'.get_lang('SelectTargetLP').'</option>'.$option_lp; |
|
953 | 953 | } else { |
954 | - $option_lp = '<option value="0" selected="selected" >' . get_lang('SelectTargetLP') . '</option>' . $option_lp; |
|
954 | + $option_lp = '<option value="0" selected="selected" >'.get_lang('SelectTargetLP').'</option>'.$option_lp; |
|
955 | 955 | } |
956 | 956 | |
957 | 957 | // Feedback SELECT |
958 | 958 | $question_list = $objExercise->selectQuestionList(); |
959 | 959 | $option_feed = ''; |
960 | - $option_feed.='<option value="0">' . get_lang('SelectTargetQuestion') . '</option>'; |
|
960 | + $option_feed .= '<option value="0">'.get_lang('SelectTargetQuestion').'</option>'; |
|
961 | 961 | $details = isset($details) ? $details : null; |
962 | 962 | $id = isset($id) ? $id : 0; |
963 | 963 | $selectQuestionNoError = isset($selectQuestionNoError) ? $selectQuestionNoError : null; |
964 | 964 | foreach ($question_list as $key => $questionid) { |
965 | 965 | $selected = ''; |
966 | 966 | $question = Question::read($questionid); |
967 | - $val = 'Q' . $key . ' :' . substrwords($question->selectTitle(), ICON_SIZE_SMALL); |
|
967 | + $val = 'Q'.$key.' :'.substrwords($question->selectTitle(), ICON_SIZE_SMALL); |
|
968 | 968 | $select_lp_id[$id] = $details['lp_name']; |
969 | 969 | if ($questionid == $selectQuestionNoError) { |
970 | 970 | $selected = 'selected="selected"'; |
971 | 971 | } |
972 | - $option_feed.='<option value="' . $questionid . '" ' . $selected . ' >' . $val . '</option>'; |
|
972 | + $option_feed .= '<option value="'.$questionid.'" '.$selected.' >'.$val.'</option>'; |
|
973 | 973 | } |
974 | 974 | if ($selectQuestionNoError == -1) { |
975 | - $option_feed.='<option value="-1" selected="selected" >' . get_lang('ExitTest') . '</option>'; |
|
975 | + $option_feed .= '<option value="-1" selected="selected" >'.get_lang('ExitTest').'</option>'; |
|
976 | 976 | } else { |
977 | - $option_feed.='<option value="-1">' . get_lang('ExitTest') . '</option>'; |
|
977 | + $option_feed .= '<option value="-1">'.get_lang('ExitTest').'</option>'; |
|
978 | 978 | } |
979 | 979 | |
980 | 980 | if ($answerType == HOT_SPOT_DELINEATION) { |
@@ -1065,6 +1065,6 @@ discard block |
||
1065 | 1065 | </script> |
1066 | 1066 | <?php |
1067 | 1067 | if ($debug > 0) { |
1068 | - echo str_repeat(' ', 0) . '$modifyAnswers was set - end' . "<br />\n"; |
|
1068 | + echo str_repeat(' ', 0).'$modifyAnswers was set - end'."<br />\n"; |
|
1069 | 1069 | } |
1070 | 1070 | } |
@@ -17,15 +17,15 @@ |
||
17 | 17 | $answerOrderId = count($_SESSION['exerciseResult'][$questionId]['ids'])+1; |
18 | 18 | if ($_GET['answerId'] == "0") // click is NOT on a hotspot |
19 | 19 | { |
20 | - $hit = 0; |
|
21 | - $answerId = NULL; |
|
20 | + $hit = 0; |
|
21 | + $answerId = NULL; |
|
22 | 22 | } |
23 | 23 | else // user clicked ON a hotspot |
24 | 24 | { |
25 | - $hit = 1; |
|
26 | - $answerId = api_substr($_GET['answerId'],22,2); |
|
27 | - // Save into session |
|
28 | - $_SESSION['exerciseResult'][$questionId][$answerId] = $hit; |
|
25 | + $hit = 1; |
|
26 | + $answerId = api_substr($_GET['answerId'],22,2); |
|
27 | + // Save into session |
|
28 | + $_SESSION['exerciseResult'][$questionId][$answerId] = $hit; |
|
29 | 29 | } |
30 | 30 | //round-up the coordinates |
31 | 31 | $coords = explode('/',$coordinates); |
@@ -14,7 +14,7 @@ discard block |
||
14 | 14 | $objExcercise = $_SESSION['objExercise']; |
15 | 15 | $exerciseId = $objExcercise->selectId(); |
16 | 16 | // Save clicking order |
17 | -$answerOrderId = count($_SESSION['exerciseResult'][$questionId]['ids'])+1; |
|
17 | +$answerOrderId = count($_SESSION['exerciseResult'][$questionId]['ids']) + 1; |
|
18 | 18 | if ($_GET['answerId'] == "0") // click is NOT on a hotspot |
19 | 19 | { |
20 | 20 | $hit = 0; |
@@ -23,18 +23,18 @@ discard block |
||
23 | 23 | else // user clicked ON a hotspot |
24 | 24 | { |
25 | 25 | $hit = 1; |
26 | - $answerId = api_substr($_GET['answerId'],22,2); |
|
26 | + $answerId = api_substr($_GET['answerId'], 22, 2); |
|
27 | 27 | // Save into session |
28 | 28 | $_SESSION['exerciseResult'][$questionId][$answerId] = $hit; |
29 | 29 | } |
30 | 30 | //round-up the coordinates |
31 | -$coords = explode('/',$coordinates); |
|
31 | +$coords = explode('/', $coordinates); |
|
32 | 32 | $coordinates = ''; |
33 | 33 | foreach ($coords as $coord) { |
34 | - list($x,$y) = explode(';',$coord); |
|
34 | + list($x, $y) = explode(';', $coord); |
|
35 | 35 | $coordinates .= round($x).';'.round($y).'/'; |
36 | 36 | } |
37 | -$coordinates = substr($coordinates,0,-1); |
|
37 | +$coordinates = substr($coordinates, 0, -1); |
|
38 | 38 | |
39 | 39 | $TBL_TRACK_E_HOTSPOT = Database::get_main_table(TABLE_STATISTIC_TRACK_E_HOTSPOT); |
40 | 40 | // Save into db |
@@ -44,7 +44,7 @@ discard block |
||
44 | 44 | 'quiz_id' => $exerciseId, |
45 | 45 | 'question_id' => $questionId, |
46 | 46 | 'answer_id' => $answerId, |
47 | - 'correct' => $hit , |
|
47 | + 'correct' => $hit, |
|
48 | 48 | 'coordinate' => $coordinates |
49 | 49 | ]; |
50 | 50 | // Save insert id into session if users changes answer. |
@@ -15,12 +15,13 @@ |
||
15 | 15 | $exerciseId = $objExcercise->selectId(); |
16 | 16 | // Save clicking order |
17 | 17 | $answerOrderId = count($_SESSION['exerciseResult'][$questionId]['ids'])+1; |
18 | -if ($_GET['answerId'] == "0") // click is NOT on a hotspot |
|
18 | +if ($_GET['answerId'] == "0") { |
|
19 | + // click is NOT on a hotspot |
|
19 | 20 | { |
20 | 21 | $hit = 0; |
21 | - $answerId = NULL; |
|
22 | 22 | } |
23 | -else // user clicked ON a hotspot |
|
23 | + $answerId = NULL; |
|
24 | +} else // user clicked ON a hotspot |
|
24 | 25 | { |
25 | 26 | $hit = 1; |
26 | 27 | $answerId = api_substr($_GET['answerId'],22,2); |
@@ -73,7 +73,7 @@ discard block |
||
73 | 73 | $objExercise->read($exerciseId); |
74 | 74 | |
75 | 75 | if ($objExercise->random_answers == '1') { |
76 | - $this->readOrderedBy('rand()', '');// randomize answers |
|
76 | + $this->readOrderedBy('rand()', ''); // randomize answers |
|
77 | 77 | } else { |
78 | 78 | $this->read(); // natural order |
79 | 79 | } |
@@ -114,7 +114,7 @@ discard block |
||
114 | 114 | ORDER BY position"; |
115 | 115 | |
116 | 116 | $result = Database::query($sql); |
117 | - $i=1; |
|
117 | + $i = 1; |
|
118 | 118 | |
119 | 119 | // while a record is found |
120 | 120 | while ($object = Database::fetch_object($result)) { |
@@ -130,7 +130,7 @@ discard block |
||
130 | 130 | $this->autoId[$i] = $object->id_auto; |
131 | 131 | $i++; |
132 | 132 | } |
133 | - $this->nbrAnswers = $i-1; |
|
133 | + $this->nbrAnswers = $i - 1; |
|
134 | 134 | } |
135 | 135 | |
136 | 136 | /** |
@@ -142,7 +142,7 @@ discard block |
||
142 | 142 | { |
143 | 143 | foreach ($this->autoId as $key => $autoId) { |
144 | 144 | if ($autoId == $id) { |
145 | - $result = [ |
|
145 | + $result = [ |
|
146 | 146 | 'answer' => $this->answer[$key], |
147 | 147 | 'correct' => $this->correct[$key], |
148 | 148 | 'comment' => $this->comment[$key], |
@@ -166,7 +166,7 @@ discard block |
||
166 | 166 | $TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER); |
167 | 167 | $questionId = $this->questionId; |
168 | 168 | |
169 | - $sql="SELECT id FROM |
|
169 | + $sql = "SELECT id FROM |
|
170 | 170 | $TBL_ANSWER |
171 | 171 | WHERE c_id = {$this->course_id} AND question_id ='".$questionId."'"; |
172 | 172 | |
@@ -188,14 +188,14 @@ discard block |
||
188 | 188 | * @param string DESC or ASC |
189 | 189 | * @author Frederic Vauthier |
190 | 190 | */ |
191 | - public function readOrderedBy($field, $order='ASC') |
|
191 | + public function readOrderedBy($field, $order = 'ASC') |
|
192 | 192 | { |
193 | 193 | $field = Database::escape_string($field); |
194 | 194 | if (empty($field)) { |
195 | 195 | $field = 'position'; |
196 | 196 | } |
197 | 197 | |
198 | - if ($order != 'ASC' && $order!='DESC') { |
|
198 | + if ($order != 'ASC' && $order != 'DESC') { |
|
199 | 199 | $order = 'ASC'; |
200 | 200 | } |
201 | 201 | |
@@ -230,7 +230,7 @@ discard block |
||
230 | 230 | c_id = {$this->course_id} AND |
231 | 231 | question_id='".$questionId."' |
232 | 232 | ORDER BY $field $order"; |
233 | - $result=Database::query($sql); |
|
233 | + $result = Database::query($sql); |
|
234 | 234 | |
235 | 235 | $i = 1; |
236 | 236 | // while a record is found |
@@ -260,7 +260,7 @@ discard block |
||
260 | 260 | $this->autoId[$i] = $doubt_data->id_auto; |
261 | 261 | $i++; |
262 | 262 | } |
263 | - $this->nbrAnswers = $i-1; |
|
263 | + $this->nbrAnswers = $i - 1; |
|
264 | 264 | } |
265 | 265 | |
266 | 266 | /** |
@@ -402,8 +402,8 @@ discard block |
||
402 | 402 | public function getGradesList() |
403 | 403 | { |
404 | 404 | $list = array(); |
405 | - for ($i = 0; $i<$this->nbrAnswers;$i++){ |
|
406 | - if(!empty($this->answer[$i])){ |
|
405 | + for ($i = 0; $i < $this->nbrAnswers; $i++) { |
|
406 | + if (!empty($this->answer[$i])) { |
|
407 | 407 | $list[$i] = $this->weighting[$i]; |
408 | 408 | } |
409 | 409 | } |
@@ -421,7 +421,7 @@ discard block |
||
421 | 421 | $sql = "SELECT type FROM $TBL_QUESTIONS |
422 | 422 | WHERE c_id = {$this->course_id} AND id = '".$this->questionId."'"; |
423 | 423 | $res = Database::query($sql); |
424 | - if (Database::num_rows($res)<=0){ |
|
424 | + if (Database::num_rows($res) <= 0) { |
|
425 | 425 | return null; |
426 | 426 | } |
427 | 427 | $row = Database::fetch_array($res); |
@@ -593,7 +593,7 @@ discard block |
||
593 | 593 | $correctList = []; |
594 | 594 | $answerList = []; |
595 | 595 | |
596 | - for ($i=1; $i <= $this->new_nbrAnswers; $i++) { |
|
596 | + for ($i = 1; $i <= $this->new_nbrAnswers; $i++) { |
|
597 | 597 | $answer = $this->new_answer[$i]; |
598 | 598 | $correct = $this->new_correct[$i]; |
599 | 599 | $comment = $this->new_comment[$i]; |
@@ -748,7 +748,7 @@ discard block |
||
748 | 748 | $destination_options = Question::readQuestionOption($newQuestionId, $course_info['real_id']); |
749 | 749 | $i = 0; |
750 | 750 | if (!empty($destination_options)) { |
751 | - foreach($destination_options as $item) { |
|
751 | + foreach ($destination_options as $item) { |
|
752 | 752 | $fixed_list[$new_option_list[$i]] = $item['id']; |
753 | 753 | $i++; |
754 | 754 | } |
@@ -760,7 +760,7 @@ discard block |
||
760 | 760 | // inserts new answers into data base |
761 | 761 | $c_id = $course_info['real_id']; |
762 | 762 | |
763 | - for ($i=1;$i <= $this->nbrAnswers;$i++) { |
|
763 | + for ($i = 1; $i <= $this->nbrAnswers; $i++) { |
|
764 | 764 | if ($this->course['id'] != $course_info['id']) { |
765 | 765 | $this->answer[$i] = DocumentManager::replace_urls_inside_content_html_from_copy_course( |
766 | 766 | $this->answer[$i], |
@@ -157,12 +157,12 @@ discard block |
||
157 | 157 | return []; |
158 | 158 | } |
159 | 159 | |
160 | - /** |
|
161 | - * returns all answer ids from this question Id |
|
162 | - * |
|
163 | - * @author Yoselyn Castillo |
|
164 | - * @return array - $id (answer ids) |
|
165 | - */ |
|
160 | + /** |
|
161 | + * returns all answer ids from this question Id |
|
162 | + * |
|
163 | + * @author Yoselyn Castillo |
|
164 | + * @return array - $id (answer ids) |
|
165 | + */ |
|
166 | 166 | public function selectAnswerId() |
167 | 167 | { |
168 | 168 | $TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER); |
@@ -182,7 +182,7 @@ discard block |
||
182 | 182 | } |
183 | 183 | |
184 | 184 | return $id; |
185 | - } |
|
185 | + } |
|
186 | 186 | |
187 | 187 | /** |
188 | 188 | * Reads answer information from the data base ordered by parameter |
@@ -193,23 +193,23 @@ discard block |
||
193 | 193 | */ |
194 | 194 | public function readOrderedBy($field, $order='ASC') |
195 | 195 | { |
196 | - $field = Database::escape_string($field); |
|
197 | - if (empty($field)) { |
|
198 | - $field = 'position'; |
|
199 | - } |
|
196 | + $field = Database::escape_string($field); |
|
197 | + if (empty($field)) { |
|
198 | + $field = 'position'; |
|
199 | + } |
|
200 | 200 | |
201 | - if ($order != 'ASC' && $order!='DESC') { |
|
202 | - $order = 'ASC'; |
|
203 | - } |
|
201 | + if ($order != 'ASC' && $order!='DESC') { |
|
202 | + $order = 'ASC'; |
|
203 | + } |
|
204 | 204 | |
205 | - $TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER); |
|
206 | - $TBL_QUIZ = Database::get_course_table(TABLE_QUIZ_QUESTION); |
|
207 | - $questionId = intval($this->questionId); |
|
205 | + $TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER); |
|
206 | + $TBL_QUIZ = Database::get_course_table(TABLE_QUIZ_QUESTION); |
|
207 | + $questionId = intval($this->questionId); |
|
208 | 208 | |
209 | - $sql = "SELECT type FROM $TBL_QUIZ |
|
209 | + $sql = "SELECT type FROM $TBL_QUIZ |
|
210 | 210 | WHERE c_id = {$this->course_id} AND id = $questionId"; |
211 | - $result_question = Database::query($sql); |
|
212 | - $questionType = Database::fetch_array($result_question); |
|
211 | + $result_question = Database::query($sql); |
|
212 | + $questionType = Database::fetch_array($result_question); |
|
213 | 213 | |
214 | 214 | if ($questionType['type'] == DRAGGABLE) { |
215 | 215 | // Random is done by submit.js.tpl |
@@ -218,7 +218,7 @@ discard block |
||
218 | 218 | return true; |
219 | 219 | } |
220 | 220 | |
221 | - $sql = "SELECT |
|
221 | + $sql = "SELECT |
|
222 | 222 | answer, |
223 | 223 | correct, |
224 | 224 | comment, |
@@ -234,16 +234,16 @@ discard block |
||
234 | 234 | c_id = {$this->course_id} AND |
235 | 235 | question_id='".$questionId."' |
236 | 236 | ORDER BY $field $order"; |
237 | - $result=Database::query($sql); |
|
238 | - |
|
239 | - $i = 1; |
|
240 | - // while a record is found |
|
241 | - $doubt_data = null; |
|
242 | - while ($object = Database::fetch_object($result)) { |
|
243 | - if ($questionType['type'] == UNIQUE_ANSWER_NO_OPTION && $object->position == 666) { |
|
244 | - $doubt_data = $object; |
|
237 | + $result=Database::query($sql); |
|
238 | + |
|
239 | + $i = 1; |
|
240 | + // while a record is found |
|
241 | + $doubt_data = null; |
|
242 | + while ($object = Database::fetch_object($result)) { |
|
243 | + if ($questionType['type'] == UNIQUE_ANSWER_NO_OPTION && $object->position == 666) { |
|
244 | + $doubt_data = $object; |
|
245 | 245 | continue; |
246 | - } |
|
246 | + } |
|
247 | 247 | $this->answer[$i] = $object->answer; |
248 | 248 | $this->correct[$i] = $object->correct; |
249 | 249 | $this->comment[$i] = $object->comment; |
@@ -255,9 +255,9 @@ discard block |
||
255 | 255 | $this->autoId[$i] = $object->id_auto; |
256 | 256 | $this->iid[$i] = $object->iid; |
257 | 257 | $i++; |
258 | - } |
|
258 | + } |
|
259 | 259 | |
260 | - if ($questionType['type'] == UNIQUE_ANSWER_NO_OPTION && !empty($doubt_data)) { |
|
260 | + if ($questionType['type'] == UNIQUE_ANSWER_NO_OPTION && !empty($doubt_data)) { |
|
261 | 261 | $this->answer[$i] = $doubt_data->answer; |
262 | 262 | $this->correct[$i] = $doubt_data->correct; |
263 | 263 | $this->comment[$i] = $doubt_data->comment; |
@@ -269,88 +269,88 @@ discard block |
||
269 | 269 | $this->autoId[$i] = $doubt_data->id_auto; |
270 | 270 | $this->iid[$i] = $doubt_data->iid; |
271 | 271 | $i++; |
272 | - } |
|
272 | + } |
|
273 | 273 | $this->nbrAnswers = $i-1; |
274 | - } |
|
275 | - |
|
276 | - /** |
|
277 | - * returns the autoincrement id identificator |
|
278 | - * |
|
279 | - * @author Juan Carlos Ra�a |
|
280 | - * @return integer - answer num |
|
281 | - */ |
|
274 | + } |
|
275 | + |
|
276 | + /** |
|
277 | + * returns the autoincrement id identificator |
|
278 | + * |
|
279 | + * @author Juan Carlos Ra�a |
|
280 | + * @return integer - answer num |
|
281 | + */ |
|
282 | 282 | public function selectAutoId($id) |
283 | 283 | { |
284 | - return isset($this->autoId[$id]) ? $this->autoId[$id] : 0; |
|
285 | - } |
|
286 | - |
|
287 | - /** |
|
288 | - * returns the number of answers in this question |
|
289 | - * |
|
290 | - * @author Olivier Brouckaert |
|
291 | - * @return integer - number of answers |
|
292 | - */ |
|
293 | - public function selectNbrAnswers() |
|
284 | + return isset($this->autoId[$id]) ? $this->autoId[$id] : 0; |
|
285 | + } |
|
286 | + |
|
287 | + /** |
|
288 | + * returns the number of answers in this question |
|
289 | + * |
|
290 | + * @author Olivier Brouckaert |
|
291 | + * @return integer - number of answers |
|
292 | + */ |
|
293 | + public function selectNbrAnswers() |
|
294 | 294 | { |
295 | - return $this->nbrAnswers; |
|
296 | - } |
|
297 | - |
|
298 | - /** |
|
299 | - * returns the question ID which the answers belong to |
|
300 | - * |
|
301 | - * @author Olivier Brouckaert |
|
302 | - * @return integer - the question ID |
|
303 | - */ |
|
304 | - public function selectQuestionId() |
|
295 | + return $this->nbrAnswers; |
|
296 | + } |
|
297 | + |
|
298 | + /** |
|
299 | + * returns the question ID which the answers belong to |
|
300 | + * |
|
301 | + * @author Olivier Brouckaert |
|
302 | + * @return integer - the question ID |
|
303 | + */ |
|
304 | + public function selectQuestionId() |
|
305 | 305 | { |
306 | - return $this->questionId; |
|
307 | - } |
|
308 | - |
|
309 | - /** |
|
310 | - * returns the question ID of the destination question |
|
311 | - * |
|
312 | - * @author Julio Montoya |
|
313 | - * @param integer $id |
|
314 | - * @return integer - the question ID |
|
315 | - */ |
|
316 | - public function selectDestination($id) |
|
306 | + return $this->questionId; |
|
307 | + } |
|
308 | + |
|
309 | + /** |
|
310 | + * returns the question ID of the destination question |
|
311 | + * |
|
312 | + * @author Julio Montoya |
|
313 | + * @param integer $id |
|
314 | + * @return integer - the question ID |
|
315 | + */ |
|
316 | + public function selectDestination($id) |
|
317 | 317 | { |
318 | - return isset($this->destination[$id]) ? $this->destination[$id] : null; |
|
319 | - } |
|
318 | + return isset($this->destination[$id]) ? $this->destination[$id] : null; |
|
319 | + } |
|
320 | 320 | |
321 | 321 | /** |
322 | - * returns the answer title |
|
323 | - * |
|
324 | - * @author Olivier Brouckaert |
|
325 | - * @param - integer $id - answer ID |
|
326 | - * @return string - answer title |
|
327 | - */ |
|
328 | - public function selectAnswer($id) |
|
329 | - { |
|
330 | - return isset($this->answer[$id]) ? $this->answer[$id] : null; |
|
331 | - } |
|
332 | - |
|
333 | - /** |
|
334 | - * return array answer by id else return a bool |
|
335 | - * @param integer $auto_id |
|
336 | - */ |
|
337 | - public function selectAnswerByAutoId($auto_id) |
|
338 | - { |
|
339 | - $TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER); |
|
340 | - |
|
341 | - $auto_id = intval($auto_id); |
|
342 | - $sql = "SELECT id, answer, id_auto FROM $TBL_ANSWER |
|
322 | + * returns the answer title |
|
323 | + * |
|
324 | + * @author Olivier Brouckaert |
|
325 | + * @param - integer $id - answer ID |
|
326 | + * @return string - answer title |
|
327 | + */ |
|
328 | + public function selectAnswer($id) |
|
329 | + { |
|
330 | + return isset($this->answer[$id]) ? $this->answer[$id] : null; |
|
331 | + } |
|
332 | + |
|
333 | + /** |
|
334 | + * return array answer by id else return a bool |
|
335 | + * @param integer $auto_id |
|
336 | + */ |
|
337 | + public function selectAnswerByAutoId($auto_id) |
|
338 | + { |
|
339 | + $TBL_ANSWER = Database::get_course_table(TABLE_QUIZ_ANSWER); |
|
340 | + |
|
341 | + $auto_id = intval($auto_id); |
|
342 | + $sql = "SELECT id, answer, id_auto FROM $TBL_ANSWER |
|
343 | 343 | WHERE c_id = {$this->course_id} AND id_auto='$auto_id'"; |
344 | - $rs = Database::query($sql); |
|
344 | + $rs = Database::query($sql); |
|
345 | 345 | |
346 | - if (Database::num_rows($rs) > 0) { |
|
347 | - $row = Database::fetch_array($rs, 'ASSOC'); |
|
346 | + if (Database::num_rows($rs) > 0) { |
|
347 | + $row = Database::fetch_array($rs, 'ASSOC'); |
|
348 | 348 | |
349 | - return $row; |
|
350 | - } |
|
349 | + return $row; |
|
350 | + } |
|
351 | 351 | |
352 | - return false; |
|
353 | - } |
|
352 | + return false; |
|
353 | + } |
|
354 | 354 | |
355 | 355 | /** |
356 | 356 | * returns the answer title from an answer's position |
@@ -359,18 +359,18 @@ discard block |
||
359 | 359 | * @param - integer $id - answer ID |
360 | 360 | * @return bool - answer title |
361 | 361 | */ |
362 | - public function selectAnswerIdByPosition($pos) |
|
363 | - { |
|
364 | - foreach ($this->position as $k => $v) { |
|
365 | - if ($v != $pos) { |
|
366 | - continue; |
|
367 | - } |
|
362 | + public function selectAnswerIdByPosition($pos) |
|
363 | + { |
|
364 | + foreach ($this->position as $k => $v) { |
|
365 | + if ($v != $pos) { |
|
366 | + continue; |
|
367 | + } |
|
368 | 368 | |
369 | - return $k; |
|
370 | - } |
|
369 | + return $k; |
|
370 | + } |
|
371 | 371 | |
372 | - return false; |
|
373 | - } |
|
372 | + return false; |
|
373 | + } |
|
374 | 374 | |
375 | 375 | /** |
376 | 376 | * Returns a list of answers |
@@ -379,18 +379,18 @@ discard block |
||
379 | 379 | * of (id, answer, comment, grade) and grade=weighting |
380 | 380 | */ |
381 | 381 | public function getAnswersList($decode = false) |
382 | - { |
|
383 | - $list = array(); |
|
384 | - for ($i = 1; $i <= $this->nbrAnswers; $i++) { |
|
385 | - if (!empty($this->answer[$i])) { |
|
386 | - |
|
387 | - //Avoid problems when parsing elements with accents |
|
388 | - if ($decode) { |
|
389 | - $this->answer[$i] = api_html_entity_decode($this->answer[$i], ENT_QUOTES, api_get_system_encoding()); |
|
390 | - $this->comment[$i] = api_html_entity_decode($this->comment[$i], ENT_QUOTES, api_get_system_encoding()); |
|
391 | - } |
|
392 | - |
|
393 | - $list[] = array( |
|
382 | + { |
|
383 | + $list = array(); |
|
384 | + for ($i = 1; $i <= $this->nbrAnswers; $i++) { |
|
385 | + if (!empty($this->answer[$i])) { |
|
386 | + |
|
387 | + //Avoid problems when parsing elements with accents |
|
388 | + if ($decode) { |
|
389 | + $this->answer[$i] = api_html_entity_decode($this->answer[$i], ENT_QUOTES, api_get_system_encoding()); |
|
390 | + $this->comment[$i] = api_html_entity_decode($this->comment[$i], ENT_QUOTES, api_get_system_encoding()); |
|
391 | + } |
|
392 | + |
|
393 | + $list[] = array( |
|
394 | 394 | 'id' => $i, |
395 | 395 | 'answer' => $this->answer[$i], |
396 | 396 | 'comment' => $this->comment[$i], |
@@ -399,137 +399,137 @@ discard block |
||
399 | 399 | 'hotspot_type' => $this->hotspot_type[$i], |
400 | 400 | 'correct' => $this->correct[$i], |
401 | 401 | 'destination' => $this->destination[$i] |
402 | - ); |
|
402 | + ); |
|
403 | + } |
|
403 | 404 | } |
404 | - } |
|
405 | 405 | |
406 | - return $list; |
|
407 | - } |
|
406 | + return $list; |
|
407 | + } |
|
408 | 408 | |
409 | - /** |
|
410 | - * Returns a list of grades |
|
411 | - * @author Yannick Warnier <[email protected]> |
|
412 | - * @return array List of grades where grade=weighting (?) |
|
413 | - */ |
|
409 | + /** |
|
410 | + * Returns a list of grades |
|
411 | + * @author Yannick Warnier <[email protected]> |
|
412 | + * @return array List of grades where grade=weighting (?) |
|
413 | + */ |
|
414 | 414 | public function getGradesList() |
415 | - { |
|
416 | - $list = array(); |
|
417 | - for ($i = 0; $i<$this->nbrAnswers;$i++){ |
|
418 | - if(!empty($this->answer[$i])){ |
|
419 | - $list[$i] = $this->weighting[$i]; |
|
420 | - } |
|
421 | - } |
|
422 | - return $list; |
|
423 | - } |
|
424 | - |
|
425 | - /** |
|
426 | - * Returns the question type |
|
427 | - * @author Yannick Warnier <[email protected]> |
|
428 | - * @return integer The type of the question this answer is bound to |
|
429 | - */ |
|
415 | + { |
|
416 | + $list = array(); |
|
417 | + for ($i = 0; $i<$this->nbrAnswers;$i++){ |
|
418 | + if(!empty($this->answer[$i])){ |
|
419 | + $list[$i] = $this->weighting[$i]; |
|
420 | + } |
|
421 | + } |
|
422 | + return $list; |
|
423 | + } |
|
424 | + |
|
425 | + /** |
|
426 | + * Returns the question type |
|
427 | + * @author Yannick Warnier <[email protected]> |
|
428 | + * @return integer The type of the question this answer is bound to |
|
429 | + */ |
|
430 | 430 | public function getQuestionType() |
431 | - { |
|
432 | - $TBL_QUESTIONS = Database::get_course_table(TABLE_QUIZ_QUESTION); |
|
433 | - $sql = "SELECT type FROM $TBL_QUESTIONS |
|
431 | + { |
|
432 | + $TBL_QUESTIONS = Database::get_course_table(TABLE_QUIZ_QUESTION); |
|
433 | + $sql = "SELECT type FROM $TBL_QUESTIONS |
|
434 | 434 | WHERE c_id = {$this->course_id} AND id = '".$this->questionId."'"; |
435 | - $res = Database::query($sql); |
|
436 | - if (Database::num_rows($res)<=0){ |
|
437 | - return null; |
|
438 | - } |
|
439 | - $row = Database::fetch_array($res); |
|
440 | - |
|
441 | - return $row['type']; |
|
442 | - } |
|
443 | - |
|
444 | - |
|
445 | - /** |
|
446 | - * tells if answer is correct or not |
|
447 | - * |
|
448 | - * @author Olivier Brouckaert |
|
449 | - * @param - integer $id - answer ID |
|
450 | - * @return integer - 0 if bad answer, not 0 if good answer |
|
451 | - */ |
|
435 | + $res = Database::query($sql); |
|
436 | + if (Database::num_rows($res)<=0){ |
|
437 | + return null; |
|
438 | + } |
|
439 | + $row = Database::fetch_array($res); |
|
440 | + |
|
441 | + return $row['type']; |
|
442 | + } |
|
443 | + |
|
444 | + |
|
445 | + /** |
|
446 | + * tells if answer is correct or not |
|
447 | + * |
|
448 | + * @author Olivier Brouckaert |
|
449 | + * @param - integer $id - answer ID |
|
450 | + * @return integer - 0 if bad answer, not 0 if good answer |
|
451 | + */ |
|
452 | 452 | public function isCorrect($id) |
453 | - { |
|
454 | - return isset($this->correct[$id]) ? $this->correct[$id] : null; |
|
455 | - } |
|
456 | - |
|
457 | - /** |
|
458 | - * returns answer comment |
|
459 | - * |
|
460 | - * @author Olivier Brouckaert |
|
461 | - * @param - integer $id - answer ID |
|
462 | - * @return string - answer comment |
|
463 | - */ |
|
453 | + { |
|
454 | + return isset($this->correct[$id]) ? $this->correct[$id] : null; |
|
455 | + } |
|
456 | + |
|
457 | + /** |
|
458 | + * returns answer comment |
|
459 | + * |
|
460 | + * @author Olivier Brouckaert |
|
461 | + * @param - integer $id - answer ID |
|
462 | + * @return string - answer comment |
|
463 | + */ |
|
464 | 464 | public function selectComment($id) |
465 | - { |
|
465 | + { |
|
466 | 466 | return isset($this->comment[$id]) ? $this->comment[$id] : null; |
467 | - } |
|
468 | - |
|
469 | - /** |
|
470 | - * returns answer weighting |
|
471 | - * |
|
472 | - * @author Olivier Brouckaert |
|
473 | - * @param - integer $id - answer ID |
|
474 | - * @param integer $id |
|
475 | - * @return integer - answer weighting |
|
476 | - */ |
|
467 | + } |
|
468 | + |
|
469 | + /** |
|
470 | + * returns answer weighting |
|
471 | + * |
|
472 | + * @author Olivier Brouckaert |
|
473 | + * @param - integer $id - answer ID |
|
474 | + * @param integer $id |
|
475 | + * @return integer - answer weighting |
|
476 | + */ |
|
477 | 477 | public function selectWeighting($id) |
478 | - { |
|
479 | - return isset($this->weighting[$id]) ? $this->weighting[$id] : null; |
|
480 | - } |
|
481 | - |
|
482 | - /** |
|
483 | - * returns answer position |
|
484 | - * |
|
485 | - * @author Olivier Brouckaert |
|
486 | - * @param - integer $id - answer ID |
|
487 | - * @return integer - answer position |
|
488 | - */ |
|
489 | - function selectPosition($id) |
|
490 | - { |
|
491 | - return isset($this->position[$id]) ? $this->position[$id] : null; |
|
492 | - } |
|
493 | - |
|
494 | - /** |
|
495 | - * returns answer hotspot coordinates |
|
496 | - * |
|
497 | - * @author Olivier Brouckaert |
|
498 | - * @param integer Answer ID |
|
499 | - * @param integer $id |
|
500 | - * @return integer Answer position |
|
501 | - */ |
|
478 | + { |
|
479 | + return isset($this->weighting[$id]) ? $this->weighting[$id] : null; |
|
480 | + } |
|
481 | + |
|
482 | + /** |
|
483 | + * returns answer position |
|
484 | + * |
|
485 | + * @author Olivier Brouckaert |
|
486 | + * @param - integer $id - answer ID |
|
487 | + * @return integer - answer position |
|
488 | + */ |
|
489 | + function selectPosition($id) |
|
490 | + { |
|
491 | + return isset($this->position[$id]) ? $this->position[$id] : null; |
|
492 | + } |
|
493 | + |
|
494 | + /** |
|
495 | + * returns answer hotspot coordinates |
|
496 | + * |
|
497 | + * @author Olivier Brouckaert |
|
498 | + * @param integer Answer ID |
|
499 | + * @param integer $id |
|
500 | + * @return integer Answer position |
|
501 | + */ |
|
502 | 502 | public function selectHotspotCoordinates($id) |
503 | - { |
|
504 | - return isset($this->hotspot_coordinates[$id]) ? $this->hotspot_coordinates[$id] : null; |
|
505 | - } |
|
506 | - |
|
507 | - /** |
|
508 | - * returns answer hotspot type |
|
509 | - * |
|
510 | - * @author Toon Keppens |
|
511 | - * @param integer Answer ID |
|
512 | - * @param integer $id |
|
513 | - * @return integer Answer position |
|
514 | - */ |
|
503 | + { |
|
504 | + return isset($this->hotspot_coordinates[$id]) ? $this->hotspot_coordinates[$id] : null; |
|
505 | + } |
|
506 | + |
|
507 | + /** |
|
508 | + * returns answer hotspot type |
|
509 | + * |
|
510 | + * @author Toon Keppens |
|
511 | + * @param integer Answer ID |
|
512 | + * @param integer $id |
|
513 | + * @return integer Answer position |
|
514 | + */ |
|
515 | 515 | public function selectHotspotType($id) |
516 | - { |
|
517 | - return isset($this->hotspot_type[$id]) ? $this->hotspot_type[$id] : null; |
|
518 | - } |
|
519 | - |
|
520 | - /** |
|
521 | - * Creates a new answer |
|
522 | - * |
|
523 | - * @author Olivier Brouckaert |
|
524 | - * @param string $answer answer title |
|
525 | - * @param integer $correct 0 if bad answer, not 0 if good answer |
|
526 | - * @param string $comment answer comment |
|
527 | - * @param integer $weighting answer weighting |
|
528 | - * @param integer $position answer position |
|
529 | - * @param array $new_hotspot_coordinates Coordinates for hotspot exercises (optional) |
|
530 | - * @param integer $new_hotspot_type Type for hotspot exercises (optional) |
|
516 | + { |
|
517 | + return isset($this->hotspot_type[$id]) ? $this->hotspot_type[$id] : null; |
|
518 | + } |
|
519 | + |
|
520 | + /** |
|
521 | + * Creates a new answer |
|
522 | + * |
|
523 | + * @author Olivier Brouckaert |
|
524 | + * @param string $answer answer title |
|
525 | + * @param integer $correct 0 if bad answer, not 0 if good answer |
|
526 | + * @param string $comment answer comment |
|
527 | + * @param integer $weighting answer weighting |
|
528 | + * @param integer $position answer position |
|
529 | + * @param array $new_hotspot_coordinates Coordinates for hotspot exercises (optional) |
|
530 | + * @param integer $new_hotspot_type Type for hotspot exercises (optional) |
|
531 | 531 | * @param string $destination |
532 | - */ |
|
532 | + */ |
|
533 | 533 | public function createAnswer( |
534 | 534 | $answer, |
535 | 535 | $correct, |
@@ -540,7 +540,7 @@ discard block |
||
540 | 540 | $new_hotspot_type = null, |
541 | 541 | $destination = '' |
542 | 542 | ) { |
543 | - $this->new_nbrAnswers++; |
|
543 | + $this->new_nbrAnswers++; |
|
544 | 544 | $id = $this->new_nbrAnswers; |
545 | 545 | $this->new_answer[$id] = $answer; |
546 | 546 | $this->new_correct[$id] = $correct; |
@@ -550,7 +550,7 @@ discard block |
||
550 | 550 | $this->new_hotspot_coordinates[$id] = $new_hotspot_coordinates; |
551 | 551 | $this->new_hotspot_type[$id] = $new_hotspot_type; |
552 | 552 | $this->new_destination[$id] = $destination; |
553 | - } |
|
553 | + } |
|
554 | 554 | |
555 | 555 | /** |
556 | 556 | * Updates an answer |
@@ -591,31 +591,31 @@ discard block |
||
591 | 591 | ]; |
592 | 592 | |
593 | 593 | Database::update($answerTable, $params, ['iid = ?' => intval($iid)]); |
594 | - } |
|
594 | + } |
|
595 | 595 | |
596 | - /** |
|
597 | - * Records answers into the data base |
|
598 | - * |
|
599 | - * @author Olivier Brouckaert |
|
600 | - */ |
|
596 | + /** |
|
597 | + * Records answers into the data base |
|
598 | + * |
|
599 | + * @author Olivier Brouckaert |
|
600 | + */ |
|
601 | 601 | public function save() |
602 | 602 | { |
603 | - $answerTable = Database::get_course_table(TABLE_QUIZ_ANSWER); |
|
604 | - $questionId = intval($this->questionId); |
|
603 | + $answerTable = Database::get_course_table(TABLE_QUIZ_ANSWER); |
|
604 | + $questionId = intval($this->questionId); |
|
605 | 605 | |
606 | - $c_id = $this->course['real_id']; |
|
606 | + $c_id = $this->course['real_id']; |
|
607 | 607 | $correctList = []; |
608 | 608 | $answerList = []; |
609 | 609 | |
610 | - for ($i=1; $i <= $this->new_nbrAnswers; $i++) { |
|
611 | - $answer = $this->new_answer[$i]; |
|
612 | - $correct = $this->new_correct[$i]; |
|
613 | - $comment = $this->new_comment[$i]; |
|
614 | - $weighting = $this->new_weighting[$i]; |
|
615 | - $position = $this->new_position[$i]; |
|
616 | - $hotspot_coordinates = $this->new_hotspot_coordinates[$i]; |
|
617 | - $hotspot_type = $this->new_hotspot_type[$i]; |
|
618 | - $destination = $this->new_destination[$i]; |
|
610 | + for ($i=1; $i <= $this->new_nbrAnswers; $i++) { |
|
611 | + $answer = $this->new_answer[$i]; |
|
612 | + $correct = $this->new_correct[$i]; |
|
613 | + $comment = $this->new_comment[$i]; |
|
614 | + $weighting = $this->new_weighting[$i]; |
|
615 | + $position = $this->new_position[$i]; |
|
616 | + $hotspot_coordinates = $this->new_hotspot_coordinates[$i]; |
|
617 | + $hotspot_type = $this->new_hotspot_type[$i]; |
|
618 | + $destination = $this->new_destination[$i]; |
|
619 | 619 | $autoId = $this->selectAutoId($i); |
620 | 620 | $iid = isset($this->iid[$i]) ? $this->iid[$i] : 0; |
621 | 621 | |
@@ -714,37 +714,37 @@ discard block |
||
714 | 714 | } |
715 | 715 | } |
716 | 716 | |
717 | - // moves $new_* arrays |
|
718 | - $this->answer = $this->new_answer; |
|
719 | - $this->correct = $this->new_correct; |
|
720 | - $this->comment = $this->new_comment; |
|
721 | - $this->weighting = $this->new_weighting; |
|
722 | - $this->position = $this->new_position; |
|
723 | - $this->hotspot_coordinates = $this->new_hotspot_coordinates; |
|
724 | - $this->hotspot_type = $this->new_hotspot_type; |
|
725 | - |
|
726 | - $this->nbrAnswers = $this->new_nbrAnswers; |
|
727 | - $this->destination = $this->new_destination; |
|
728 | - // clears $new_* arrays |
|
729 | - |
|
730 | - $this->cancel(); |
|
731 | - } |
|
732 | - |
|
733 | - /** |
|
734 | - * Duplicates answers by copying them into another question |
|
735 | - * |
|
736 | - * @author Olivier Brouckaert |
|
737 | - * @param int question id |
|
717 | + // moves $new_* arrays |
|
718 | + $this->answer = $this->new_answer; |
|
719 | + $this->correct = $this->new_correct; |
|
720 | + $this->comment = $this->new_comment; |
|
721 | + $this->weighting = $this->new_weighting; |
|
722 | + $this->position = $this->new_position; |
|
723 | + $this->hotspot_coordinates = $this->new_hotspot_coordinates; |
|
724 | + $this->hotspot_type = $this->new_hotspot_type; |
|
725 | + |
|
726 | + $this->nbrAnswers = $this->new_nbrAnswers; |
|
727 | + $this->destination = $this->new_destination; |
|
728 | + // clears $new_* arrays |
|
729 | + |
|
730 | + $this->cancel(); |
|
731 | + } |
|
732 | + |
|
733 | + /** |
|
734 | + * Duplicates answers by copying them into another question |
|
735 | + * |
|
736 | + * @author Olivier Brouckaert |
|
737 | + * @param int question id |
|
738 | 738 | * @param array destination course info (result of the function api_get_course_info() ) |
739 | 739 | * @param string $newQuestionId |
740 | - */ |
|
740 | + */ |
|
741 | 741 | public function duplicate($newQuestionId, $course_info = null) |
742 | 742 | { |
743 | 743 | if (empty($course_info)) { |
744 | 744 | $course_info = $this->course; |
745 | 745 | } |
746 | 746 | |
747 | - $TBL_REPONSES = Database :: get_course_table(TABLE_QUIZ_ANSWER); |
|
747 | + $TBL_REPONSES = Database :: get_course_table(TABLE_QUIZ_ANSWER); |
|
748 | 748 | $fixed_list = array(); |
749 | 749 | |
750 | 750 | if (self::getQuestionType() == MULTIPLE_ANSWER_TRUE_FALSE || |
@@ -758,7 +758,7 @@ discard block |
||
758 | 758 | |
759 | 759 | if (!empty($origin_options)) { |
760 | 760 | foreach ($origin_options as $item) { |
761 | - $new_option_list[] = $item['id']; |
|
761 | + $new_option_list[] = $item['id']; |
|
762 | 762 | } |
763 | 763 | } |
764 | 764 | |
@@ -772,12 +772,12 @@ discard block |
||
772 | 772 | } |
773 | 773 | } |
774 | 774 | |
775 | - // if at least one answer |
|
776 | - if ($this->nbrAnswers) { |
|
777 | - // inserts new answers into data base |
|
778 | - $c_id = $course_info['real_id']; |
|
775 | + // if at least one answer |
|
776 | + if ($this->nbrAnswers) { |
|
777 | + // inserts new answers into data base |
|
778 | + $c_id = $course_info['real_id']; |
|
779 | 779 | |
780 | - for ($i=1;$i <= $this->nbrAnswers;$i++) { |
|
780 | + for ($i=1;$i <= $this->nbrAnswers;$i++) { |
|
781 | 781 | if ($this->course['id'] != $course_info['id']) { |
782 | 782 | $this->answer[$i] = DocumentManager::replace_urls_inside_content_html_from_copy_course( |
783 | 783 | $this->answer[$i], |
@@ -791,8 +791,8 @@ discard block |
||
791 | 791 | ); |
792 | 792 | } |
793 | 793 | |
794 | - $answer = $this->answer[$i]; |
|
795 | - $correct = $this->correct[$i]; |
|
794 | + $answer = $this->answer[$i]; |
|
795 | + $correct = $this->correct[$i]; |
|
796 | 796 | |
797 | 797 | if (self::getQuestionType() == MULTIPLE_ANSWER_TRUE_FALSE || |
798 | 798 | self::getQuestionType() == MULTIPLE_ANSWER_TRUE_FALSE |
@@ -800,12 +800,12 @@ discard block |
||
800 | 800 | $correct = $fixed_list[intval($correct)]; |
801 | 801 | } |
802 | 802 | |
803 | - $comment = $this->comment[$i]; |
|
804 | - $weighting = $this->weighting[$i]; |
|
805 | - $position = $this->position[$i]; |
|
806 | - $hotspot_coordinates = $this->hotspot_coordinates[$i]; |
|
807 | - $hotspot_type = $this->hotspot_type[$i]; |
|
808 | - $destination = $this->destination[$i]; |
|
803 | + $comment = $this->comment[$i]; |
|
804 | + $weighting = $this->weighting[$i]; |
|
805 | + $position = $this->position[$i]; |
|
806 | + $hotspot_coordinates = $this->hotspot_coordinates[$i]; |
|
807 | + $hotspot_type = $this->hotspot_type[$i]; |
|
808 | + $destination = $this->destination[$i]; |
|
809 | 809 | |
810 | 810 | $params = [ |
811 | 811 | 'c_id' => $c_id, |
@@ -825,9 +825,9 @@ discard block |
||
825 | 825 | $sql = "UPDATE $TBL_REPONSES SET id = iid, id_auto = iid WHERE iid = $id"; |
826 | 826 | Database::query($sql); |
827 | 827 | } |
828 | - } |
|
828 | + } |
|
829 | 829 | } |
830 | - } |
|
830 | + } |
|
831 | 831 | |
832 | 832 | /** |
833 | 833 | * Get the necessary JavaScript for some answers |