]> git.mjollnir.org Git - moodle.git/commitdiff
Journal Module fixes fro 1.7 MDL-7159; merged from MOODLE_17_STABLE
authorskodak <skodak>
Mon, 30 Oct 2006 11:16:27 +0000 (11:16 +0000)
committerskodak <skodak>
Mon, 30 Oct 2006 11:16:27 +0000 (11:16 +0000)
mod/journal/lib.php
mod/journal/view.php

index 6dca25a0205278c6afc33fdbda6d803a7682a88a..f335bb7ad39ccd3057cb047236b604fadb7e0aec 100644 (file)
@@ -312,41 +312,24 @@ function journal_scale_used ($journalid,$scaleid) {
 function journal_get_users_done($journal) {
     global $CFG;
 
-    // make sure it works on the site course
-    $select = "s.course = '$journal->course' AND";
-    if ($journal->course == SITEID) {
-        $select = '';
-    }
-
-    $studentjournals = get_records_sql ("SELECT u.*
-                                  FROM {$CFG->prefix}journal_entries j,
-                                       {$CFG->prefix}user u, 
-                                       {$CFG->prefix}user_students s
-                                 WHERE j.userid = u.id
-                                   AND s.userid = u.id 
-                                   AND $select j.journal = $journal->id
-                              ORDER BY j.modified DESC");
-
-    $teacherjournals = get_records_sql ("SELECT u.*
+    $journals = get_records_sql ("SELECT u.*
                                   FROM {$CFG->prefix}journal_entries j,
-                                       {$CFG->prefix}user u, 
-                                       {$CFG->prefix}user_teachers t
+                                       {$CFG->prefix}user u 
                                  WHERE j.userid = u.id
-                                   AND t.userid = u.id 
                                    AND j.journal = $journal->id
-                                   AND t.course = $journal->course
                               ORDER BY j.modified DESC");
 
-    if ($studentjournals and !$teacherjournals) {
-        return $studentjournals;
-    }
-    if ($teacherjournals and !$studentjournals) {
-        return $teacherjournals;
+    if (empty($journals)) {
+        return NULL;
     }
-    if (!$teacherjournals and !$studentjournals) {
-        return array();
+
+    // remove unenrolled participants
+    foreach ($journals as $key=>$user) {
+        if (!isteacher($journal->course, $user->id) and !isstudent($journal->course, $user->id)) {
+            unset($journals[$key]);
+        } 
     }
-    return(array_merge($studentjournals, $teacherjournals));
+    return $journals;
 }
 
 function journal_count_entries($journal, $groupid=0) {
@@ -364,29 +347,24 @@ function journal_count_entries($journal, $groupid=0) {
 
     } else { /// Count all the entries from the whole course
     
-        // make sure it works on the site course
-        $select = "s.course = '$journal->course' AND";
-        if ($journal->course == SITEID) {
-            $select = '';
+        $journals = get_records_sql ("SELECT u.*
+                                      FROM {$CFG->prefix}journal_entries j,
+                                           {$CFG->prefix}user u 
+                                     WHERE j.userid = u.id
+                                       AND j.journal = $journal->id
+                                  ORDER BY j.modified DESC");
+
+        if (empty($journals)) {
+            return 0;
         }
 
-        $studentjournals = count_records_sql("SELECT COUNT(*)
-                                                 FROM {$CFG->prefix}journal_entries j,
-                                                      {$CFG->prefix}user u, 
-                                                      {$CFG->prefix}user_students s
-                                                WHERE j.userid = u.id
-                                                  AND s.userid = u.id 
-                                                  AND $select j.journal = $journal->id");
-
-        $teacherjournals = count_records_sql("SELECT COUNT(*)
-                                                 FROM {$CFG->prefix}journal_entries j,
-                                                      {$CFG->prefix}user u, 
-                                                      {$CFG->prefix}user_teachers t
-                                                WHERE j.userid = u.id
-                                                  AND t.userid = u.id 
-                                                  AND j.journal = $journal->id
-                                                  AND t.course = $journal->course ");
-        return ($studentjournals + $teacherjournals);
+        // remove unenrolled participants
+        foreach ($journals as $key=>$user) {
+            if (!isteacher($journal->course, $user->id) and !isstudent($journal->course, $user->id)) {
+                unset($journals[$key]);
+            } 
+        }
+        return count($journals);
     }
 }
 
index aafb523c6fd3348d68a7ce86da64709371c9f795..d273c0407c799b3de8310e20890ded35a943fde7 100644 (file)
         print_simple_box_end();
 
         if ($timenow < $timefinish) {
-            if ($entry->modified) {
+            if (!empty($entry->modified)) {
                 echo '<div class="lastedit"><strong>'.get_string('lastedited').':</strong> ';
                 echo userdate($entry->modified);
                 echo ' ('.get_string('numwords', '', count_words($entry->text)).')';
                 echo "</div>";
             }
-            if ($journal->days) {
+            if (!empty($journal->days)) {
                 echo '<div class="editend"><strong>'.get_string('editingends', 'journal').':</strong> ';
                 echo userdate($timefinish).'</div>';
             }
             echo userdate($timefinish).'</div>';
         }
 
-        if ($entry->entrycomment or $entry->rating) {
+        if (!empty($entry->entrycomment) or !empty($entry->rating)) {
             $grades = make_grades_menu($journal->assessed);
             print_heading(get_string('feedback'));
             journal_print_feedback($course, $entry, $grades);