]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-15103 towards assignment dml conversion
authorskodak <skodak>
Thu, 5 Jun 2008 13:12:00 +0000 (13:12 +0000)
committerskodak <skodak>
Thu, 5 Jun 2008 13:12:00 +0000 (13:12 +0000)
mod/assignment/lib.php
mod/assignment/type/offline/assignment.class.php
mod/assignment/type/online/assignment.class.php
mod/assignment/type/online/file.php
mod/assignment/type/upload/assignment.class.php
mod/assignment/type/upload/notes.php
mod/assignment/type/uploadsingle/assignment.class.php

index 53f09a6f35df88f8c2db69349d3594a02e605973..a24a57fc9875cd32d8891986fb1a2f16da665985 100644 (file)
@@ -738,6 +738,7 @@ class assignment_base {
      * @return string User-friendly representation of grade
      */
     function display_grade($grade) {
+        global $DB;
 
         static $scalegrades = array();   // Cache scales for each assignment - they might have different scales!!
 
@@ -750,7 +751,7 @@ class assignment_base {
 
         } else {                                // Scale
             if (empty($scalegrades[$this->assignment->id])) {
-                if ($scale = get_record('scale', 'id', -($this->assignment->grade))) {
+                if ($scale = $DB->get_record('scale', array('id'=>-($this->assignment->grade)))) {
                     $scalegrades[$this->assignment->id] = make_menu_from_list($scale->scale);
                 } else {
                     return '-';
@@ -1886,7 +1887,7 @@ class assignment_base {
         global $CFG, $DB;
         require_once($CFG->libdir.'/filelib.php');
 
-        if (!count_records('assignment', 'course', $data->courseid, 'assignmenttype', $this->type)) {
+        if (!$DB->count_records('assignment', array('course'=>$data->courseid, 'assignmenttype'=>$this->type))) {
             return array(); // no assignments of this type present
         }
 
@@ -2390,17 +2391,17 @@ function assignment_print_recent_activity($course, $viewfullnames, $timestart) {
 
     // do not use log table if possible, it may be huge
 
-    if (!$submissions = get_records_sql("SELECT asb.id, asb.timemodified, cm.id AS cmid, asb.userid,
-                                                u.firstname, u.lastname, u.email, u.picture
-                                           FROM {assignment_submissions} asb
-                                                JOIN {assignment} a      ON a.id = asb.assignment
-                                                JOIN {course_modules} cm ON cm.instance = a.id
-                                                JOIN {modules} md        ON md.id = cm.module
-                                                JOIN {user} u            ON u.id = asb.userid
-                                          WHERE asb.timemodified > ? AND
-                                                a.course = ? AND
-                                                md.name = 'assignment'
-                                       ORDER BY asb.timemodified ASC", array($timestart, $course->id))) {
+    if (!$submissions = $DB->get_records_sql("SELECT asb.id, asb.timemodified, cm.id AS cmid, asb.userid,
+                                                     u.firstname, u.lastname, u.email, u.picture
+                                                FROM {assignment_submissions} asb
+                                                     JOIN {assignment} a      ON a.id = asb.assignment
+                                                     JOIN {course_modules} cm ON cm.instance = a.id
+                                                     JOIN {modules} md        ON md.id = cm.module
+                                                     JOIN {user} u            ON u.id = asb.userid
+                                               WHERE asb.timemodified > ? AND
+                                                     a.course = ? AND
+                                                     md.name = 'assignment'
+                                            ORDER BY asb.timemodified ASC", array($timestart, $course->id))) {
          return false;
     }
 
@@ -2688,7 +2689,7 @@ function assignment_get_unmailed_submissions($starttime, $endtime) {
  * @return int The number of submissions
  */
 function assignment_count_real_submissions($cm, $groupid=0) {
-    global $CFG;
+    global $CFG, $DB;
 
     $context = get_context_instance(CONTEXT_MODULE, $cm->id);
 
@@ -2710,11 +2711,11 @@ function assignment_count_real_submissions($cm, $groupid=0) {
 
     $userlists = implode(',', $users);
 
-    return count_records_sql("SELECT COUNT('x')
-                                FROM {$CFG->prefix}assignment_submissions
-                               WHERE assignment = $cm->instance AND
-                                     timemodified > 0 AND
-                                     userid IN ($userlists)");
+    return $DB->count_records_sql("SELECT COUNT('x')
+                                     FROM {assignment_submissions}
+                                    WHERE assignment = ? AND
+                                          timemodified > 0 AND
+                                          userid IN ($userlists)", array($cm->instance));
 }
 
 
@@ -2729,7 +2730,7 @@ function assignment_count_real_submissions($cm, $groupid=0) {
  */
 function assignment_get_all_submissions($assignment, $sort="", $dir="DESC") {
 /// Return all assignment submissions by ENROLLED students (even empty)
-    global $CFG;
+    global $CFG, $DB;
 
     if ($sort == "lastname" or $sort == "firstname") {
         $sort = "u.$sort $dir";
@@ -2745,12 +2746,11 @@ function assignment_get_all_submissions($assignment, $sort="", $dir="DESC") {
         $select = '';
     }*/
 
-    return get_records_sql("SELECT a.*
-                              FROM {$CFG->prefix}assignment_submissions a,
-                                   {$CFG->prefix}user u
-                             WHERE u.id = a.userid
-                               AND a.assignment = '$assignment->id'
-                          ORDER BY $sort");
+    return $DB->get_records_sql("SELECT a.*
+                                   FROM {assignment_submissions} a, {user} u
+                                  WHERE u.id = a.userid
+                                        AND a.assignment = ?
+                               ORDER BY $sort", array($assignment->id));
 
 }
 
@@ -2766,9 +2766,9 @@ function assignment_get_all_submissions($assignment, $sort="", $dir="DESC") {
  *
  */
 function assignment_get_coursemodule_info($coursemodule) {
-    global $CFG;
+    global $CFG, $DB;
 
-    if (! $assignment = get_record('assignment', 'id', $coursemodule->instance, '', '', '', '', 'id, assignmenttype, name')) {
+    if (! $assignment = $DB->get_record('assignment', array('id'=>$coursemodule->instance), 'id, assignmenttype, name')) {
         return false;
     }
 
@@ -2815,7 +2815,6 @@ function assignment_types() {
  * Executes upgrade scripts for assignment types when necessary
  */
 function assignment_upgrade_submodules() {
-
     global $CFG;
 
 /// Install/upgrade assignment types (it uses, simply, the standard plugin architecture)
@@ -2824,8 +2823,7 @@ function assignment_upgrade_submodules() {
 }
 
 function assignment_print_overview($courses, &$htmlarray) {
-
-    global $USER, $CFG;
+    global $USER, $CFG, $DB;
 
     if (empty($courses) || !is_array($courses) || count($courses) == 0) {
         return array();
@@ -2877,11 +2875,12 @@ function assignment_print_overview($courses, &$htmlarray) {
             $submissions = 0; // init
             if ($students = get_users_by_capability($context, 'mod/assignment:submit', '', '', '', '', 0, '', false)) {
                  foreach ($students as $student) {
-                    if (record_exists_sql("SELECT id FROM {$CFG->prefix}assignment_submissions
-                                           WHERE assignment = $assignment->id AND
-                                               userid = $student->id AND
-                                               teacher = 0 AND
-                                               timemarked = 0")) {
+                    if ($DB->record_exists_sql("SELECT id
+                                                  FROM {assignment_submissions}
+                                                 WHERE assignment = ? AND
+                                                       userid = ? AND
+                                                       teacher = 0 AND
+                                                       timemarked = 0", array($assignment->id, $student->id))) {
                         $submissions++;
                     }
                 }
@@ -2892,10 +2891,11 @@ function assignment_print_overview($courses, &$htmlarray) {
             }
         } else {
             $sql = "SELECT *
-                      FROM {$CFG->prefix}assignment_submissions
-                     WHERE userid = '$USER->id'
-                       AND assignment = '{$assignment->id}'";
-            if ($submission = get_record_sql($sql)) {
+                      FROM {assignment_submissions}
+                     WHERE userid = ?
+                       AND assignment = ?";
+            $params = array($USER->id, $assignment->id);
+            if ($submission = $DB->get_record_sql($sql, $params)) {
                 if ($submission->teacher == 0 && $submission->timemarked == 0) {
                     $str .= $strsubmitted . ', ' . $strnotgradedyet;
                 } else if ($submission->grade <= 0) {
@@ -2987,15 +2987,19 @@ function assignment_get_types() {
  * @param string optional type
  */
 function assignment_reset_gradebook($courseid, $type='') {
-    global $CFG;
+    global $CFG, $DB;
 
-    $type = $type ? "AND a.assignmenttype='$type'" : '';
+    $params = array('courseid'=>$courseid);
+    if ($type) {
+        $type = "AND a.assignmenttype= :type";
+        $params['type'] = $type;
+    }
 
     $sql = "SELECT a.*, cm.idnumber as cmidnumber, a.course as courseid
-              FROM {$CFG->prefix}assignment a, {$CFG->prefix}course_modules cm, {$CFG->prefix}modules m
-             WHERE m.name='assignment' AND m.id=cm.module AND cm.instance=a.id AND a.course=$courseid $type";
+              FROM {assignment} a, {course_modules} cm, {modules} m
+             WHERE m.name='assignment' AND m.id=cm.module AND cm.instance=a.id AND a.course=:courseid $type";
 
-    if ($assignments = get_records_sql($sql)) {
+    if ($assignments = $DB->get_records_sql($sql, $params)) {
         foreach ($assignments as $assignment) {
             assignment_grade_item_update($assignment, 'reset');
         }
index 49c32a730d98e8f18d97ffa28f15224733277771..aeaf3e9b1d2929f2acd566195679ed03b0f44cab 100644 (file)
@@ -38,7 +38,7 @@ class assignment_offline extends assignment_base {
 
     // needed for the timemodified override
     function process_feedback() {
-        global $CFG, $USER;
+        global $CFG, $USER, $DB;
         require_once($CFG->libdir.'/gradelib.php');
 
         if (!$feedback = data_submitted()) {      // No incoming data?
@@ -85,7 +85,7 @@ class assignment_offline extends assignment_base {
                 $submission->timemodified = time();
             }
 
-            if (! update_record('assignment_submissions', $submission)) {
+            if (! $DB->update_record('assignment_submissions', $submission)) {
                 return false;
             }
 
index 6029b48f3a9cdf798ae44d65ed80f74471aa92ab..f047d860b404416a2600f2acc633da7ad2992b8f 100644 (file)
@@ -159,7 +159,7 @@ class assignment_online extends assignment_base {
     }
 
     function update_submission($data) {
-        global $CFG, $USER;
+        global $CFG, $USER, $DB;
 
         $submission = $this->get_submission($USER->id, true);
 
@@ -169,7 +169,7 @@ class assignment_online extends assignment_base {
         $update->data2        = $data->format;
         $update->timemodified = time();
 
-        if (!update_record('assignment_submissions', $update)) {
+        if (!$DB->update_record('assignment_submissions', $update)) {
             return false;
         }
 
index 85018ec47cc8f2d9e3e0452afec55059e1255b4d..2f84e052d82b8b07048faa49ba0b25dc23f911b9 100644 (file)
         print_error('invalidcoursemodule');
     }
 
-    if (! $assignment = get_record("assignment", "id", $cm->instance)) {
+    if (! $assignment = $DB->get_record("assignment", array("id"=>$cm->instance))) {
         print_error('invalidid', 'assignment');
     }
 
-    if (! $course = get_record("course", "id", $assignment->course)) {
+    if (! $course = $DB->get_record("course", array("id"=>$assignment->course))) {
         print_error('coursemisconf', 'assignment');
     }
 
-    if (! $user = get_record("user", "id", $userid)) {
+    if (! $user = $DB->get_record("user", array("id"=>$userid))) {
         print_error('usermisconf', 'assignment');
     }
 
index 551b5bb76145ecef664e54fa382d8ba7b0de1c16..0197090e2c7c992fa81243a0eb6018b5e0dd860d 100644 (file)
@@ -72,7 +72,7 @@ class assignment_upload extends assignment_base {
 
 
     function view_feedback($submission=NULL) {
-        global $USER, $CFG;
+        global $USER, $CFG, $DB;
         require_once($CFG->libdir.'/gradelib.php');
 
         if (!$submission) { /// Get submission for this assignment
@@ -104,7 +104,7 @@ class assignment_upload extends assignment_base {
         $graded_by   = $grade->usermodified;
 
     /// We need the teacher info
-        if (!$teacher = get_record('user', 'id', $graded_by)) {
+        if (!$teacher = $DB->get_record('user', array('id'=>$graded_by))) {
             print_error('cannotfindteacher');
         }
 
@@ -502,14 +502,14 @@ class assignment_upload extends assignment_base {
             die;
         }
 
-        if ($data = $mform->get_data() and $action == 'savenotes') {
+        if ($data = $mform->get_data(false) and $action == 'savenotes') {
             $submission = $this->get_submission($USER->id, true); // get or create submission
             $updated = new object();
             $updated->id           = $submission->id;
             $updated->timemodified = time();
             $updated->data1        = $data->text;
 
-            if (update_record('assignment_submissions', $updated)) {
+            if ($DB->update_record('assignment_submissions', $updated)) {
                 add_to_log($this->course->id, 'assignment', 'upload', 'view.php?a='.$this->assignment->id, $this->assignment->id, $this->cm->id);
                 redirect($returnurl);
                 $submission = $this->get_submission($USER->id);
@@ -564,7 +564,7 @@ class assignment_upload extends assignment_base {
     }
 
     function upload_file() {
-        global $CFG, $USER;
+        global $CFG, $USER, $DB;
 
         $mode   = optional_param('mode', '', PARAM_ALPHA);
         $offset = optional_param('offset', 0, PARAM_INT);
@@ -594,7 +594,7 @@ class assignment_upload extends assignment_base {
             $updated->id           = $submission->id;
             $updated->timemodified = time();
 
-            if (update_record('assignment_submissions', $updated)) {
+            if ($DB->update_record('assignment_submissions', $updated)) {
                 add_to_log($this->course->id, 'assignment', 'upload',
                         'view.php?a='.$this->assignment->id, $this->assignment->id, $this->cm->id);
                 $submission = $this->get_submission($USER->id);
@@ -621,7 +621,7 @@ class assignment_upload extends assignment_base {
     }
 
     function finalize() {
-        global $USER;
+        global $USER, $DB;
 
         $confirm    = optional_param('confirm', 0, PARAM_BOOL);
         $returnurl  = 'view.php?id='.$this->cm->id;
@@ -646,7 +646,7 @@ class assignment_upload extends assignment_base {
         $updated->data2        = ASSIGNMENT_STATUS_SUBMITTED;
         $updated->timemodified = time();
 
-        if (update_record('assignment_submissions', $updated)) {
+        if ($DB->update_record('assignment_submissions', $updated)) {
             add_to_log($this->course->id, 'assignment', 'upload', //TODO: add finalize action to log
                     'view.php?a='.$this->assignment->id, $this->assignment->id, $this->cm->id);
             $submission = $this->get_submission($USER->id);
@@ -663,6 +663,8 @@ class assignment_upload extends assignment_base {
     }
 
     function finalizeclose() {
+        global $DB;
+
         $userid    = optional_param('userid', 0, PARAM_INT);
         $mode      = required_param('mode', PARAM_ALPHA);
         $offset    = required_param('offset', PARAM_INT);
@@ -679,7 +681,7 @@ class assignment_upload extends assignment_base {
         $updated->id    = $submission->id;
         $updated->data2 = ASSIGNMENT_STATUS_CLOSED;
 
-        if (update_record('assignment_submissions', $updated)) {
+        if ($DB->update_record('assignment_submissions', $updated)) {
             add_to_log($this->course->id, 'assignment', 'upload', //TODO: add finalize action to log
                     'view.php?a='.$this->assignment->id, $this->assignment->id, $this->cm->id);
             $submission = $this->get_submission($userid, false, true);
@@ -689,6 +691,7 @@ class assignment_upload extends assignment_base {
     }
 
     function unfinalize() {
+        global $DB;
 
         $userid = required_param('userid', PARAM_INT);
         $mode   = required_param('mode', PARAM_ALPHA);
@@ -696,14 +699,14 @@ class assignment_upload extends assignment_base {
 
         $returnurl = "submissions.php?id={$this->cm->id}&amp;userid=$userid&amp;mode=$mode&amp;offset=$offset&amp;forcerefresh=1";
 
-        if (data_submitted('nomatch')
+        if (data_submitted()
           and $submission = $this->get_submission($userid)
           and $this->can_unfinalize($submission)) {
 
             $updated = new object();
             $updated->id = $submission->id;
             $updated->data2 = '';
-            if (update_record('assignment_submissions', $updated)) {
+            if ($DB->update_record('assignment_submissions', $updated)) {
                 //TODO: add unfinalize action to log
                 add_to_log($this->course->id, 'assignment', 'view submission', 'submissions.php?id='.$this->assignment->id, $this->assignment->id, $this->cm->id);
                 $submission = $this->get_submission($userid);
@@ -752,7 +755,7 @@ class assignment_upload extends assignment_base {
         $urlreturn = 'submissions.php';
         $optionsreturn = array('id'=>$this->cm->id, 'offset'=>$offset, 'mode'=>$mode, 'userid'=>$userid);
 
-        if (!data_submitted('nomatch') or !$confirm) {
+        if (!data_submitted() or !$confirm) {
             $optionsyes = array ('id'=>$this->cm->id, 'file'=>$file, 'userid'=>$userid, 'confirm'=>1, 'action'=>'response', 'mode'=>$mode, 'offset'=>$offset);
             print_header(get_string('delete'));
             print_heading(get_string('delete'));
@@ -780,7 +783,7 @@ class assignment_upload extends assignment_base {
 
 
     function delete_file() {
-        global $CFG;
+        global $CFG, $DB;
 
         $file     = required_param('file', PARAM_FILE);
         $userid   = required_param('userid', PARAM_INT);
@@ -810,7 +813,7 @@ class assignment_upload extends assignment_base {
         }
         $dir = $this->file_area_name($userid);
 
-        if (!data_submitted('nomatch') or !$confirm) {
+        if (!data_submitted() or !$confirm) {
             $optionsyes = array ('id'=>$this->cm->id, 'file'=>$file, 'userid'=>$userid, 'confirm'=>1, 'sesskey'=>sesskey(), 'mode'=>$mode, 'offset'=>$offset);
             if (empty($mode)) {
                 $this->view_header(get_string('delete'));
@@ -833,7 +836,7 @@ class assignment_upload extends assignment_base {
                 $updated = new object();
                 $updated->id = $submission->id;
                 $updated->timemodified = time();
-                if (update_record('assignment_submissions', $updated)) {
+                if ($DB->update_record('assignment_submissions', $updated)) {
                     add_to_log($this->course->id, 'assignment', 'upload', //TODO: add delete action to log
                             'view.php?a='.$this->assignment->id, $this->assignment->id, $this->cm->id);
                     $submission = $this->get_submission($userid);
index 0ac6afec855d9018edf64701d87eab943d4f116d..2817a3eaa9809bf6b4aa5efd09c3f924d461f37f 100644 (file)
         print_error('invalidcoursemodule');
     }
 
-    if (! $assignment = get_record('assignment', 'id', $cm->instance)) {
+    if (! $assignment = $DB->get_record('assignment', array('id'=>$cm->instance))) {
         print_error('invalidid', 'assignment');
     }
 
-    if (! $course = get_record('course', 'id', $assignment->course)) {
+    if (! $course = $DB->get_record('course', array('id'=>$assignment->course))) {
         print_error('coursemisconf', 'assignment');
     }
 
-    if (! $user = get_record('user', 'id', $userid)) {
+    if (! $user = $DB->get_record('user', array('id'=>$userid))) {
         print_error("invaliduserid");
     }
 
index cf71718524486c1df8c78304993197298352e6bf..12c13e4aa6b232418ef3d74646b4588173e0c534 100644 (file)
@@ -96,8 +96,7 @@ class assignment_uploadsingle extends assignment_base {
 
 
     function upload() {
-
-        global $CFG, $USER;
+        global $CFG, $USER, $DB;
 
         require_capability('mod/assignment:submit', get_context_instance(CONTEXT_MODULE, $this->cm->id));
 
@@ -122,10 +121,10 @@ class assignment_uploadsingle extends assignment_base {
                 if ($submission) {
                     $submission->timemodified = time();
                     $submission->numfiles     = 1;
-                    $submission->submissioncomment = addslashes($submission->submissioncomment);
+                    $submission->submissioncomment = $submission->submissioncomment;
                     unset($submission->data1);  // Don't need to update this.
                     unset($submission->data2);  // Don't need to update this.
-                    if (update_record("assignment_submissions", $submission)) {
+                    if ($DB->update_record("assignment_submissions", $submission)) {
                         add_to_log($this->course->id, 'assignment', 'upload',
                                 'view.php?a='.$this->assignment->id, $this->assignment->id, $this->cm->id);
                         $submission = $this->get_submission($USER->id);
@@ -139,7 +138,7 @@ class assignment_uploadsingle extends assignment_base {
                     $newsubmission = $this->prepare_new_submission($USER->id);
                     $newsubmission->timemodified = time();
                     $newsubmission->numfiles = 1;
-                    if (insert_record('assignment_submissions', $newsubmission)) {
+                    if ($DB->insert_record('assignment_submissions', $newsubmission)) {
                         add_to_log($this->course->id, 'assignment', 'upload',
                                 'view.php?a='.$this->assignment->id, $this->assignment->id, $this->cm->id);
                         $submission = $this->get_submission($USER->id);