|
@@ -99,10 +99,11 @@ class ForumThreadLink extends AbstractLink
|
|
|
return ($number[0] != 0);
|
|
|
}
|
|
|
|
|
|
- public function calc_score($stud_id = null) {
|
|
|
- $course_info = Database :: get_course_info($this->get_course_code());
|
|
|
- $database_name = (empty($course_info['db_name']))?$course_info['dbName']:$course_info['db_name'];
|
|
|
- if ($database_name!="") {
|
|
|
+ public function calc_score($stud_id = null) {
|
|
|
+ $course_info = Database :: get_course_info($this->get_course_code());
|
|
|
+ $database_name = (empty($course_info['db_name']))?$course_info['dbName']:$course_info['db_name'];
|
|
|
+
|
|
|
+ if (!empty($database_name)) {
|
|
|
$thread_qualify = Database :: get_course_table(TABLE_FORUM_THREAD_QUALIFY, $database_name);
|
|
|
|
|
|
$sql = 'SELECT thread_qualify_max FROM '.Database :: get_course_table(TABLE_FORUM_THREAD, $database_name)." WHERE thread_id = '".$this->get_ref_id()."'";
|
|
@@ -111,7 +112,7 @@ class ForumThreadLink extends AbstractLink
|
|
|
|
|
|
$sql = 'SELECT * FROM '.$thread_qualify.' WHERE thread_id = '.$this->get_ref_id();
|
|
|
|
|
|
- if (isset($stud_id)){
|
|
|
+ if (isset($stud_id)) {
|
|
|
$sql .= ' AND user_id = '."'".intval($stud_id)."'";
|
|
|
}
|
|
|
|
|
@@ -121,16 +122,17 @@ class ForumThreadLink extends AbstractLink
|
|
|
$scores = Database::query($sql);
|
|
|
|
|
|
// for 1 student
|
|
|
- if (isset($stud_id))
|
|
|
- {
|
|
|
- if ($data=Database::fetch_array($scores)) {
|
|
|
+ if (isset($stud_id)) {
|
|
|
+
|
|
|
+ if ($data = Database::fetch_array($scores)) {
|
|
|
return array ($data['qualify'], $assignment['thread_qualify_max']);
|
|
|
} else {
|
|
|
//We sent the 0/thread_qualify_max instead of null for correct calculations
|
|
|
//return null;
|
|
|
return array (0, $assignment['thread_qualify_max']);
|
|
|
}
|
|
|
- } else {// all students -> get average
|
|
|
+ } else {
|
|
|
+ // all students -> get average
|
|
|
$students=array(); // user list, needed to make sure we only
|
|
|
// take first attempts into account
|
|
|
$rescount = 0;
|
|
@@ -144,16 +146,15 @@ class ForumThreadLink extends AbstractLink
|
|
|
$sum += ($data['qualify'] / $assignment['thread_qualify_max']);
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
if ($rescount == 0) {
|
|
|
return null;
|
|
|
} else {
|
|
|
return array ($sum , $rescount);
|
|
|
- }
|
|
|
-
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// INTERNAL FUNCTIONS
|