]> git.mjollnir.org Git - moodle.git/commitdiff
Delete some non cros-db boolean uses from queries, delegating them to PHP. MDL-8164
authorstronk7 <stronk7>
Thu, 1 Feb 2007 23:55:05 +0000 (23:55 +0000)
committerstronk7 <stronk7>
Thu, 1 Feb 2007 23:55:05 +0000 (23:55 +0000)
Merged from MOODLE_17_STABLE

mod/assignment/lib.php

index df53f36252fe123b5a2c03dd5d5d4ec313e8dbc5..294e1364d25db0fa2f2aafe56d8ea97a7d7c1ad8 100644 (file)
@@ -835,10 +835,12 @@ class assignment_base {
             $users = get_course_users($course->id);
         }
 
-        $select = 'SELECT u.id, u.id, u.firstname, u.lastname, u.picture,'.
-                  's.id AS submissionid, s.grade, s.submissioncomment, s.timemodified, s.timemarked, ((s.timemarked > 0) AND (s.timemarked >= s.timemodified)) AS status ';
+        $select = 'SELECT u.id, u.id, u.firstname, u.lastname, u.picture,
+                          s.id AS submissionid, s.grade, s.submissioncomment, 
+                          s.timemodified, s.timemarked ';
         $sql = 'FROM '.$CFG->prefix.'user u '.
-               'LEFT JOIN '.$CFG->prefix.'assignment_submissions s ON u.id = s.userid AND s.assignment = '.$this->assignment->id.' '.
+               'LEFT JOIN '.$CFG->prefix.'assignment_submissions s ON u.id = s.userid 
+                                                                  AND s.assignment = '.$this->assignment->id.' '.
                'WHERE u.id IN ('.implode(',', array_keys($users)).') ';
                
         require_once($CFG->libdir.'/tablelib.php');
@@ -850,6 +852,8 @@ class assignment_base {
         $nextid = 0;
         if (($auser = get_records_sql($select.$sql.$sort, $offset+1, 1)) !== false) {
             $nextuser = array_shift($auser);
+        /// Calculate user status
+            $nextuser->status = ($nextuser->timemarked > 0) && ($nextuser->timemarked >= $nextuser->timemodified);
             $nextid = $nextuser->id;
         }
 
@@ -1098,9 +1102,12 @@ class assignment_base {
             $sort = ' ORDER BY '.$sort;
         }
 
-        $select = 'SELECT u.id, u.id, u.firstname, u.lastname, u.picture, s.id AS submissionid, s.grade, s.submissioncomment, s.timemodified, s.timemarked, ((s.timemarked > 0) AND (s.timemarked >= s.timemodified)) AS status ';
+        $select = 'SELECT u.id, u.id, u.firstname, u.lastname, u.picture, 
+                          s.id AS submissionid, s.grade, s.submissioncomment, 
+                          s.timemodified, s.timemarked ';
         $sql = 'FROM '.$CFG->prefix.'user u '.
-               'LEFT JOIN '.$CFG->prefix.'assignment_submissions s ON u.id = s.userid AND s.assignment = '.$this->assignment->id.' '.
+               'LEFT JOIN '.$CFG->prefix.'assignment_submissions s ON u.id = s.userid 
+                                                                  AND s.assignment = '.$this->assignment->id.' '.
                'WHERE '.$where.'u.id IN ('.implode(',', array_keys($users)).') ';
     
         $table->pagesize($perpage, count($users));
@@ -1115,6 +1122,8 @@ class assignment_base {
         if (($ausers = get_records_sql($select.$sql.$sort, $table->get_page_start(), $table->get_page_size())) !== false) {
             
             foreach ($ausers as $auser) {
+            /// Calculate user status
+                $auser->status = ($auser->timemarked > 0) && ($auser->timemarked >= $auser->timemodified);
                 $picture = print_user_picture($auser->id, $course->id, $auser->picture, false, true);
                 
                 if (empty($auser->submissionid)) {
@@ -1173,8 +1182,10 @@ class assignment_base {
                     }
                 }
 
-                if ($auser->status === NULL) {
+                if (empty($auser->status)) { /// Confirm we have exclusively 0 or 1
                     $auser->status = 0;
+                } else {
+                    $auser->status = 1;
                 }
 
                 $buttontext = ($auser->status == 1) ? $strupdate : $strgrade;