MDL-60352 calendar: Do not select original event for collection
authorAndrew Nicols <andrew@nicols.co.uk>
Thu, 5 Oct 2017 06:31:26 +0000 (14:31 +0800)
committerAndrew Nicols <andrew@nicols.co.uk>
Thu, 5 Oct 2017 06:42:11 +0000 (14:42 +0800)
calendar/classes/local/event/entities/repeat_event_collection.php

index 4289cb3..57f5e82 100644 (file)
@@ -122,12 +122,16 @@ class repeat_event_collection implements event_collection_interface {
      * @param int $start Start offset.
      * @return \stdClass[]
      */
-    protected function load_event_records($start = 1) {
+    protected function load_event_records($start = 0) {
         global $DB;
-        while ($records = $DB->get_records(
+        while ($records = $DB->get_records_select(
             'event',
-            ['repeatid' => $this->parentid],
-            '',
+            'id <> :parentid AND repeatid = :repeatid',
+            [
+                'parentid' => $this->parentid,
+                'repeatid' => $this->parentid,
+            ],
+            'id ASC',
             '*',
             $start,
             self::DB_QUERY_LIMIT