diff --git a/lib/adminlib.php b/lib/adminlib.php index 39127fa..a373a2b 100644 --- a/lib/adminlib.php +++ b/lib/adminlib.php @@ -1567,7 +1567,7 @@ abstract class admin_setting { */ private function parse_setting_name($name) { $bits = explode('/', $name); - if (count($bits) > 2) { + if (count($bits) > 3) { throw new moodle_exception('invalidadminsettingname', '', '', $name); } $this->name = array_pop($bits); @@ -1582,6 +1582,9 @@ abstract class admin_setting { throw new moodle_exception('invalidadminsettingname', '', '', $name); } } + if(!empty($bits)){ //there's a system attached ot this one + $this->plugin = array_pop($bits) . "/" . $this->plugin; + } } /**