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 237 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); }
ilCourseObjectiveResult::__getReachedPoints | ( | $ | a_question_ids | ) |
Definition at line 257 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; }
ilCourseObjectiveResult::__isAnswered | ( | $ | a_question_ids | ) |
Definition at line 276 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; }
ilCourseObjectiveResult::_deleteAll | ( | $ | user_id | ) |
Definition at line 338 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; }
ilCourseObjectiveResult::_updateUserResult | ( | $ | a_usr_id, | |
$ | a_question_id, | |||
$ | a_points | |||
) |
Definition at line 294 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; }
ilCourseObjectiveResult::addEntry | ( | $ | a_question_id, | |
$ | a_points | |||
) |
Definition at line 318 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; }
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'; }
ilCourseObjectiveResult::getUserId | ( | ) |
Definition at line 49 of file class.ilCourseObjectiveResult.php.
Referenced by isSuggested(), and reset().
{
return $this->user_id;
}
ilCourseObjectiveResult::hasAccomplishedObjective | ( | $ | a_objective_id | ) |
Definition at line 186 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; }
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(), ilObjTest::_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'; $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(ilObjTest::_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; }
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; }
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; }
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.