course)) { error("Course module is misconfigured"); } require_login($course->id); if (!isteacher($course->id)) { error("Only teachers can look at this page"); } if (! $journal = get_record("journal", "id", $cm->instance)) { error("Course module is incorrect"); } // make some easy ways to access the entries. if ( $eee = get_records_sql("SELECT * FROM journal_entries WHERE journal='$journal->id'")) { foreach ($eee as $ee) { $entrybystudent[$ee->user] = $ee; $entrybyentry[$ee->id] = $ee; } } else { $entrybystudent = array () ; $entrybyentry = array () ; } print_header("$course->shortname: Journals", "$course->fullname", "id>$course->shortname -> id>Journals -> id>$journal->name -> Responses", "", "", true); if (match_referer() && isset($HTTP_POST_VARS)) { // Feedback submitted $feedback = array(); // Peel out all the data from variable names. foreach ($HTTP_POST_VARS as $key => $val) { if ($key <> "id") { $type = substr($key,0,1); $num = substr($key,1); $feedback[$num][$type] = $val; } } $timenow = time(); $count = 0; foreach ($feedback as $num => $vals) { $entry = $entrybyentry[$num]; // Only update entries where feedback has actually changed. if (($vals[r] <> $entry->rating) || ($vals[c] <> addslashes($entry->comment))) { if (!$rs = $db->Execute("UPDATE journal_entries SET rating='$vals[r]', comment='$vals[c]', teacher='$USER->id', timemarked='$timenow' WHERE id = '$num'")) { error("Failed to update the journal feedback!"); } $entrybystudent[$entry->user]->comment = $vals[c]; $entrybystudent[$entry->user]->rating = $vals[r]; $entrybystudent[$entry->user]->timemarked = $timenow; $entrybystudent[$entry->user]->teacher = $USER->id; $count++; } } add_to_log($course->id, "journal", "update feedback", "report.php?id=$cm->id", "$count students"); notify("Journal feedback updated for $count students."); } else { add_to_log($course->id, "journal", "view responses", "report.php?id=$cm->id", "$journal->id"); } if (! $students = get_records_sql("SELECT u.* FROM user u, user_students s WHERE s.course = '$course->id' AND s.user = u.id ORDER BY u.lastaccess DESC")) { notify("No students", "/course/view.php?id=$course->id"); die; } if (! $teachers = get_records_sql("SELECT u.* FROM user u, user_teachers t WHERE t.course = '$course->id' AND t.user = u.id ORDER BY u.lastaccess DESC")) { notify("No teachers", "/course/view.php?id=$course->id"); die; } echo "
"; print_footer($course); ?>