"Outstanding", "2" => "Satisfactory", "1" => "Not satisfactory"); function journal_user_summary($course, $user, $mod, $journal) { global $CFG; } 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 = "$numwords words"; $result->time = $entry->modified; return $result; } return NULL; } function journal_user_complete($course, $user, $mod, $journal) { global $CFG, $THEME; 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 "

Last edited: ".userdate($entry->modified)."

"; } if ($entry->text) { echo text_to_html($entry->text); } if ($entry->teacher) { $teacher = get_record("user", "id", $entry->teacher); echo "\n
"; echo ""; echo "
"; print_user_picture($entry->teacher, $course->id, $teacher->picture); echo "cellheading\">".$RATING[$entry->rating]; if ($entry->timemarked) { echo "  ".userdate($entry->timemarked).""; } echo "

"; if ($RATING[$entry->rating]) { echo "Overall rating: "; echo $RATING[$entry->rating]; } else { echo "No rating given"; } echo "

"; echo "
"; echo text_to_html($entry->comment); echo "
"; echo "
"; } print_simple_box_end(); } else { echo "No entry"; } } 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; echo "Processing journals...\n"; $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 .= "
"; $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.


"; } else { $posthtml = ""; } if (! email_to_user($user, $teacher, $postsubject, $posttext, $posthtml)) { echo "Error: Journal cron: Could not send out mail for id $entry->id to user $user->id ($user->email)\n"; } if (! set_field("journal_entries", "mailed", "1", "id", "$entry->id")) { echo "Could not update the mailed field for id $entry->id\n"; } } } return true; } ?>