CRM-11925 - Allow permission-enumeration on all platforms. (This facilitates error...
authorTim Otten <totten@civicrm.org>
Thu, 7 Mar 2013 10:12:05 +0000 (05:12 -0500)
committerTim Otten <totten@civicrm.org>
Fri, 8 Mar 2013 01:16:26 +0000 (20:16 -0500)
CRM/Core/Permission/Base.php
CRM/Core/Permission/Drupal.php

index 68bef77ce99e2f36d5295528086535efb13c0a24..8293a5b7e551a589f79a002eba41db87988c7d29 100644 (file)
@@ -188,10 +188,20 @@ class CRM_Core_Permission_Base {
    * Get the permissions defined in the hook_civicrm_permission implementation
    * of the given module.
    *
+   * Note: At time of writing, this is only used with native extension-modules, so
+   * there's one, predictable calling convention (regardless of CMS).
+   *
    * @return Array of permissions, in the same format as CRM_Core_Permission::getCorePermissions().
    */
   static function getModulePermissions($module) {
-    return array();
+    $return_permissions = array();
+    $fn_name = "{$module}_civicrm_permission";
+    if (function_exists($fn_name)) {
+      $module_permissions = array();
+      $fn_name($module_permissions);
+      $return_permissions = $module_permissions;
+    }
+    return $return_permissions;
   }
 
   /**
index 19750a8e1cb27171a22e0ee325fcbbb4d2328e96..10e0aa1c4eb77b4d02cc681403319169f996fd86 100644 (file)
@@ -122,24 +122,12 @@ class CRM_Core_Permission_Drupal extends CRM_Core_Permission_DrupalBase{
   }
 
   /**
-   * Get the permissions defined in the hook_civicrm_permission implementation
-   * of the given module. Permission keys are prepended with the module name
-   * to facilitate cleanup of permissions later, and may be hashed to provide
-   * a unique value that fits storage limitations within Drupal 7.
-   * 
+   * Permission keys are prepended with the module name to facilitate cleanup
+   * of permissions later, and may be hashed to provide a unique value that
+   * fits storage limitations within Drupal 7.
+   *
    * @return Array of permissions, in the same format as CRM_Core_Permission::getCorePermissions().
    */
-  static function getModulePermissions($module) {
-    $return_permissions = array();
-    $fn_name = "{$module}_civicrm_permission";
-    if (function_exists($fn_name)) {
-      $module_permissions = array();
-      $fn_name($module_permissions);
-      $return_permissions = $module_permissions;
-    }
-    return $return_permissions;
-  }
-
   public static function filterPermissions($module_permissions, $module) {
     $return_permissions = array();
     foreach ($module_permissions as $key => $label) {