@@ -1,9 +1,9 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | /* For licensing terms, see /license.txt */ |
| 3 | 3 | /** |
| 4 | - * @author Arnaud Ligot (CBlue SPRL) <[email protected]> |
|
| 5 | - * @package chamilo.include.geometry |
|
| 6 | - */ |
|
| 4 | + * @author Arnaud Ligot (CBlue SPRL) <[email protected]> |
|
| 5 | + * @package chamilo.include.geometry |
|
| 6 | + */ |
|
| 7 | 7 | |
| 8 | 8 | define('DEBUG', false); |
| 9 | 9 | /** |
@@ -56,9 +56,9 @@ discard block |
||
| 56 | 56 | * for all j in [O..max[y][ : for all i in bords[$j] : |
| 57 | 57 | * (i,j) is a point inside an edge of the polygone |
| 58 | 58 | */ |
| 59 | - $bord_lenght = $max['x']; |
|
| 59 | + $bord_lenght = $max['x']; |
|
| 60 | 60 | if ($max['y'] > $bord_lenght) { |
| 61 | - $bord_lenght = $max['y']; |
|
| 61 | + $bord_lenght = $max['y']; |
|
| 62 | 62 | } |
| 63 | 63 | |
| 64 | 64 | //$bords = array_fill(0, $bord_lenght-1, array()); // building this array |
@@ -66,7 +66,7 @@ discard block |
||
| 66 | 66 | |
| 67 | 67 | /* adding the first point of the polygone */ |
| 68 | 68 | if (is_array($bords[$poly[0]['y']])) //avoid warning |
| 69 | - array_push($bords[$poly[0]['y']], $poly[0]['x']); |
|
| 69 | + array_push($bords[$poly[0]['y']], $poly[0]['x']); |
|
| 70 | 70 | |
| 71 | 71 | $i = 1; // we re-use $i and $old_pente bellow the loop |
| 72 | 72 | $old_pente=0; |
@@ -78,14 +78,14 @@ discard block |
||
| 78 | 78 | if ($poly[$i-1]['x'] == $poly[$i]['x']) |
| 79 | 79 | continue; // twice the same point |
| 80 | 80 | else { // infinite elevation of the edge |
| 81 | - if (is_array($bords[$poly[$i]['y']])) |
|
| 82 | - array_push($bords[$poly[$i]['y']],$poly[$i]['x']); |
|
| 81 | + if (is_array($bords[$poly[$i]['y']])) |
|
| 82 | + array_push($bords[$poly[$i]['y']],$poly[$i]['x']); |
|
| 83 | 83 | $old_pente=0; |
| 84 | 84 | continue; |
| 85 | 85 | } |
| 86 | 86 | } |
| 87 | 87 | |
| 88 | - //echo 'point:'.$poly[$i]['y']; bug here |
|
| 88 | + //echo 'point:'.$poly[$i]['y']; bug here |
|
| 89 | 89 | // adding the point as a part of an edge |
| 90 | 90 | if (is_array($bords[$poly[$i]['y']])) //avoid warning |
| 91 | 91 | array_push($bords[$poly[$i]['y']], $poly[$i]['x']); |
@@ -102,13 +102,13 @@ discard block |
||
| 102 | 102 | if ($i>1) |
| 103 | 103 | if (($old_pente<0 && $pente>0) |
| 104 | 104 | || ($old_pente>0 && $pente<0)) { |
| 105 | - if (is_array($bords[$poly[$i]['y']])) //avoid warning |
|
| 106 | - array_push($bords[$poly[$i]['y']],$poly[$i]['x']); |
|
| 105 | + if (is_array($bords[$poly[$i]['y']])) //avoid warning |
|
| 106 | + array_push($bords[$poly[$i]['y']],$poly[$i]['x']); |
|
| 107 | 107 | |
| 108 | 108 | if (DEBUG) |
| 109 | 109 | echo '*('.$poly[$i]['x']. |
| 110 | 110 | ';'.$poly[$i]['y'].') '; |
| 111 | - } |
|
| 111 | + } |
|
| 112 | 112 | |
| 113 | 113 | /* detect the direction of the elevation in Y */ |
| 114 | 114 | $dy_inc = ($poly[$i]['y']-$poly[$i-1]['y']) > 0 ? 1 : -1; |
@@ -137,9 +137,9 @@ discard block |
||
| 137 | 137 | // elevation between $poly[0]['x'] and $poly[1]['x']) |
| 138 | 138 | $rest = $poly[0]['y']-$poly[1]['y']; |
| 139 | 139 | if ($rest!=0) |
| 140 | - $pente1 = ($poly[0]['x']-$poly[1]['x'])/($rest); |
|
| 140 | + $pente1 = ($poly[0]['x']-$poly[1]['x'])/($rest); |
|
| 141 | 141 | else |
| 142 | - $pente1 = 0; |
|
| 142 | + $pente1 = 0; |
|
| 143 | 143 | |
| 144 | 144 | // elevation between $poly[$i-1]['x'] and $poly[0]['x']) |
| 145 | 145 | $pente = ($poly[$i-1]['x']-$poly[0]['x'])/ |
@@ -151,14 +151,14 @@ discard block |
||
| 151 | 151 | |
| 152 | 152 | // doubling the first point if needed (see above) |
| 153 | 153 | if (($pente1<0 && $pente>0) || ($pente1>0 && $pente<0)) { |
| 154 | - if (is_array($bords[$poly[$i - 1]['y']])) |
|
| 155 | - array_push($bords[$poly[$i - 1]['y']], round($poly[$i - 1]['x'])); |
|
| 154 | + if (is_array($bords[$poly[$i - 1]['y']])) |
|
| 155 | + array_push($bords[$poly[$i - 1]['y']], round($poly[$i - 1]['x'])); |
|
| 156 | 156 | //if (DEBUG) echo '('.$poly[$i-1]['x'].';'.$poly[$i-1]['y'].') '; |
| 157 | 157 | } |
| 158 | 158 | // doubling the last point if neededd |
| 159 | 159 | if (($old_pente<0 && $pente>0) || ($old_pente>0 && $pente<0)) { |
| 160 | - if (is_array($bords[$poly[$i-1]['y']])) //avoid warning |
|
| 161 | - array_push($bords[$poly[$i-1]['y']], round($poly[$i-1]['x'])); |
|
| 160 | + if (is_array($bords[$poly[$i-1]['y']])) //avoid warning |
|
| 161 | + array_push($bords[$poly[$i-1]['y']], round($poly[$i-1]['x'])); |
|
| 162 | 162 | //if (DEBUG) echo '*('.$poly[$i-1]['x'].';'.$poly[$i-1]['y'].') '; |
| 163 | 163 | } |
| 164 | 164 | |
@@ -185,7 +185,7 @@ discard block |
||
| 185 | 185 | for ($i = 0; $i<$n; $i++) { // Y |
| 186 | 186 | //error_log(__FILE__.' - Border Num '.$i,0); |
| 187 | 187 | if (is_array($bords[$i])) { |
| 188 | - sort($bords[$i]); |
|
| 188 | + sort($bords[$i]); |
|
| 189 | 189 | } |
| 190 | 190 | |
| 191 | 191 | for ($j = 0; $j<sizeof($bords[$i]);$j+=2) { // bords |
@@ -196,7 +196,7 @@ discard block |
||
| 196 | 196 | for ($k = round($bords[$i][$j]); $k<=$bords[$i][$j+1];$k++) { |
| 197 | 197 | $res[$k][$i] = true; //filling the array with trues |
| 198 | 198 | if ($test == 1) { |
| 199 | - /*how to draw the polygon in a human way: |
|
| 199 | + /*how to draw the polygon in a human way: |
|
| 200 | 200 | In ubuntu : sudo apt-get install gnuplot |
| 201 | 201 | Create an empty file with all points with the result of this echos (No commas, no point, no headers) |
| 202 | 202 | In gnuplot: |
@@ -204,7 +204,7 @@ discard block |
||
| 204 | 204 | For 2 polygons: plot "/home/jmontoya/test", "/home/jmontoya/test2" |
| 205 | 205 | A new window will appear with the plot |
| 206 | 206 | */ |
| 207 | - echo $k.' '.$i; echo '<br />'; |
|
| 207 | + echo $k.' '.$i; echo '<br />'; |
|
| 208 | 208 | } |
| 209 | 209 | } |
| 210 | 210 | } |
@@ -308,7 +308,7 @@ discard block |
||
| 308 | 308 | list($x,$y) = explode(';',$pcoord); |
| 309 | 309 | $points[] = array('x'=>$x,'y'=>$y); |
| 310 | 310 | } |
| 311 | - return $points; |
|
| 311 | + return $points; |
|
| 312 | 312 | } |
| 313 | 313 | |
| 314 | 314 | /** |
@@ -321,11 +321,11 @@ discard block |
||
| 321 | 321 | $mx = 0; |
| 322 | 322 | $my = 0; |
| 323 | 323 | foreach ($coords1 as $coord) { |
| 324 | - if ($coord['x'] > $mx) { |
|
| 324 | + if ($coord['x'] > $mx) { |
|
| 325 | 325 | $mx = $coord['x']; |
| 326 | - } |
|
| 326 | + } |
|
| 327 | 327 | if ($coord['y'] > $my) { |
| 328 | - $my = $coord['y']; |
|
| 328 | + $my = $coord['y']; |
|
| 329 | 329 | } |
| 330 | 330 | } |
| 331 | 331 | foreach ($coords2 as $coord) { |
@@ -43,13 +43,13 @@ discard block |
||
| 43 | 43 | $learnpath_id = 0; |
| 44 | 44 | |
| 45 | 45 | if (isset($_REQUEST['learnpath_id'])) { |
| 46 | - $learnpath_id = intval($_REQUEST['learnpath_id']); |
|
| 46 | + $learnpath_id = intval($_REQUEST['learnpath_id']); |
|
| 47 | 47 | } |
| 48 | 48 | |
| 49 | 49 | $learnpath_item_id = 0; |
| 50 | 50 | |
| 51 | 51 | if (isset($_REQUEST['learnpath_item_id'])) { |
| 52 | - $learnpath_item_id = intval($_REQUEST['learnpath_item_id']); |
|
| 52 | + $learnpath_item_id = intval($_REQUEST['learnpath_item_id']); |
|
| 53 | 53 | } |
| 54 | 54 | |
| 55 | 55 | $_SESSION['hotspot_coord']=array(); |
@@ -93,7 +93,7 @@ discard block |
||
| 93 | 93 | // Getting the options by js |
| 94 | 94 | if (empty($choice_value)) { |
| 95 | 95 | |
| 96 | - echo "<script> |
|
| 96 | + echo "<script> |
|
| 97 | 97 | // this works for only radio buttons |
| 98 | 98 | var f = self.parent.window.document.frm_exercise; |
| 99 | 99 | var choice_js=''; |
@@ -122,12 +122,12 @@ discard block |
||
| 122 | 122 | } |
| 123 | 123 | |
| 124 | 124 | "; |
| 125 | - // IMPORTANT |
|
| 126 | - //this is the real redirect function |
|
| 127 | - //echo 'window.location.href = "exercise_submit_modal.php?learnpath_id='.$learnpath_id.'&learnpath_item_id='.$learnpath_item_id.'&hotspotcoord="+ hotspotcoord + "&hotspot="+ hotspot + "&choice="+ choice_js + "&exerciseId='.$exerciseId.'&num='.$questionNum.'&exerciseType='.$exerciseType.'&origin='.$origin.'&gradebook='.$gradebook.'";'; |
|
| 125 | + // IMPORTANT |
|
| 126 | + //this is the real redirect function |
|
| 127 | + //echo 'window.location.href = "exercise_submit_modal.php?learnpath_id='.$learnpath_id.'&learnpath_item_id='.$learnpath_item_id.'&hotspotcoord="+ hotspotcoord + "&hotspot="+ hotspot + "&choice="+ choice_js + "&exerciseId='.$exerciseId.'&num='.$questionNum.'&exerciseType='.$exerciseType.'&origin='.$origin.'&gradebook='.$gradebook.'";'; |
|
| 128 | 128 | echo ' url = "exercise_submit_modal.php?learnpath_id='.$learnpath_id.'&learnpath_item_id='.$learnpath_item_id.'&hotspotcoord="+ hotspotcoord + "&hotspot="+ hotspot + "&choice="+ choice_js + "&exerciseId='.$exerciseId.'&num='.$questionNum.'&exerciseType='.$exerciseType.'&origin='.$origin.'&gradebook='.$gradebook.'";'; |
| 129 | 129 | echo "$('#global-modal .modal-body').load(url);"; |
| 130 | - echo '</script>'; |
|
| 130 | + echo '</script>'; |
|
| 131 | 131 | |
| 132 | 132 | exit; |
| 133 | 133 | } |
@@ -180,12 +180,12 @@ discard block |
||
| 180 | 180 | |
| 181 | 181 | // creates a temporary Question object |
| 182 | 182 | if (in_array($questionid, $questionList)) { |
| 183 | - $objQuestionTmp = Question :: read($questionid); |
|
| 184 | - $questionName =$objQuestionTmp->selectTitle(); |
|
| 185 | - $questionDescription=$objQuestionTmp->selectDescription(); |
|
| 186 | - $questionWeighting =$objQuestionTmp->selectWeighting(); |
|
| 187 | - $answerType =$objQuestionTmp->selectType(); |
|
| 188 | - $quesId =$objQuestionTmp->selectId(); //added by priya saini |
|
| 183 | + $objQuestionTmp = Question :: read($questionid); |
|
| 184 | + $questionName =$objQuestionTmp->selectTitle(); |
|
| 185 | + $questionDescription=$objQuestionTmp->selectDescription(); |
|
| 186 | + $questionWeighting =$objQuestionTmp->selectWeighting(); |
|
| 187 | + $answerType =$objQuestionTmp->selectType(); |
|
| 188 | + $quesId =$objQuestionTmp->selectId(); //added by priya saini |
|
| 189 | 189 | } |
| 190 | 190 | |
| 191 | 191 | $objAnswerTmp=new Answer($questionid); |
@@ -208,43 +208,43 @@ discard block |
||
| 208 | 208 | $totalScore = 0; |
| 209 | 209 | |
| 210 | 210 | if (!empty($choice_value)) { |
| 211 | - for ($answerId=1;$answerId <= $nbrAnswers;$answerId++) { |
|
| 212 | - $answer = $objAnswerTmp->selectAnswer($answerId); |
|
| 213 | - $answerComment = $objAnswerTmp->selectComment($answerId); |
|
| 214 | - $answerDestination = $objAnswerTmp->selectDestination($answerId); |
|
| 215 | - |
|
| 216 | - $answerCorrect = $objAnswerTmp->isCorrect($answerId); |
|
| 217 | - $answerWeighting = $objAnswerTmp->selectWeighting($answerId); |
|
| 218 | - $numAnswer = $objAnswerTmp->selectAutoId($answerId); |
|
| 219 | - |
|
| 220 | - //delineation |
|
| 221 | - $delineation_cord = $objAnswerTmp->selectHotspotCoordinates(1); |
|
| 222 | - $answer_delineation_destination=$objAnswerTmp->selectDestination(1); |
|
| 211 | + for ($answerId=1;$answerId <= $nbrAnswers;$answerId++) { |
|
| 212 | + $answer = $objAnswerTmp->selectAnswer($answerId); |
|
| 213 | + $answerComment = $objAnswerTmp->selectComment($answerId); |
|
| 214 | + $answerDestination = $objAnswerTmp->selectDestination($answerId); |
|
| 215 | + |
|
| 216 | + $answerCorrect = $objAnswerTmp->isCorrect($answerId); |
|
| 217 | + $answerWeighting = $objAnswerTmp->selectWeighting($answerId); |
|
| 218 | + $numAnswer = $objAnswerTmp->selectAutoId($answerId); |
|
| 219 | + |
|
| 220 | + //delineation |
|
| 221 | + $delineation_cord = $objAnswerTmp->selectHotspotCoordinates(1); |
|
| 222 | + $answer_delineation_destination=$objAnswerTmp->selectDestination(1); |
|
| 223 | 223 | if ($dbg_local>0) { error_log(__LINE__.' answerId: '.$answerId.'('.$answerType.') - user delineation_cord: '.$delineation_cord.' - $answer_delineation_destination: '.$answer_delineation_destination,0);} |
| 224 | 224 | |
| 225 | - switch($answerType) { |
|
| 226 | - // for unique answer |
|
| 227 | - case UNIQUE_ANSWER : |
|
| 228 | - $studentChoice = ($choice_value == $numAnswer)?1:0; |
|
| 229 | - if ($studentChoice) { |
|
| 230 | - $questionScore +=$answerWeighting; |
|
| 231 | - $totalScore +=$answerWeighting; |
|
| 232 | - $newquestionList[]=$questionid; |
|
| 233 | - } |
|
| 234 | - break; |
|
| 235 | - case HOT_SPOT_DELINEATION : |
|
| 236 | - $studentChoice=$choice[$answerId]; |
|
| 237 | - if ($studentChoice) { |
|
| 238 | - $newquestionList[]=$questionid; |
|
| 239 | - } |
|
| 240 | - if ($answerId===1) { |
|
| 241 | - $questionScore +=$answerWeighting; |
|
| 242 | - $totalScore +=$answerWeighting; |
|
| 243 | - $_SESSION['hotspot_coord'][1] =$delineation_cord; |
|
| 244 | - $_SESSION['hotspot_dest'][1] =$answer_delineation_destination; |
|
| 245 | - } |
|
| 246 | - break; |
|
| 247 | - } |
|
| 225 | + switch($answerType) { |
|
| 226 | + // for unique answer |
|
| 227 | + case UNIQUE_ANSWER : |
|
| 228 | + $studentChoice = ($choice_value == $numAnswer)?1:0; |
|
| 229 | + if ($studentChoice) { |
|
| 230 | + $questionScore +=$answerWeighting; |
|
| 231 | + $totalScore +=$answerWeighting; |
|
| 232 | + $newquestionList[]=$questionid; |
|
| 233 | + } |
|
| 234 | + break; |
|
| 235 | + case HOT_SPOT_DELINEATION : |
|
| 236 | + $studentChoice=$choice[$answerId]; |
|
| 237 | + if ($studentChoice) { |
|
| 238 | + $newquestionList[]=$questionid; |
|
| 239 | + } |
|
| 240 | + if ($answerId===1) { |
|
| 241 | + $questionScore +=$answerWeighting; |
|
| 242 | + $totalScore +=$answerWeighting; |
|
| 243 | + $_SESSION['hotspot_coord'][1] =$delineation_cord; |
|
| 244 | + $_SESSION['hotspot_dest'][1] =$answer_delineation_destination; |
|
| 245 | + } |
|
| 246 | + break; |
|
| 247 | + } |
|
| 248 | 248 | |
| 249 | 249 | |
| 250 | 250 | if ($answerType == UNIQUE_ANSWER || $answerType == MULTIPLE_ANSWER) { |
@@ -341,7 +341,7 @@ discard block |
||
| 341 | 341 | $lp_hotspot=$destination_items[2]; |
| 342 | 342 | $select_question_hotspot=$destination_items[3]; |
| 343 | 343 | $url_hotspot=$destination_items[4]; |
| 344 | - //echo 'show the feedback'; |
|
| 344 | + //echo 'show the feedback'; |
|
| 345 | 345 | } |
| 346 | 346 | } elseif($answerId>1) { |
| 347 | 347 | if ($objAnswerTmp->selectHotspotType($answerId) == 'noerror') { |
@@ -398,41 +398,41 @@ discard block |
||
| 398 | 398 | //we send the error |
| 399 | 399 | } |
| 400 | 400 | } |
| 401 | - } |
|
| 401 | + } |
|
| 402 | 402 | |
| 403 | - if ($overlap_color) { |
|
| 404 | - $overlap_color='green'; |
|
| 403 | + if ($overlap_color) { |
|
| 404 | + $overlap_color='green'; |
|
| 405 | 405 | } else { |
| 406 | - $overlap_color='red'; |
|
| 406 | + $overlap_color='red'; |
|
| 407 | 407 | } |
| 408 | - if ($missing_color) { |
|
| 409 | - $missing_color='green'; |
|
| 408 | + if ($missing_color) { |
|
| 409 | + $missing_color='green'; |
|
| 410 | 410 | } else { |
| 411 | - $missing_color='red'; |
|
| 411 | + $missing_color='red'; |
|
| 412 | 412 | } |
| 413 | - if ($excess_color) { |
|
| 414 | - $excess_color='green'; |
|
| 413 | + if ($excess_color) { |
|
| 414 | + $excess_color='green'; |
|
| 415 | 415 | } else { |
| 416 | - $excess_color='red'; |
|
| 416 | + $excess_color='red'; |
|
| 417 | 417 | } |
| 418 | 418 | |
| 419 | 419 | if (!is_numeric($final_overlap)) { |
| 420 | - $final_overlap = 0; |
|
| 420 | + $final_overlap = 0; |
|
| 421 | 421 | } |
| 422 | 422 | |
| 423 | 423 | if (!is_numeric($final_missing)) { |
| 424 | - $final_missing = 0; |
|
| 424 | + $final_missing = 0; |
|
| 425 | 425 | } |
| 426 | 426 | if (!is_numeric($final_excess)) { |
| 427 | - $final_excess = 0; |
|
| 427 | + $final_excess = 0; |
|
| 428 | 428 | } |
| 429 | 429 | |
| 430 | 430 | if ($final_excess>100) { |
| 431 | - $final_excess = 100; |
|
| 431 | + $final_excess = 100; |
|
| 432 | 432 | } |
| 433 | 433 | |
| 434 | 434 | |
| 435 | - $table_resume = '<table class="data_table" > |
|
| 435 | + $table_resume = '<table class="data_table" > |
|
| 436 | 436 | <tr class="row_odd" > |
| 437 | 437 | <td></td> |
| 438 | 438 | <td ><b>'.get_lang('Requirements').'</b></td> |
@@ -457,7 +457,7 @@ discard block |
||
| 457 | 457 | <td><div style="color:'.$missing_color.'">'.(($final_missing < 0)?0:intval($final_missing)).'</div></td> |
| 458 | 458 | </tr> |
| 459 | 459 | </table>'; |
| 460 | - //var_dump($final_overlap, $threadhold1 , $final_missing, $threadhold2 , $final_excess, $threadhold3); |
|
| 460 | + //var_dump($final_overlap, $threadhold1 , $final_missing, $threadhold2 , $final_excess, $threadhold3); |
|
| 461 | 461 | } |
| 462 | 462 | $_SESSION['newquestionList'] = $newquestionList; |
| 463 | 463 | |
@@ -474,68 +474,68 @@ discard block |
||
| 474 | 474 | if ($answerType != HOT_SPOT_DELINEATION) { |
| 475 | 475 | if (!empty($destination)) { |
| 476 | 476 | $item_list = explode('@@',$destination); |
| 477 | - //print_R($item_list); |
|
| 478 | - $try = $item_list[0]; |
|
| 479 | - $lp = $item_list[1]; |
|
| 480 | - $destinationid= $item_list[2]; |
|
| 481 | - $url=$item_list[3]; |
|
| 477 | + //print_R($item_list); |
|
| 478 | + $try = $item_list[0]; |
|
| 479 | + $lp = $item_list[1]; |
|
| 480 | + $destinationid= $item_list[2]; |
|
| 481 | + $url=$item_list[3]; |
|
| 482 | 482 | } |
| 483 | - $table_resume=''; |
|
| 483 | + $table_resume=''; |
|
| 484 | 484 | } else { |
| 485 | - $try = $try_hotspot; |
|
| 486 | - $lp = $lp_hotspot; |
|
| 487 | - $destinationid= $select_question_hotspot; |
|
| 488 | - $url=$url_hotspot; |
|
| 489 | - if ($organs_at_risk_hit==0 && $wrong_results==false ) { |
|
| 490 | - // no error = no oar and no wrong result for delineation |
|
| 491 | - //show if no error |
|
| 492 | - //echo 'no error'; |
|
| 493 | - $comment= $answerComment = $objAnswerTmp->selectComment($nbrAnswers); |
|
| 494 | - $answerDestination = $objAnswerTmp->selectDestination($nbrAnswers); |
|
| 495 | - |
|
| 496 | - //we send the error |
|
| 497 | - $destination_items= explode('@@', $answerDestination); |
|
| 498 | - $try=$destination_items[1]; |
|
| 499 | - $lp=$destination_items[2]; |
|
| 500 | - $destinationid=$destination_items[3]; |
|
| 501 | - $url=$destination_items[4]; |
|
| 502 | - $exerciseResult[$questionid] = 1; |
|
| 503 | - } else { |
|
| 504 | - $exerciseResult[$questionid] = 0; |
|
| 505 | - } |
|
| 485 | + $try = $try_hotspot; |
|
| 486 | + $lp = $lp_hotspot; |
|
| 487 | + $destinationid= $select_question_hotspot; |
|
| 488 | + $url=$url_hotspot; |
|
| 489 | + if ($organs_at_risk_hit==0 && $wrong_results==false ) { |
|
| 490 | + // no error = no oar and no wrong result for delineation |
|
| 491 | + //show if no error |
|
| 492 | + //echo 'no error'; |
|
| 493 | + $comment= $answerComment = $objAnswerTmp->selectComment($nbrAnswers); |
|
| 494 | + $answerDestination = $objAnswerTmp->selectDestination($nbrAnswers); |
|
| 495 | + |
|
| 496 | + //we send the error |
|
| 497 | + $destination_items= explode('@@', $answerDestination); |
|
| 498 | + $try=$destination_items[1]; |
|
| 499 | + $lp=$destination_items[2]; |
|
| 500 | + $destinationid=$destination_items[3]; |
|
| 501 | + $url=$destination_items[4]; |
|
| 502 | + $exerciseResult[$questionid] = 1; |
|
| 503 | + } else { |
|
| 504 | + $exerciseResult[$questionid] = 0; |
|
| 505 | + } |
|
| 506 | 506 | } |
| 507 | 507 | |
| 508 | 508 | // the link to retry the question |
| 509 | 509 | if (isset($try) && $try==1) { |
| 510 | - $num_value_array= (array_keys($questionList, $questionid)); |
|
| 511 | - $links.= Display :: return_icon('reload.gif', '', array ('style' => 'padding-left:0px;padding-right:5px;')).'<a onclick="SendEx('.$num_value_array[0].');" href="#">'.get_lang('TryAgain').'</a><br /><br />'; |
|
| 510 | + $num_value_array= (array_keys($questionList, $questionid)); |
|
| 511 | + $links.= Display :: return_icon('reload.gif', '', array ('style' => 'padding-left:0px;padding-right:5px;')).'<a onclick="SendEx('.$num_value_array[0].');" href="#">'.get_lang('TryAgain').'</a><br /><br />'; |
|
| 512 | 512 | } |
| 513 | 513 | |
| 514 | 514 | // the link to theory (a learning path) |
| 515 | 515 | if (!empty($lp)) { |
| 516 | - $lp_url= api_get_path(WEB_CODE_PATH).'newscorm/lp_controller.php?'.api_get_cidreq().'&action=view&lp_id='.$lp; |
|
| 517 | - $list = new LearnpathList(api_get_user_id()); |
|
| 518 | - $flat_list = $list->get_flat_list(); |
|
| 519 | - $links.= Display :: return_icon('theory.gif', '', array ('style' => 'padding-left:0px;padding-right:5px;')).'<a target="_blank" href="'.$lp_url.'">'.get_lang('SeeTheory').'</a><br />'; |
|
| 516 | + $lp_url= api_get_path(WEB_CODE_PATH).'newscorm/lp_controller.php?'.api_get_cidreq().'&action=view&lp_id='.$lp; |
|
| 517 | + $list = new LearnpathList(api_get_user_id()); |
|
| 518 | + $flat_list = $list->get_flat_list(); |
|
| 519 | + $links.= Display :: return_icon('theory.gif', '', array ('style' => 'padding-left:0px;padding-right:5px;')).'<a target="_blank" href="'.$lp_url.'">'.get_lang('SeeTheory').'</a><br />'; |
|
| 520 | 520 | } |
| 521 | 521 | $links.='<br />'; |
| 522 | 522 | |
| 523 | 523 | // the link to an external website or link |
| 524 | 524 | if (!empty($url)) { |
| 525 | - $links.= Display :: return_icon('link.gif', '', array ('style' => 'padding-left:0px;padding-right:5px;')).'<a target="_blank" href="'.$url.'">'.get_lang('VisitUrl').'</a><br /><br />'; |
|
| 525 | + $links.= Display :: return_icon('link.gif', '', array ('style' => 'padding-left:0px;padding-right:5px;')).'<a target="_blank" href="'.$url.'">'.get_lang('VisitUrl').'</a><br /><br />'; |
|
| 526 | 526 | } |
| 527 | 527 | |
| 528 | 528 | // the link to finish the test |
| 529 | 529 | if ($destinationid==-1) { |
| 530 | - $links.= Display :: return_icon('finish.gif', '', array ('style' => 'width:22px; height:22px; padding-left:0px;padding-right:5px;')).'<a onclick="SendEx(-1);" href="#">'.get_lang('EndActivity').'</a><br /><br />'; |
|
| 530 | + $links.= Display :: return_icon('finish.gif', '', array ('style' => 'width:22px; height:22px; padding-left:0px;padding-right:5px;')).'<a onclick="SendEx(-1);" href="#">'.get_lang('EndActivity').'</a><br /><br />'; |
|
| 531 | 531 | } else { |
| 532 | - // the link to other question |
|
| 533 | - if (in_array($destinationid,$questionList)) { |
|
| 534 | - $objQuestionTmp = Question :: read($destinationid); |
|
| 535 | - $questionName=$objQuestionTmp->selectTitle(); |
|
| 536 | - $num_value_array= (array_keys($questionList, $destinationid)); |
|
| 537 | - $links.= Display :: return_icon('quiz.gif', '', array ('style' => 'padding-left:0px;padding-right:5px;')).'<a onclick="SendEx('.$num_value_array[0].');" href="#">'.get_lang('GoToQuestion').' '.$num_value_array[0].'</a><br /><br />'; |
|
| 538 | - } |
|
| 532 | + // the link to other question |
|
| 533 | + if (in_array($destinationid,$questionList)) { |
|
| 534 | + $objQuestionTmp = Question :: read($destinationid); |
|
| 535 | + $questionName=$objQuestionTmp->selectTitle(); |
|
| 536 | + $num_value_array= (array_keys($questionList, $destinationid)); |
|
| 537 | + $links.= Display :: return_icon('quiz.gif', '', array ('style' => 'padding-left:0px;padding-right:5px;')).'<a onclick="SendEx('.$num_value_array[0].');" href="#">'.get_lang('GoToQuestion').' '.$num_value_array[0].'</a><br /><br />'; |
|
| 538 | + } |
|
| 539 | 539 | } |
| 540 | 540 | |
| 541 | 541 | echo '<script> |
@@ -552,43 +552,43 @@ discard block |
||
| 552 | 552 | </script>'; |
| 553 | 553 | |
| 554 | 554 | if ($links!='') { |
| 555 | - /*echo '<div id="ModalContent" style="padding-bottom:30px;padding-top:10px;padding-left:20px;padding-right:20px;"> |
|
| 555 | + /*echo '<div id="ModalContent" style="padding-bottom:30px;padding-top:10px;padding-left:20px;padding-right:20px;"> |
|
| 556 | 556 | <a onclick="self.parent.tb_remove();" href="#" style="float:right; margin-top:-10px;">'.api_ucfirst(get_lang('Close')).'</a>';*/ |
| 557 | - echo '<h1><div style="color:#333;">'.get_lang('Feedback').'</div></h1>'; |
|
| 558 | - |
|
| 559 | - if ($answerType == HOT_SPOT_DELINEATION) { |
|
| 560 | - if ($organs_at_risk_hit > 0) { |
|
| 561 | - //$message='<p>'.get_lang('YourDelineation').'</p>'; |
|
| 562 | - //$message.=$table_resume; |
|
| 563 | - $message.='<br />'.get_lang('ResultIs').' <b>'.get_lang('Unacceptable').'</b><br />'; |
|
| 564 | - //if ($wrong_results) { } |
|
| 565 | - $message.='<p style="color:#DC0A0A;"><b>'.get_lang('OARHit').'</b></p>'; |
|
| 566 | - $message.='<p>'.$comment.'</p>'; |
|
| 567 | - } else { |
|
| 568 | - $message='<p>'.get_lang('YourDelineation').'</p>'; |
|
| 569 | - $message.=$table_resume; |
|
| 570 | - $message.='<br />'.get_lang('ResultIs').' <b>'.$result_comment.'</b><br />'; |
|
| 571 | - $message.='<p>'.$comment.'</p>'; |
|
| 572 | - } |
|
| 573 | - echo $message; |
|
| 574 | - } else { |
|
| 575 | - echo '<p>'.$comment.'</p>'; |
|
| 576 | - } |
|
| 577 | - echo '<h3>'.$links.'</h3>'; |
|
| 578 | - echo '</div>'; |
|
| 579 | - |
|
| 580 | - $_SESSION['hot_spot_result']=$message; |
|
| 581 | - $_SESSION['hotspot_delineation_result'][$exerciseId][$questionid] = array($message, $exerciseResult[$questionid]); |
|
| 582 | - //reseting the exerciseResult variable |
|
| 583 | - Session::write('exerciseResult',$exerciseResult); |
|
| 584 | - |
|
| 585 | - //save this variables just in case the exercise loads an LP with other exercise |
|
| 586 | - $_SESSION['objExerciseExtra'.$exerciseId] = $_SESSION['objExercise']; |
|
| 587 | - $_SESSION['exerciseResultExtra'.$exerciseId] = $_SESSION['exerciseResult']; |
|
| 588 | - $_SESSION['questionListExtra'.$exerciseId] = $_SESSION['questionList']; |
|
| 557 | + echo '<h1><div style="color:#333;">'.get_lang('Feedback').'</div></h1>'; |
|
| 558 | + |
|
| 559 | + if ($answerType == HOT_SPOT_DELINEATION) { |
|
| 560 | + if ($organs_at_risk_hit > 0) { |
|
| 561 | + //$message='<p>'.get_lang('YourDelineation').'</p>'; |
|
| 562 | + //$message.=$table_resume; |
|
| 563 | + $message.='<br />'.get_lang('ResultIs').' <b>'.get_lang('Unacceptable').'</b><br />'; |
|
| 564 | + //if ($wrong_results) { } |
|
| 565 | + $message.='<p style="color:#DC0A0A;"><b>'.get_lang('OARHit').'</b></p>'; |
|
| 566 | + $message.='<p>'.$comment.'</p>'; |
|
| 567 | + } else { |
|
| 568 | + $message='<p>'.get_lang('YourDelineation').'</p>'; |
|
| 569 | + $message.=$table_resume; |
|
| 570 | + $message.='<br />'.get_lang('ResultIs').' <b>'.$result_comment.'</b><br />'; |
|
| 571 | + $message.='<p>'.$comment.'</p>'; |
|
| 572 | + } |
|
| 573 | + echo $message; |
|
| 574 | + } else { |
|
| 575 | + echo '<p>'.$comment.'</p>'; |
|
| 576 | + } |
|
| 577 | + echo '<h3>'.$links.'</h3>'; |
|
| 578 | + echo '</div>'; |
|
| 579 | + |
|
| 580 | + $_SESSION['hot_spot_result']=$message; |
|
| 581 | + $_SESSION['hotspot_delineation_result'][$exerciseId][$questionid] = array($message, $exerciseResult[$questionid]); |
|
| 582 | + //reseting the exerciseResult variable |
|
| 583 | + Session::write('exerciseResult',$exerciseResult); |
|
| 584 | + |
|
| 585 | + //save this variables just in case the exercise loads an LP with other exercise |
|
| 586 | + $_SESSION['objExerciseExtra'.$exerciseId] = $_SESSION['objExercise']; |
|
| 587 | + $_SESSION['exerciseResultExtra'.$exerciseId] = $_SESSION['exerciseResult']; |
|
| 588 | + $_SESSION['questionListExtra'.$exerciseId] = $_SESSION['questionList']; |
|
| 589 | 589 | } else { |
| 590 | - $questionNum++; |
|
| 591 | - echo '<script> |
|
| 590 | + $questionNum++; |
|
| 591 | + echo '<script> |
|
| 592 | 592 | self.parent.window.location.href = "exercise_submit.php?exerciseId='.$exerciseId.'&num='.$questionNum.'&exerciseType='.$exerciseType.'&origin='.$origin.'"; |
| 593 | 593 | //self.parent.tb_remove(); |
| 594 | 594 | </script>'; |