From 1fc8777426f0e40246c7006f9d36b8b8c2a491a2 Mon Sep 17 00:00:00 2001 From: skodak Date: Tue, 21 Aug 2007 09:20:42 +0000 Subject: [PATCH] MDL-10056 Fixed deleting of assignments when original plugin not present --- mod/assignment/lib.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/mod/assignment/lib.php b/mod/assignment/lib.php index fd24b3db37..efea612c88 100644 --- a/mod/assignment/lib.php +++ b/mod/assignment/lib.php @@ -1799,8 +1799,17 @@ function assignment_delete_instance($id){ return false; } - require_once("$CFG->dirroot/mod/assignment/type/$assignment->assignmenttype/assignment.class.php"); - $assignmentclass = "assignment_$assignment->assignmenttype"; + // fall back to base class if plugin missing + $classfile = "$CFG->dirroot/mod/assignment/type/$assignment->assignmenttype/assignment.class.php"; + if (file_exists($classfile)) { + require_once($classfile); + $assignmentclass = "assignment_$assignment->assignmenttype"; + + } else { + debugging("Missing assignment plug-in: {$assignment->assignmenttype}. Using base class for deleting instead."); + $assignmentclass = "assignment_base"; + } + $ass = new $assignmentclass(); return $ass->delete_instance($assignment); } -- 2.39.5