Public Member Functions | |
| ilCourseObjectiveResult ($a_usr_id) | |
| getUserId () | |
| reset ($a_course_id) | |
| getStatus ($a_course_id) | |
| updateResults ($a_test_result) | |
| isSuggested ($a_objective_id) | |
| hasAccomplishedObjective ($a_objective_id) | |
| __deleteEntries ($a_objective_ids) | |
| __getReachedPoints ($a_question_ids) | |
| __isAnswered ($a_question_ids) | |
| _updateUserResult ($a_usr_id, $a_question_id, $a_points) | |
| addEntry ($a_question_id, $a_points) | |
| _deleteAll ($user_id) | |
Data Fields | |
| $db = null | |
| $user_id = null | |
Definition at line 35 of file class.ilCourseObjectiveResult.php.
| ilCourseObjectiveResult::__deleteEntries | ( | $ | a_objective_ids | ) |
Definition at line 239 of file class.ilCourseObjectiveResult.php.
References $query.
Referenced by reset().
{
if(!count($a_objective_ids))
{
return true;
}
$in = "IN ('";
$in .= implode("','",$a_objective_ids);
$in .= "')";
$query = "DELETE FROM crs_objective_results ".
"WHERE usr_id = '".$this->getUserId()."' ".
"AND question_id ".$in;
$this->db->query($query);
}
Here is the caller graph for this function:| ilCourseObjectiveResult::__getReachedPoints | ( | $ | a_question_ids | ) |
Definition at line 259 of file class.ilCourseObjectiveResult.php.
References $query, $res, and $row.
Referenced by hasAccomplishedObjective(), and isSuggested().
{
$points = 0;
foreach($a_question_ids as $qid)
{
$query = "SELECT points FROM crs_objective_results ".
"WHERE usr_id = '".$this->getUserId()."' ".
"AND question_id = '".$qid."'";
$res = $this->db->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$points += ((int) $row->points);
}
}
return $points ? $points : 0;
}
Here is the caller graph for this function:| ilCourseObjectiveResult::__isAnswered | ( | $ | a_question_ids | ) |
Definition at line 278 of file class.ilCourseObjectiveResult.php.
References $query, $res, and $row.
Referenced by getStatus().
{
foreach($a_question_ids as $qid)
{
$query = "SELECT points FROM crs_objective_results ".
"WHERE usr_id = '".$this->getUserId()."' ".
"AND question_id = '".$qid."'";
$res = $this->db->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
return true;
}
}
return false;
}
Here is the caller graph for this function:| ilCourseObjectiveResult::_deleteAll | ( | $ | user_id | ) |
Definition at line 340 of file class.ilCourseObjectiveResult.php.
References $query.
Referenced by ilObjUser::delete().
{
global $ilDB;
$query = "DELETE FROM crs_objective_results ".
"WHERE usr_id = '".$user_id."'";
$ilDB->query($query);
return true;
}
Here is the caller graph for this function:| ilCourseObjectiveResult::_updateUserResult | ( | $ | a_usr_id, | |
| $ | a_question_id, | |||
| $ | a_points | |||
| ) |
Definition at line 296 of file class.ilCourseObjectiveResult.php.
References $query.
Referenced by ASS_TextQuestion::_setReachedPoints().
{
global $ilDB;
// Delete old entry
$query = "DELETE FROM crs_objective_results ".
"WHERE usr_id = '".$a_usr_id."' ".
"AND question_id = '".$a_question_id."'";
$ilDB->query($query);
// ... and add it
$query = "INSERT INTO crs_objective_results ".
"SET usr_id = '".$a_usr_id."', ".
"question_id = '".$a_question_id."', ".
"points = '".$a_points."'";
$ilDB->query($query);
return true;
}
Here is the caller graph for this function:| ilCourseObjectiveResult::addEntry | ( | $ | a_question_id, | |
| $ | a_points | |||
| ) |
Definition at line 320 of file class.ilCourseObjectiveResult.php.
References $query.
Referenced by updateResults().
{
// DElete old entry
$query = "DELETE FROM crs_objective_results ".
"WHERE usr_id = '".$this->getUserId()."' ".
"AND question_id = '".$a_question_id."'";
$this->db->query($query);
$query = "INSERT INTO crs_objective_results ".
"SET usr_id = '".$this->getUserId()."', ".
"question_id = '".$a_question_id."', ".
"points = '".$a_points."'";
$this->db->query($query);
return true;
}
Here is the caller graph for this function:| ilCourseObjectiveResult::getStatus | ( | $ | a_course_id | ) |
Definition at line 85 of file class.ilCourseObjectiveResult.php.
References __isAnswered(), and ilCourseObjective::_getObjectiveIds().
{
include_once './course/classes/class.ilCourseObjective.php';
include_once './course/classes/class.ilCourseObjectiveQuestion.php';
$final = false;
$pretest = false;
foreach(ilCourseObjective::_getObjectiveIds($a_course_id) as $objective_id)
{
$tmp_obj_question =& new ilCourseObjectiveQuestion($objective_id);
foreach($tmp_obj_question->getTests() as $test_data)
{
if($this->__isAnswered($tmp_obj_question->getQuestionsByTest($test_data['ref_id'])))
{
if($test_data['tst_status'])
{
$final = true;
}
else
{
$pretest = true;
}
}
}
}
if($final)
{
return 'final';
}
if($pretest)
{
return 'pretest';
}
return 'none';
}
Here is the call graph for this function:| ilCourseObjectiveResult::getUserId | ( | ) |
Definition at line 49 of file class.ilCourseObjectiveResult.php.
Referenced by isSuggested(), and reset().
{
return $this->user_id;
}
Here is the caller graph for this function:| ilCourseObjectiveResult::hasAccomplishedObjective | ( | $ | a_objective_id | ) |
Definition at line 188 of file class.ilCourseObjectiveResult.php.
References __getReachedPoints().
{
$reached = 0;
$accomplished = true;
include_once './course/classes/class.ilCourseObjectiveQuestion.php';
$tmp_obj_question =& new ilCourseObjectiveQuestion($a_objective_id);
foreach($tmp_obj_question->getTests() as $test_data)
{
$tmp_points = $this->__getReachedPoints($tmp_obj_question->getQuestionsByTest($test_data['ref_id']));
$max = $tmp_obj_question->getMaxPointsByTest($test_data['ref_id']);
if(!$max)
{
continue;
}
if(!$tmp_points)
{
if($test_data['tst_status'])
{
return false;
}
else
{
$accomplished = false;
continue;
}
}
$percent = ($tmp_points / $max) * 100.0;
if($percent >= $test_data['tst_limit'] and $test_data['tst_status'])
{
return true;
}
// no fullfilled
if($test_data['tst_status'])
{
return false;
}
$accomplished = false;
}
return $accomplished ? true : false;
}
Here is the call graph for this function:| ilCourseObjectiveResult::ilCourseObjectiveResult | ( | $ | a_usr_id | ) |
Definition at line 41 of file class.ilCourseObjectiveResult.php.
{
global $ilDB;
$this->db =& $ilDB;
$this->user_id = $a_usr_id;
}
| ilCourseObjectiveResult::isSuggested | ( | $ | a_objective_id | ) |
Definition at line 140 of file class.ilCourseObjectiveResult.php.
References __getReachedPoints(), ilObjTestAccess::_hasFinished(), and getUserId().
Referenced by ilCourseContentInterface::__readSuggested().
{
$suggested = true;
$edited_final = true;
include_once './course/classes/class.ilCourseObjectiveQuestion.php';
include_once './assessment/classes/class.ilObjTest.php';
include_once './assessment/classes/class.ilObjTestAccess.php';
$tmp_obj_question =& new ilCourseObjectiveQuestion($a_objective_id);
foreach($tmp_obj_question->getTests() as $test_data)
{
$tmp_points = $this->__getReachedPoints($tmp_obj_question->getQuestionsByTest($test_data['ref_id']));
$max = $tmp_obj_question->getMaxPointsByTest($test_data['ref_id']);
if(!$max)
{
return false;
}
if($test_data['tst_status'])
{
if(ilObjTestAccess::_hasFinished($this->getUserId(),$test_data['obj_id']))
{
return true;
}
continue;
}
if(!$tmp_points)
{
$suggested = true;
continue;
}
$percent = ($tmp_points / $max) * 100.0;
if($percent < $test_data['tst_limit'])
{
$suggested = true;
}
else
{
$suggested = false;
}
}
return $suggested;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilCourseObjectiveResult::reset | ( | $ | a_course_id | ) |
Definition at line 54 of file class.ilCourseObjectiveResult.php.
References $_SESSION, __deleteEntries(), ilCourseObjective::_getObjectiveIds(), ilObjectFactory::getInstanceByRefId(), and getUserId().
{
include_once './course/classes/class.ilCourseObjective.php';
include_once './course/classes/class.ilCourseObjectiveQuestion.php';
foreach(ilCourseObjective::_getObjectiveIds($a_course_id) as $objective_id)
{
$tmp_obj_question =& new ilCourseObjectiveQuestion($objective_id);
foreach($tmp_obj_question->getTests() as $test_data)
{
$this->__deleteEntries($tmp_obj_question->getQuestionsByTest($test_data['ref_id']));
if($tmp_test =& ilObjectFactory::getInstanceByRefId($test_data['ref_id']))
{
$tmp_test->deleteResults($this->getUserId(),true);
unset($tmp_test);
}
}
}
// unset hashed accomplished
unset($_SESSION['accomplished']);
unset($_SESSION['objectives_suggested']);
unset($_SESSION['objectives_status']);
unset($_SESSION['objectives_fullfilled']);
return true;
}
Here is the call graph for this function:| ilCourseObjectiveResult::updateResults | ( | $ | a_test_result | ) |
Definition at line 123 of file class.ilCourseObjectiveResult.php.
References $_SESSION, and addEntry().
{
foreach($a_test_result as $question_data)
{
if($question_data['qid'])
{
$this->addEntry($question_data['qid'],$question_data['reached']);
}
}
// unset hashed accomplished
unset($_SESSION['accomplished']);
unset($_SESSION['objectives_suggested']);
unset($_SESSION['objectives_status']);
return true;
}
Here is the call graph for this function:| ilCourseObjectiveResult::$db = null |
Definition at line 37 of file class.ilCourseObjectiveResult.php.
| ilCourseObjectiveResult::$user_id = null |
Definition at line 38 of file class.ilCourseObjectiveResult.php.
1.7.1