get_string("journalrating3", "journal"), "2" => get_string("journalrating2", "journal"), "1" => get_string("journalrating1", "journal") ); function journal_user_outline($course, $user, $mod, $journal) { if ($entry = get_record_sql("SELECT * FROM journal_entries WHERE user='$user->id' AND journal='$journal->id'")) { $numwords = count(preg_split("/\w\b/", $entry->text)) - 1; $result->info = get_string("numwords", "", $numwords); $result->time = $entry->modified; return $result; } return NULL; } function journal_user_complete($course, $user, $mod, $journal) { if ($entry = get_record_sql("SELECT * FROM journal_entries WHERE user='$user->id' AND journal='$journal->id'")) { print_simple_box_start(); if ($entry->modified) { echo "
".get_string("lastedited").": ".userdate($entry->modified)."
"; } if ($entry->text) { echo text_to_html($entry->text); } if ($entry->teacher) { journal_print_feedback($course, $entry); } print_simple_box_end(); } else { print_string("noentry", "journal"); } } function journal_cron () { // Function to be run periodically according to the moodle cron // Finds all journal notifications that have yet to be mailed out, and mails them global $CFG; $cutofftime = time() - $CFG->maxeditingtime; if ($entries = get_records_sql("SELECT e.*, j.course, j.name FROM journal_entries e, journal j WHERE e.mailed = '0' AND e.timemarked < '$cutofftime' AND e.timemarked > 0 AND e.journal = j.id")) { $timenow = time(); foreach ($entries as $entry) { echo "Processing journal entry $entry->id\n"; if (! $user = get_record("user", "id", "$entry->user")) { echo "Could not find user $post->user\n"; continue; } if (! $course = get_record("course", "id", "$entry->course")) { echo "Could not find course $entry->course\n"; continue; } if (! isstudent($course->id, $user->id) and !isteacher($course->id, $user->id)) { continue; // Not an active participant } if (! $teacher = get_record("user", "id", "$entry->teacher")) { echo "Could not find teacher $entry->teacher\n"; continue; } if (! $mod = get_coursemodule_from_instance("journal", $entry->journal, $course->id)) { echo "Could not find course module for journal id $entry->journal\n"; continue; } $postsubject = "$course->shortname: Journal feedback: $entry->name"; $posttext = "$course->shortname -> Journals -> $entry->name\n"; $posttext .= "---------------------------------------------------------------------\n"; $posttext .= "$teacher->firstname $teacher->lastname has posted some feedback on your\n"; $posttext .= "journal entry for '$entry->name'\n\n"; $posttext .= "You can see it appended to your journal entry:\n"; $posttext .= " $CFG->wwwroot/mod/journal/view.php?id=$mod->id\n"; $posttext .= "---------------------------------------------------------------------\n"; if ($user->mailformat == 1) { // HTML $posthtml = "". "wwwroot/course/view.php?id=$course->id\">$course->shortname ->". "wwwroot/mod/journal/index.php?id=$course->id\">Journals ->". "wwwroot/mod/journal/view.php?id=$mod->id\">$entry->name
"; $posthtml .= "$teacher->firstname $teacher->lastname has posted some feedback on your"; $posthtml .= " journal entry for '$entry->name'
"; $posthtml .= "You can see it wwwroot/mod/journal/view.php?id=$mod->id\">"; $posthtml .= "appended to your journal entry.
body\" WIDTH=35 VALIGN=TOP>"; print_user_picture($user->id, $course->id, $user->picture); echo " | "; echo "cellheading\">$user->firstname $user->lastname"; if ($entry) { echo " ".get_string("lastedited").": ".userdate($entry->modified).""; } echo " |
cellcontent\">"; if ($entry) { echo text_to_html($entry->text); } else { print_string("noentry", "journal"); } echo " | |
"; if (!$entry->teacher) { $entry->teacher = $USER->id; } print_user_picture($entry->teacher, $course->id, $teachers[$entry->teacher]->picture); echo " | cellheading\">".get_string("feedback").":";
choose_from_menu($ratings, "r$entry->id", $entry->rating, get_string("rate", "journal")."...");
if ($entry->timemarked) {
echo " ".userdate($entry->timemarked)."";
}
echo " "; echo " |
";
echo "\n
|