예제 #1
0
 /**
  * Deletes a program assignment activity
  *
  * Deletes all database records, files and calendar events for this assignment.
  * 
  * @param object $assignment The assignment to be deleted
  * @return boolean False indicates error
  */
 function delete_instance($assignment)
 {
     global $CFG;
     // DELETE submissions results
     $submissions = get_records('assignment_submissions', 'assignment', $assignment->id);
     foreach ($submissions as $submission) {
         if (!delete_records('assignment_oj_results', 'submission', $submission->id)) {
             return false;
         }
         if (!delete_records('assignment_oj_submissions', 'submission', $submission->id)) {
             return false;
         }
     }
     // DELETE tests
     if (!delete_records('assignment_oj_tests', 'assignment', $assignment->id)) {
         return false;
     }
     // DELETE programming language
     if (!delete_records('assignment_oj', 'assignment', $assignment->id)) {
         return false;
     }
     $result = parent::delete_instance($assignment);
     return $result;
 }