MDL-45721 core_backup: only trigger the course_restored event when restoring a course
authorMark Nelson <markn@moodle.com>
Mon, 9 Jun 2014 04:49:53 +0000 (21:49 -0700)
committerMark Nelson <markn@moodle.com>
Wed, 18 Jun 2014 02:43:48 +0000 (19:43 -0700)
backup/util/plan/restore_plan.class.php

index 6f5b5b5..acfb7b3 100644 (file)
@@ -167,18 +167,21 @@ class restore_plan extends base_plan implements loggable {
         parent::execute();
         $this->controller->set_status(backup::STATUS_FINISHED_OK);
 
-        // Trigger a course restored event.
-        $event = \core\event\course_restored::create(array(
-            'objectid' => $this->get_courseid(),
-            'userid' => $this->get_userid(),
-            'context' => context_course::instance($this->get_courseid()),
-            'other' => array('type' => $this->controller->get_type(),
-                             'target' => $this->controller->get_target(),
-                             'mode' => $this->controller->get_mode(),
-                             'operation' => $this->controller->get_operation(),
-                             'samesite' => $this->controller->is_samesite())
-        ));
-        $event->trigger();
+        // Check if we are restoring a course.
+        if ($this->controller->get_type() === backup::TYPE_1COURSE) {
+            // Trigger a course restored event.
+            $event = \core\event\course_restored::create(array(
+                'objectid' => $this->get_courseid(),
+                'userid' => $this->get_userid(),
+                'context' => context_course::instance($this->get_courseid()),
+                'other' => array('type' => $this->controller->get_type(),
+                                 'target' => $this->controller->get_target(),
+                                 'mode' => $this->controller->get_mode(),
+                                 'operation' => $this->controller->get_operation(),
+                                 'samesite' => $this->controller->is_samesite())
+            ));
+            $event->trigger();
+        }
     }
 
     /**