@@ 3549-3599 (lines=51) @@ | ||
3546 | //initialise answer tags |
|
3547 | $user_tags = $correct_tags = $real_text = array(); |
|
3548 | // the loop will stop at the end of the text |
|
3549 | while (1) { |
|
3550 | // quits the loop if there are no more blanks (detect '[') |
|
3551 | if (($pos = api_strpos($temp, '[')) === false) { |
|
3552 | // adds the end of the text |
|
3553 | $answer = $temp; |
|
3554 | $real_text[] = $answer; |
|
3555 | break; //no more "blanks", quit the loop |
|
3556 | } |
|
3557 | // adds the piece of text that is before the blank |
|
3558 | //and ends with '[' into a general storage array |
|
3559 | $real_text[] = api_substr($temp, 0, $pos +1); |
|
3560 | $answer .= api_substr($temp, 0, $pos +1); |
|
3561 | //take the string remaining (after the last "[" we found) |
|
3562 | $temp = api_substr($temp, $pos +1); |
|
3563 | // quit the loop if there are no more blanks, and update $pos to the position of next ']' |
|
3564 | if (($pos = api_strpos($temp, ']')) === false) { |
|
3565 | // adds the end of the text |
|
3566 | $answer .= $temp; |
|
3567 | break; |
|
3568 | } |
|
3569 | if ($from_database) { |
|
3570 | $queryfill = "SELECT answer FROM ".$TBL_TRACK_ATTEMPT." |
|
3571 | WHERE |
|
3572 | exe_id = '".$exeId."' AND |
|
3573 | question_id= ".intval($questionId).""; |
|
3574 | $resfill = Database::query($queryfill); |
|
3575 | $str = Database::result($resfill, 0, 'answer'); |
|
3576 | api_preg_match_all('#\[([^[]*)\]#', $str, $arr); |
|
3577 | $str = str_replace('\r\n', '', $str); |
|
3578 | ||
3579 | $choice = $arr[1]; |
|
3580 | if (isset($choice[$j])) { |
|
3581 | $tmp = api_strrpos($choice[$j], ' / '); |
|
3582 | $choice[$j] = api_substr($choice[$j], 0, $tmp); |
|
3583 | $choice[$j] = trim($choice[$j]); |
|
3584 | // Needed to let characters ' and " to work as part of an answer |
|
3585 | $choice[$j] = stripslashes($choice[$j]); |
|
3586 | } else { |
|
3587 | $choice[$j] = null; |
|
3588 | } |
|
3589 | } else { |
|
3590 | // This value is the user input, not escaped while correct answer is escaped by fckeditor |
|
3591 | $choice[$j] = api_htmlentities(trim($choice[$j])); |
|
3592 | } |
|
3593 | ||
3594 | $user_tags[] = $choice[$j]; |
|
3595 | //put the contents of the [] answer tag into correct_tags[] |
|
3596 | $correct_tags[] = api_substr($temp, 0, $pos); |
|
3597 | $j++; |
|
3598 | $temp = api_substr($temp, $pos +1); |
|
3599 | } |
|
3600 | $answer = ''; |
|
3601 | $real_correct_tags = $correct_tags; |
|
3602 | $chosen_list = array(); |
|
@@ 3773-3821 (lines=49) @@ | ||
3770 | //initialise answer tags |
|
3771 | $userTags = $correctTags = $realText = array(); |
|
3772 | // the loop will stop at the end of the text |
|
3773 | while (1) { |
|
3774 | // quits the loop if there are no more blanks (detect '[') |
|
3775 | if (($pos = api_strpos($temp, '[')) === false) { |
|
3776 | // adds the end of the text |
|
3777 | $answer = $temp; |
|
3778 | $realText[] = $answer; |
|
3779 | break; //no more "blanks", quit the loop |
|
3780 | } |
|
3781 | // adds the piece of text that is before the blank |
|
3782 | //and ends with '[' into a general storage array |
|
3783 | $realText[] = api_substr($temp, 0, $pos +1); |
|
3784 | $answer .= api_substr($temp, 0, $pos +1); |
|
3785 | //take the string remaining (after the last "[" we found) |
|
3786 | $temp = api_substr($temp, $pos +1); |
|
3787 | // quit the loop if there are no more blanks, and update $pos to the position of next ']' |
|
3788 | if (($pos = api_strpos($temp, ']')) === false) { |
|
3789 | // adds the end of the text |
|
3790 | $answer .= $temp; |
|
3791 | break; |
|
3792 | } |
|
3793 | if ($from_database) { |
|
3794 | $queryfill = "SELECT answer FROM ".$TBL_TRACK_ATTEMPT." |
|
3795 | WHERE |
|
3796 | exe_id = '".$exeId."' AND |
|
3797 | question_id= ".intval($questionId).""; |
|
3798 | $resfill = Database::query($queryfill); |
|
3799 | $str = Database::result($resfill, 0, 'answer'); |
|
3800 | api_preg_match_all('#\[([^[]*)\]#', $str, $arr); |
|
3801 | $str = str_replace('\r\n', '', $str); |
|
3802 | $choice = $arr[1]; |
|
3803 | if (isset($choice[$j])) { |
|
3804 | $tmp = api_strrpos($choice[$j], ' / '); |
|
3805 | $choice[$j] = api_substr($choice[$j], 0, $tmp); |
|
3806 | $choice[$j] = trim($choice[$j]); |
|
3807 | // Needed to let characters ' and " to work as part of an answer |
|
3808 | $choice[$j] = stripslashes($choice[$j]); |
|
3809 | } else { |
|
3810 | $choice[$j] = null; |
|
3811 | } |
|
3812 | } else { |
|
3813 | // This value is the user input, not escaped while correct answer is escaped by fckeditor |
|
3814 | $choice[$j] = api_htmlentities(trim($choice[$j])); |
|
3815 | } |
|
3816 | $userTags[] = $choice[$j]; |
|
3817 | //put the contents of the [] answer tag into correct_tags[] |
|
3818 | $correctTags[] = api_substr($temp, 0, $pos); |
|
3819 | $j++; |
|
3820 | $temp = api_substr($temp, $pos +1); |
|
3821 | } |
|
3822 | $answer = ''; |
|
3823 | $realCorrectTags = $correctTags; |
|
3824 |