Merge pull request #6115 from monishdeb/master
[civicrm-core.git] / CRM / Member / Info.php
index 82663f4437dbcd129ddcef76259112c83f702b04..96c7fbcf0639c09407b6c08a4aee11160c5ba0f2 100644 (file)
@@ -3,7 +3,7 @@
  +--------------------------------------------------------------------+
  | CiviCRM version 4.6                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014                                |
+ | Copyright CiviCRM LLC (c) 2004-2015                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
@@ -31,7 +31,7 @@
  * abstract class.
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2014
+ * @copyright CiviCRM LLC (c) 2004-2015
  * $Id$
  *
  */
@@ -75,21 +75,35 @@ class CRM_Member_Info extends CRM_Core_Component_Info {
    * implementation of $getAllUnconditionally is required.
    *
    * @param bool $getAllUnconditionally
+   * @param bool $descriptions
+   *   Whether to return permission descriptions
    *
    * @return array|null
    *   collection of permissions, null if none
    */
-  /**
-   * @param bool $getAllUnconditionally
-   *
-   * @return array|null
-   */
-  public function getPermissions($getAllUnconditionally = FALSE) {
-    return array(
-      'access CiviMember',
-      'edit memberships',
-      'delete in CiviMember',
+  public function getPermissions($getAllUnconditionally = FALSE, $descriptions = FALSE) {
+    $permissions = array(
+      'access CiviMember' => array(
+        ts('access CiviMember'),
+        ts('View memberships'),
+      ),
+      'edit memberships' => array(
+        ts('edit memberships'),
+        ts('Create and update memberships'),
+      ),
+      'delete in CiviMember' => array(
+        ts('delete in CiviMember'),
+        ts('Delete memberships'),
+      ),
     );
+
+    if (!$descriptions) {
+      foreach ($permissions as $name => $attr) {
+        $permissions[$name] = array_shift($attr);
+      }
+    }
+
+    return $permissions;
   }
 
   /**
@@ -173,7 +187,7 @@ class CRM_Member_Info extends CRM_Core_Component_Info {
   }
 
   /**
-   * add shortcut to Create New
+   * add shortcut to Create New.
    * @param $shortCuts
    * @param $newCredit
    */