예제 #1
0
파일: lib.php 프로젝트: nuckey/moodle
    /**
     * Deletes an assignment activity
     *
     * Deletes all database records, files and calendar events for this assignment.
     *
     * @global object
     * @global object
     * @param object $assignment The assignment to be deleted
     * @return boolean False indicates error
     */
    function delete_instance($assignment) {
        global $CFG, $DB;

        $assignment->courseid = $assignment->course;

        $result = true;

        // now get rid of all files
        $fs = get_file_storage();
        if ($cm = get_coursemodule_from_instance('assignment', $assignment->id)) {
            $context = get_context_instance(CONTEXT_MODULE, $cm->id);
            $fs->delete_area_files($context->id);
        }

        if (! $DB->delete_records('assignment_submissions', array('assignment'=>$assignment->id))) {
            $result = false;
        }

        if (! $DB->delete_records('event', array('modulename'=>'assignment', 'instance'=>$assignment->id))) {
            $result = false;
        }

        if (! $DB->delete_records('assignment', array('id'=>$assignment->id))) {
            $result = false;
        }
        $mod = $DB->get_field('modules','id',array('name'=>'assignment'));

        assignment_grade_item_delete($assignment);

        return $result;
    }
예제 #2
0
 /**
  * Deletes an assignment activity
  *
  * Deletes all database records, files and calendar events for this assignment.
  * @param $assignment object The assignment to be deleted
  * @return boolean False indicates error
  */
 function delete_instance($assignment)
 {
     global $CFG;
     $assignment->courseid = $assignment->course;
     $result = true;
     if (!delete_records('assignment_submissions', 'assignment', $assignment->id)) {
         $result = false;
     }
     if (!delete_records('assignment', 'id', $assignment->id)) {
         $result = false;
     }
     if (!delete_records('event', 'modulename', 'assignment', 'instance', $assignment->id)) {
         $result = false;
     }
     // delete file area with all attachments - ignore errors
     require_once $CFG->libdir . '/filelib.php';
     fulldelete($CFG->dataroot . '/' . $assignment->course . '/' . $CFG->moddata . '/assignment/' . $assignment->id);
     assignment_grade_item_delete($assignment);
     return $result;
 }