no message
This commit is contained in:
+30
-18
@@ -1778,18 +1778,14 @@ class assignment_base {
|
||||
* Return an outline of the user's interaction with the assignment
|
||||
*
|
||||
* The default method prints the grade and timemodified
|
||||
* @param $user object
|
||||
* @param $grade object
|
||||
* @return object with properties ->info and ->time
|
||||
*/
|
||||
function user_outline($user) {
|
||||
if ($submission = $this->get_submission($user->id)) {
|
||||
|
||||
$result = new object();
|
||||
$result->info = get_string('grade').': '.$this->display_grade($submission->grade);
|
||||
$result->time = $submission->timemodified;
|
||||
return $result;
|
||||
}
|
||||
return NULL;
|
||||
function user_outline($grade) {
|
||||
$result = new object();
|
||||
$result->info = get_string('grade').': '.$grade->str_long_grade;
|
||||
$result->time = $grade->dategraded;
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1797,7 +1793,14 @@ class assignment_base {
|
||||
*
|
||||
* @param $user object
|
||||
*/
|
||||
function user_complete($user) {
|
||||
function user_complete($user, $grade=null) {
|
||||
if ($grade) {
|
||||
echo '<p>'.get_string('grade').': '.$grade->str_long_grade.'</p>';
|
||||
if ($grade->str_feedback) {
|
||||
echo '<p>'.get_string('feedback').': '.$grade->str_feedback.'</p>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($submission = $this->get_submission($user->id)) {
|
||||
if ($basedir = $this->file_area($user->id)) {
|
||||
if ($files = get_directory_list($basedir)) {
|
||||
@@ -1817,11 +1820,7 @@ class assignment_base {
|
||||
|
||||
echo '<br />';
|
||||
|
||||
if (empty($submission->timemarked)) {
|
||||
print_string("notgradedyet", "assignment");
|
||||
} else {
|
||||
$this->view_feedback($submission);
|
||||
}
|
||||
$this->view_feedback($submission);
|
||||
|
||||
print_simple_box_end();
|
||||
|
||||
@@ -2063,10 +2062,16 @@ function assignment_add_instance($assignment) {
|
||||
function assignment_user_outline($course, $user, $mod, $assignment) {
|
||||
global $CFG;
|
||||
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
require_once("$CFG->dirroot/mod/assignment/type/$assignment->assignmenttype/assignment.class.php");
|
||||
$assignmentclass = "assignment_$assignment->assignmenttype";
|
||||
$ass = new $assignmentclass($mod->id, $assignment, $mod, $course);
|
||||
return $ass->user_outline($user);
|
||||
$grades = grade_get_grades($course->id, 'mod', 'assignment', $assignment->id, $user->id);
|
||||
if (!empty($grades->items[0]->grades)) {
|
||||
return $ass->user_outline(reset($grades->items[0]->grades));
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2077,10 +2082,17 @@ function assignment_user_outline($course, $user, $mod, $assignment) {
|
||||
function assignment_user_complete($course, $user, $mod, $assignment) {
|
||||
global $CFG;
|
||||
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
require_once("$CFG->dirroot/mod/assignment/type/$assignment->assignmenttype/assignment.class.php");
|
||||
$assignmentclass = "assignment_$assignment->assignmenttype";
|
||||
$ass = new $assignmentclass($mod->id, $assignment, $mod, $course);
|
||||
return $ass->user_complete($user);
|
||||
$grades = grade_get_grades($course->id, 'mod', 'assignment', $assignment->id, $user->id);
|
||||
if (empty($grades->items[0]->grades)) {
|
||||
$grade = false;
|
||||
} else {
|
||||
$grade = reset($grades->items[0]->grades);
|
||||
}
|
||||
return $ass->user_complete($user, $grade);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -706,6 +706,15 @@ function data_delete_instance($id) { // takes the dataid
|
||||
************************************************************************/
|
||||
function data_user_outline($course, $user, $mod, $data) {
|
||||
global $CFG;
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
|
||||
$grades = grade_get_grades($course->id, 'mod', 'data', $data->id, $user->id);
|
||||
if (empty($grades->items[0]->grades)) {
|
||||
$grade = false;
|
||||
} else {
|
||||
$grade = reset($grades->items[0]->grades);
|
||||
}
|
||||
|
||||
if ($countrecords = count_records('data_records', 'dataid', $data->id, 'userid', $user->id)) {
|
||||
$result = new object();
|
||||
$result->info = get_string('numrecords', 'data', $countrecords);
|
||||
@@ -713,6 +722,14 @@ function data_user_outline($course, $user, $mod, $data) {
|
||||
WHERE dataid = '.$data->id.' AND userid = '.$user->id.'
|
||||
ORDER BY timemodified DESC', true);
|
||||
$result->time = $lastrecord->timemodified;
|
||||
if ($grade) {
|
||||
$result->info .= ', ' . get_string('grade') . ': ' . $grade->str_long_grade;
|
||||
}
|
||||
return $result;
|
||||
} else if ($grade) {
|
||||
$result = new object();
|
||||
$result->info = get_string('grade') . ': ' . $grade->str_long_grade;
|
||||
$result->time = $grade->dategraded;
|
||||
return $result;
|
||||
}
|
||||
return NULL;
|
||||
@@ -722,6 +739,17 @@ function data_user_outline($course, $user, $mod, $data) {
|
||||
* Prints all the records uploaded by this user *
|
||||
************************************************************************/
|
||||
function data_user_complete($course, $user, $mod, $data) {
|
||||
global $CFG;
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
|
||||
$grades = grade_get_grades($course->id, 'mod', 'data', $data->id, $user->id);
|
||||
if (!empty($grades->items[0]->grades)) {
|
||||
$grade = reset($grades->items[0]->grades);
|
||||
echo '<p>'.get_string('grade').': '.$grade->str_long_grade.'</p>';
|
||||
if ($grade->str_feedback) {
|
||||
echo '<p>'.get_string('feedback').': '.$grade->str_feedback.'</p>';
|
||||
}
|
||||
}
|
||||
if ($records = get_records_select('data_records', 'dataid = '.$data->id.' AND userid = '.$user->id,
|
||||
'timemodified DESC')) {
|
||||
data_print_template('singletemplate', $records, $data);
|
||||
|
||||
+33
-6
@@ -946,13 +946,30 @@ function forum_make_mail_html($course, $forum, $discussion, $post, $userfrom, $u
|
||||
* @return object A standard object with 2 variables: info (number of posts for this user) and time (last modified)
|
||||
*/
|
||||
function forum_user_outline($course, $user, $mod, $forum) {
|
||||
if ($count = forum_count_user_posts($forum->id, $user->id)) {
|
||||
if ($count->postcount > 0) {
|
||||
$result = new object();
|
||||
$result->info = get_string("numposts", "forum", $count->postcount);
|
||||
$result->time = $count->lastpost;
|
||||
return $result;
|
||||
global $CFG;
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
$grades = grade_get_grades($course->id, 'mod', 'forum', $forum->id, $user->id);
|
||||
if (empty($grades->items[0]->grades)) {
|
||||
$grade = false;
|
||||
} else {
|
||||
$grade = reset($grades->items[0]->grades);
|
||||
}
|
||||
|
||||
$count = forum_count_user_posts($forum->id, $user->id);
|
||||
|
||||
if ($count && $count->postcount > 0) {
|
||||
$result = new object();
|
||||
$result->info = get_string("numposts", "forum", $count->postcount);
|
||||
$result->time = $count->lastpost;
|
||||
if ($grade) {
|
||||
$result->info .= ', ' . get_string('grade') . ': ' . $grade->str_long_grade;
|
||||
}
|
||||
return $result;
|
||||
} else if ($grade) {
|
||||
$result = new object();
|
||||
$result->info = get_string('grade') . ': ' . $grade->str_long_grade;
|
||||
$result->time = $grade->dategraded;
|
||||
return $result;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -963,6 +980,16 @@ function forum_user_outline($course, $user, $mod, $forum) {
|
||||
*/
|
||||
function forum_user_complete($course, $user, $mod, $forum) {
|
||||
global $CFG,$USER;
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
|
||||
$grades = grade_get_grades($course->id, 'mod', 'forum', $forum->id, $user->id);
|
||||
if (!empty($grades->items[0]->grades)) {
|
||||
$grade = reset($grades->items[0]->grades);
|
||||
echo '<p>'.get_string('grade').': '.$grade->str_long_grade.'</p>';
|
||||
if ($grade->str_feedback) {
|
||||
echo '<p>'.get_string('feedback').': '.$grade->str_feedback.'</p>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($posts = forum_get_user_posts($forum->id, $user->id)) {
|
||||
|
||||
|
||||
@@ -161,11 +161,19 @@ function glossary_delete_instance($id) {
|
||||
}
|
||||
|
||||
function glossary_user_outline($course, $user, $mod, $glossary) {
|
||||
global $CFG;
|
||||
/// Return a small object with summary information about what a
|
||||
/// user has done with a given particular instance of this module
|
||||
/// Used for user activity reports.
|
||||
/// $return->time = the time they did it
|
||||
/// $return->info = a short text description
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
$grades = grade_get_grades($course->id, 'mod', 'glossary', $glossary->id, $user->id);
|
||||
if (empty($grades->items[0]->grades)) {
|
||||
$grade = false;
|
||||
} else {
|
||||
$grade = reset($grades->items[0]->grades);
|
||||
}
|
||||
|
||||
if ($entries = glossary_get_user_entries($glossary->id, $user->id)) {
|
||||
$result = new object();
|
||||
@@ -173,8 +181,18 @@ function glossary_user_outline($course, $user, $mod, $glossary) {
|
||||
|
||||
$lastentry = array_pop($entries);
|
||||
$result->time = $lastentry->timemodified;
|
||||
|
||||
if ($grade) {
|
||||
$result->info .= ', ' . get_string('grade') . ': ' . $grade->str_long_grade;
|
||||
}
|
||||
return $result;
|
||||
} else if ($grade) {
|
||||
$result = new object();
|
||||
$result->info = get_string('grade') . ': ' . $grade->str_long_grade;
|
||||
$result->time = $grade->dategraded;
|
||||
return $result;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -197,7 +215,16 @@ function glossary_user_complete($course, $user, $mod, $glossary) {
|
||||
/// Print a detailed representation of what a user has done with
|
||||
/// a given particular instance of this module, for user activity reports.
|
||||
global $CFG;
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
|
||||
$grades = grade_get_grades($course->id, 'mod', 'glossary', $glossary->id, $user->id);
|
||||
if (!empty($grades->items[0]->grades)) {
|
||||
$grade = reset($grades->items[0]->grades);
|
||||
echo '<p>'.get_string('grade').': '.$grade->str_long_grade.'</p>';
|
||||
if ($grade->str_feedback) {
|
||||
echo '<p>'.get_string('feedback').': '.$grade->str_feedback.'</p>';
|
||||
}
|
||||
}
|
||||
if ($entries = glossary_get_user_entries($glossary->id, $user->id)) {
|
||||
echo '<table width="95%" border="0"><tr><td>';
|
||||
foreach ($entries as $entry) {
|
||||
|
||||
+19
-32
@@ -147,22 +147,15 @@ function lesson_user_outline($course, $user, $mod, $lesson) {
|
||||
/// Used for user activity reports.
|
||||
/// $return->time = the time they did it
|
||||
/// $return->info = a short text description
|
||||
|
||||
if ($grades = get_records_select("lesson_grades", "lessonid = $lesson->id AND userid = $user->id",
|
||||
"grade DESC")) {
|
||||
foreach ($grades as $grade) {
|
||||
$max_grade = number_format($grade->grade * $lesson->grade / 100.0, 1);
|
||||
break;
|
||||
}
|
||||
$return->time = $grade->completed;
|
||||
if ($lesson->retake) {
|
||||
$return->info = get_string("gradeis", "lesson", $max_grade)." (".
|
||||
get_string("attempt", "lesson", count($grades)).")";
|
||||
} else {
|
||||
$return->info = get_string("gradeis", "lesson", $max_grade);
|
||||
}
|
||||
} else {
|
||||
global $CFG;
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
$grades = grade_get_grades($course->id, 'mod', 'lesson', $lesson->id, $user->id);
|
||||
if (empty($grades->items[0]->grades)) {
|
||||
$return->info = get_string("no")." ".get_string("attempts", "lesson");
|
||||
} else {
|
||||
$grade = reset($grades->items[0]->grades);
|
||||
$return->info = get_string("grade") . ': ' . $grade->str_long_grade;
|
||||
$return->time = $grade->dategraded;
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
@@ -171,6 +164,17 @@ function lesson_user_outline($course, $user, $mod, $lesson) {
|
||||
function lesson_user_complete($course, $user, $mod, $lesson) {
|
||||
/// Print a detailed representation of what a user has done with
|
||||
/// a given particular instance of this module, for user activity reports.
|
||||
global $CFG;
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
|
||||
$grades = grade_get_grades($course->id, 'mod', 'lesson', $lesson->id, $user->id);
|
||||
if (!empty($grades->items[0]->grades)) {
|
||||
$grade = reset($grades->items[0]->grades);
|
||||
echo '<p>'.get_string('grade').': '.$grade->str_long_grade.'</p>';
|
||||
if ($grade->str_feedback) {
|
||||
echo '<p>'.get_string('feedback').': '.$grade->str_feedback.'</p>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($attempts = get_records_select("lesson_attempts", "lessonid = $lesson->id AND userid = $user->id",
|
||||
"retry, timeseen")) {
|
||||
@@ -210,25 +214,8 @@ function lesson_user_complete($course, $user, $mod, $lesson) {
|
||||
}
|
||||
print_table($table);
|
||||
print_simple_box_end();
|
||||
// also print grade summary
|
||||
if ($grades = get_records_select("lesson_grades", "lessonid = $lesson->id AND userid = $user->id",
|
||||
"grade DESC")) {
|
||||
foreach ($grades as $grade) {
|
||||
$max_grade = number_format($grade->grade * $lesson->grade / 100.0, 1);
|
||||
break;
|
||||
}
|
||||
if ($lesson->retake) {
|
||||
echo "<p>".get_string("gradeis", "lesson", $max_grade)." (".
|
||||
get_string("attempts", "lesson").": ".count($grades).")</p>";
|
||||
} else {
|
||||
echo "<p>".get_string("gradeis", "lesson", $max_grade)."</p>";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
echo get_string("no")." ".get_string("attempts", "lesson");
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
+19
-8
@@ -198,25 +198,36 @@ function quiz_user_outline($course, $user, $mod, $quiz) {
|
||||
/// Used for user activity reports.
|
||||
/// $return->time = the time they did it
|
||||
/// $return->info = a short text description
|
||||
$grade = quiz_get_best_grade($quiz, $user->id);
|
||||
if (is_null($grade)) {
|
||||
return NULL;
|
||||
global $CFG;
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
$grades = grade_get_grades($course->id, 'mod', 'quiz', $quiz->id, $user->id);
|
||||
if (empty($grades->items[0]->grades)) {
|
||||
return null;
|
||||
} else {
|
||||
$grade = reset($grades->items[0]->grades);
|
||||
}
|
||||
|
||||
$result = new stdClass;
|
||||
$result->info = get_string('grade') . ': ' . $grade . '/' . $quiz->grade;
|
||||
$result->time = get_field('quiz_attempts', 'MAX(timefinish)', 'userid', $user->id, 'quiz', $quiz->id);
|
||||
$result->info = get_string('grade') . ': ' . $grade->str_long_grade;
|
||||
$result->time = $grade->dategraded;
|
||||
return $result;
|
||||
}
|
||||
|
||||
function quiz_user_complete($course, $user, $mod, $quiz) {
|
||||
/// Print a detailed representation of what a user has done with
|
||||
/// a given particular instance of this module, for user activity reports.
|
||||
global $CFG;
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
$grades = grade_get_grades($course->id, 'mod', 'quiz', $quiz->id, $user->id);
|
||||
if (!empty($grades->items[0]->grades)) {
|
||||
$grade = reset($grades->items[0]->grades);
|
||||
echo '<p>'.get_string('grade').': '.$grade->str_long_grade.'</p>';
|
||||
if ($grade->str_feedback) {
|
||||
echo '<p>'.get_string('feedback').': '.$grade->str_feedback.'</p>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($attempts = get_records_select('quiz_attempts', "userid='$user->id' AND quiz='$quiz->id'", 'attempt ASC')) {
|
||||
if ($quiz->grade && $quiz->sumgrades && $grade = get_record('quiz_grades', 'userid', $user->id, 'quiz', $quiz->id)) {
|
||||
echo get_string('grade').': '.round($grade->grade, $quiz->decimalpoints).'/'.$quiz->grade.'<br />';
|
||||
}
|
||||
foreach ($attempts as $attempt) {
|
||||
echo get_string('attempt', 'quiz').' '.$attempt->attempt.': ';
|
||||
if ($attempt->timefinish == 0) {
|
||||
|
||||
+21
-5
@@ -219,10 +219,16 @@ function scorm_delete_instance($id) {
|
||||
function scorm_user_outline($course, $user, $mod, $scorm) {
|
||||
global $CFG;
|
||||
require_once('locallib.php');
|
||||
|
||||
$return = scorm_grade_user($scorm, $user->id, true);
|
||||
|
||||
return $return;
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
$grades = grade_get_grades($course->id, 'mod', 'scorm', $scorm->id, $user->id);
|
||||
if (!empty($grades->items[0]->grades)) {
|
||||
$grade = reset($grades->items[0]->grades);
|
||||
$result = new object();
|
||||
$result->info = get_string('grade') . ': '. $grade->str_long_grade;
|
||||
$result->time = $grade->dategraded;
|
||||
return $result;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -237,6 +243,7 @@ function scorm_user_outline($course, $user, $mod, $scorm) {
|
||||
*/
|
||||
function scorm_user_complete($course, $user, $mod, $scorm) {
|
||||
global $CFG;
|
||||
require_once("$CFG->libdir/gradelib.php");
|
||||
|
||||
$liststyle = 'structlist';
|
||||
$scormpixdir = $CFG->modpixpath.'/scorm/pix';
|
||||
@@ -246,6 +253,15 @@ function scorm_user_complete($course, $user, $mod, $scorm) {
|
||||
$sometoreport = false;
|
||||
$report = '';
|
||||
|
||||
$grades = grade_get_grades($course->id, 'mod', 'scorm', $scorm->id, $user->id);
|
||||
if (!empty($grades->items[0]->grades)) {
|
||||
$grade = reset($grades->items[0]->grades);
|
||||
echo '<p>'.get_string('grade').': '.$grade->str_long_grade.'</p>';
|
||||
if ($grade->str_feedback) {
|
||||
echo '<p>'.get_string('feedback').': '.$grade->str_feedback.'</p>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($orgs = get_records_select('scorm_scoes',"scorm='$scorm->id' AND organization='' AND launch=''",'id','id,identifier,title')) {
|
||||
if (count($orgs) <= 1) {
|
||||
unset($orgs);
|
||||
@@ -651,4 +667,4 @@ function scorm_is_moddata_trusted() {
|
||||
return true;
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user