Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/main/exercice/hotspot_savescore.inc.php

58 lines
2.0 KiB

<?php //$id:$
/* For licensing terms, see /dokeos_license.txt */
/**
* This file saves every click in the hotspot tool into track_e_hotspots
* @package chamilo.exercise
* @author Toon Keppens
* @version $Id: admin.php 10680 2007-01-11 21:26:23Z pcool $
*/
/**
* Code
*/
include('exercise.class.php');
include('question.class.php');
include('answer.class.php');
include('../inc/global.inc.php');
include('../inc/lib/database.lib.php');
$courseCode = $_GET['coursecode'];
$questionId = $_GET['questionId'];
$coordinates = $_GET['coord'];
$objExcercise = $_SESSION['objExercise'];
$exerciseId = $objExcercise->selectId();
// Save clicking order
$answerOrderId = count($_SESSION['exerciseResult'][$questionId]['ids'])+1;
if ($_GET['answerId'] == "0") // click is NOT on a hotspot
{
$hit = 0;
$answerId = NULL;
}
else // user clicked ON a hotspot
{
$hit = 1;
$answerId = api_substr($_GET['answerId'],22,2);
// Save into session
$_SESSION['exerciseResult'][$questionId][$answerId] = $hit;
}
//round-up the coordinates
$coords = explode('/',$coordinates);
$coordinates = '';
foreach ($coords as $coord) {
list($x,$y) = explode(';',$coord);
$coordinates .= round($x).';'.round($y).'/';
}
$coordinates = substr($coordinates,0,-1);
$TBL_TRACK_E_HOTSPOT = Database::get_statistic_table(STATISTIC_TRACK_E_HOTSPOTS);
// Save into db
$sql = "INSERT INTO $TBL_TRACK_E_HOTSPOT (user_id , course_id , quiz_id , question_id , answer_id , correct , coordinate ) VALUES (
'".Database::escape_string($_user['user_id'])."',
'".Database::escape_string($courseCode)."',
'".Database::escape_string($exerciseId)."',
'".Database::escape_string($questionId)."',
'".Database::escape_string($answerId)."',
'".Database::escape_string($hit)."',
'".Database::escape_string($coordinates)."')";
$result = Database::query($sql);
// Save insert id into session if users changes answer.
$insert_id = Database::insert_id();
$_SESSION['exerciseResult'][$questionId]['ids'][$answerOrderId] = $insert_id;