MDL-28392 validate capability names
authorPetr Skoda <commits@skodak.org>
Fri, 22 Jul 2011 22:05:25 +0000 (00:05 +0200)
committerPetr Skoda <commits@skodak.org>
Fri, 22 Jul 2011 22:09:08 +0000 (00:09 +0200)
lib/accesslib.php

index f56aecb..44b87ee 100644 (file)
@@ -3395,6 +3395,12 @@ function update_capabilities($component = 'moodle') {
     $storedcaps = array();
 
     $filecaps = load_capability_def($component);
+    foreach($filecaps as $capname=>$unused) {
+        if (!preg_match('|^[a-z]+/[a-z_0-9]+:[a-z_0-9]+$|', $capname)) {
+            debugging("Coding problem: Invalid capability name '$capname', use 'clonepermissionsfrom' field for migration.");
+        }
+    }
+
     $cachedcaps = get_cached_capabilities($component);
     if ($cachedcaps) {
         foreach ($cachedcaps as $cachedcap) {