本文整理汇总了PHP中Answer::selectHotspotType方法的典型用法代码示例。如果您正苦于以下问题:PHP Answer::selectHotspotType方法的具体用法?PHP Answer::selectHotspotType怎么用?PHP Answer::selectHotspotType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Answer
的用法示例。
在下文中一共展示了Answer::selectHotspotType方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: explode
} else {
$next = 1;
//Go to the oars. If $next = 0 we will show this message: "One (or more) area at risk has been hit" instead of the table resume with the results
$wrong_results = true;
$result_comment = get_lang('Unacceptable');
$special_comment = $comment = $answerDestination = $objAnswerTmp->selectComment(1);
$answerDestination = $objAnswerTmp->selectDestination(1);
$destination_items = explode('@@', $answerDestination);
$try_hotspot = $destination_items[1];
$lp_hotspot = $destination_items[2];
$select_question_hotspot = $destination_items[3];
$url_hotspot = $destination_items[4];
//echo 'show the feedback';
}
} elseif ($answerId > 1) {
if ($objAnswerTmp->selectHotspotType($answerId) == 'noerror') {
if ($dbg_local > 0) {
error_log(__LINE__ . ' - answerId is of type noerror', 0);
}
//type no error shouldn't be treated
$next = 1;
continue;
}
if ($dbg_local > 0) {
error_log(__LINE__ . ' - answerId is >1 so we\'re probably in OAR', 0);
}
//check the intersection between the oar and the user
//echo 'user'; print_r($x_user_list); print_r($y_user_list);
//echo 'official';print_r($x_list);print_r($y_list);
//$result = get_intersection_data($x_list,$y_list,$x_user_list,$y_user_list);
//$delineation_cord=$objAnswerTmp->selectHotspotCoordinates($answerId);
示例2: manage_answer
//.........这里部分代码省略.........
// break the switch and the "for" condition
} else {
if ($answerCorrect) {
if (isset($choice[$answerAutoId]) && $answerCorrect == $choice[$answerAutoId]) {
$questionScore += $answerWeighting;
$totalScore += $answerWeighting;
$user_answer = Display::span($answerMatching[$choice[$answerAutoId]]);
} else {
if (isset($answerMatching[$choice[$answerAutoId]])) {
$user_answer = Display::span($answerMatching[$choice[$answerAutoId]], ['style' => 'color: #FF0000; text-decoration: line-through;']);
}
}
$matching[$answerAutoId] = $choice[$answerAutoId];
}
break;
}
case HOT_SPOT:
if ($from_database) {
$TBL_TRACK_HOTSPOT = Database::get_main_table(TABLE_STATISTIC_TRACK_E_HOTSPOT);
$sql = "SELECT hotspot_correct\n FROM {$TBL_TRACK_HOTSPOT}\n WHERE\n hotspot_exe_id = '" . $exeId . "' AND\n hotspot_question_id= '" . $questionId . "' AND\n hotspot_answer_id = " . intval($answerAutoId) . "";
$result = Database::query($sql);
$studentChoice = Database::result($result, 0, "hotspot_correct");
if ($studentChoice) {
$questionScore += $answerWeighting;
$totalScore += $answerWeighting;
}
} else {
if (!isset($choice[$answerAutoId])) {
$choice[$answerAutoId] = 0;
} else {
$studentChoice = $choice[$answerAutoId];
$choiceIsValid = false;
if (!empty($studentChoice)) {
$hotspotType = $objAnswerTmp->selectHotspotType($answerId);
$hotspotCoordinates = $objAnswerTmp->selectHotspotCoordinates($answerId);
$choicePoint = Geometry::decodePoint($studentChoice);
switch ($hotspotType) {
case 'square':
$hotspotProperties = Geometry::decodeSquare($hotspotCoordinates);
$choiceIsValid = Geometry::pointIsInSquare($hotspotProperties, $choicePoint);
break;
case 'circle':
$hotspotProperties = Geometry::decodeEllipse($hotspotCoordinates);
$choiceIsValid = Geometry::pointIsInEllipse($hotspotProperties, $choicePoint);
break;
case 'poly':
$hotspotProperties = Geometry::decodePolygon($hotspotCoordinates);
$choiceIsValid = Geometry::pointIsInPolygon($hotspotProperties, $choicePoint);
break;
}
}
$choice[$answerAutoId] = 0;
if ($choiceIsValid) {
$questionScore += $answerWeighting;
$totalScore += $answerWeighting;
$choice[$answerAutoId] = 1;
}
}
}
break;
// @todo never added to chamilo
//for hotspot with fixed order
// @todo never added to chamilo
//for hotspot with fixed order
case HOT_SPOT_ORDER:
$studentChoice = $choice['order'][$answerId];
示例3: manageAnswers
//.........这里部分代码省略.........
// if is delineation
if ($answerId === 1) {
//setting colors
if ($final_overlap >= $threadhold1) {
$overlap_color = true;
//echo 'a';
}
//echo $excess.'-'.$threadhold2;
if ($final_excess <= $threadhold2) {
$excess_color = true;
//echo 'b';
}
//echo '--------'.$missing.'-'.$threadhold3;
if ($final_missing <= $threadhold3) {
$missing_color = true;
//echo 'c';
}
// if pass
if ($final_overlap >= $threadhold1 && $final_missing <= $threadhold3 && $final_excess <= $threadhold2) {
$next = 1;
//go to the oars
$result_comment = get_lang('Acceptable');
$final_answer = 1;
// do not update with update_exercise_attempt
} else {
$next = 0;
$result_comment = get_lang('Unacceptable');
$comment = $answerDestination = $objAnswerTmp->selectComment(1);
$answerDestination = $objAnswerTmp->selectDestination(1);
//checking the destination parameters parsing the "@@"
$destination_items = explode('@@', $answerDestination);
}
} elseif ($answerId > 1) {
if ($objAnswerTmp->selectHotspotType($answerId) == 'noerror') {
if ($debug > 0) {
error_log(__LINE__ . ' - answerId is of type noerror', 0);
}
//type no error shouldn't be treated
$next = 1;
continue;
}
if ($debug > 0) {
error_log(__LINE__ . ' - answerId is >1 so we\'re probably in OAR', 0);
}
//check the intersection between the oar and the user
//echo 'user'; print_r($x_user_list); print_r($y_user_list);
//echo 'official';print_r($x_list);print_r($y_list);
//$result = get_intersection_data($x_list,$y_list,$x_user_list,$y_user_list);
$inter = $result['success'];
//$delineation_cord=$objAnswerTmp->selectHotspotCoordinates($answerId);
$delineation_cord = $objAnswerTmp->selectHotspotCoordinates($answerId);
$poly_answer = convert_coordinates($delineation_cord, '|');
$max_coord = poly_get_max($poly_user, $poly_answer);
$poly_answer_compiled = poly_compile($poly_answer, $max_coord);
$overlap = poly_touch($poly_user_compiled, $poly_answer_compiled, $max_coord);
if ($overlap == false) {
//all good, no overlap
$next = 1;
continue;
} else {
if ($debug > 0) {
error_log(__LINE__ . ' - Overlap is ' . $overlap . ': OAR hit', 0);
}
$organs_at_risk_hit++;
//show the feedback
$next = 0;