MDL-28348 prevent circular references in meta handler for enrolments
authorPetr Skoda <commits@skodak.org>
Sun, 17 Jul 2011 18:36:12 +0000 (20:36 +0200)
committerPetr Skoda <commits@skodak.org>
Sun, 17 Jul 2011 18:36:12 +0000 (20:36 +0200)
enrol/meta/locallib.php

index 3b68e7f..0f94dae 100644 (file)
@@ -128,6 +128,11 @@ class enrol_meta_handler {
             return true;
         }
 
             return true;
         }
 
+        if ($ue->enrol === 'meta') {
+            // prevent circular dependencies - we can not sync meta enrolments recursively
+            return true;
+        }
+
         // does anything want to sync with this parent?
         if (!$enrols = $DB->get_records('enrol', array('customint1'=>$ue->courseid, 'enrol'=>'meta'), 'id ASC')) {
             return true;
         // does anything want to sync with this parent?
         if (!$enrols = $DB->get_records('enrol', array('customint1'=>$ue->courseid, 'enrol'=>'meta'), 'id ASC')) {
             return true;