Fix: Modules permissions cleared on every rebuild
authorKevin Levie <kevin@levity.nl>
Sun, 19 Jul 2015 07:05:53 +0000 (09:05 +0200)
committerKevin Levie <kevin@levity.nl>
Sun, 19 Jul 2015 07:07:50 +0000 (09:07 +0200)
CRM/Core/Permission.php

index 2159844e126996ca7b60cf8e0d401f76285861e8..ee295b83e6844548fe0f7b687f61f88ccc7ae791 100644 (file)
@@ -600,16 +600,19 @@ class CRM_Core_Permission {
       $perm = $comp->getPermissions(FALSE, $descriptions);
       if ($perm) {
         $info = $comp->getInfo();
-        if ($descriptions) {
-          foreach ($perm as $p => $attr) {
-            $title = $info['translatedName'] . ': ' . array_shift($attr);
-            array_unshift($attr, $title);
+        foreach ($perm as $p => $attr) {
+
+          if (!is_array($attr)) {
+            $attr = array($attr);
+          }
+
+          $attr[0] = $info['translatedName'] . ': ' . $attr[0];
+
+          if ($descriptions) {
             $permissions[$p] = $attr;
           }
-        }
-        else {
-          foreach ($perm as $p) {
-            $permissions[$p] = $info['translatedName'] . ': ' . $p;
+          else {
+            $permissions[$p] = $attr[0];
           }
         }
       }