Merge pull request #6815 from eileenmcnaughton/CRM-17289
[civicrm-core.git] / CRM / Contribute / Info.php
index 93bf33061250112acb7282caa40184f750151eff..af448dcaa5d898063db46db40e7bcd5d07cf3e19 100644 (file)
@@ -1,9 +1,9 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.6                                                |
+ | CiviCRM version 4.7                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014                                |
+ | Copyright CiviCRM LLC (c) 2004-2015                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
@@ -23,7 +23,7 @@
  | GNU Affero General Public License or the licensing of CiviCRM,     |
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
-*/
+ */
 
 /**
  * This class introduces component to the system and provides all the
@@ -31,9 +31,7 @@
  * abstract class.
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2014
- * $Id$
- *
+ * @copyright CiviCRM LLC (c) 2004-2015
  */
 class CRM_Contribute_Info extends CRM_Core_Component_Info {
 
@@ -75,6 +73,8 @@ class CRM_Contribute_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
@@ -84,17 +84,36 @@ class CRM_Contribute_Info extends CRM_Core_Component_Info {
    *
    * @return array|null
    */
-  public function getPermissions($getAllUnconditionally = FALSE) {
-    return array(
-      'access CiviContribute',
-      'edit contributions',
-      'make online contributions',
-      'delete in CiviContribute',
+  public function getPermissions($getAllUnconditionally = FALSE, $descriptions = FALSE) {
+    $permissions = array(
+      'access CiviContribute' => array(
+        ts('access CiviContribute'),
+        ts('Record backend contributions (with edit contributions) and view all contributions (for visible contacts)'),
+      ),
+      'edit contributions' => array(
+        ts('edit contributions'),
+        ts('Record and update contributions'),
+      ),
+      'make online contributions' => array(
+        ts('make online contributions'),
+      ),
+      'delete in CiviContribute' => array(
+        ts('delete in CiviContribute'),
+        ts('Delete contributions'),
+      ),
     );
+
+    if (!$descriptions) {
+      foreach ($permissions as $name => $attr) {
+        $permissions[$name] = array_shift($attr);
+      }
+    }
+
+    return $permissions;
   }
 
   /**
-   * Provides permissions that are unwise for Anonymous Roles to have
+   * Provides permissions that are unwise for Anonymous Roles to have.
    *
    * @return array
    *   list of permissions
@@ -187,7 +206,7 @@ class CRM_Contribute_Info extends CRM_Core_Component_Info {
   }
 
   /**
-   * add shortcut to Create New
+   * add shortcut to Create New.
    * @param $shortCuts
    * @param $newCredit
    */
@@ -213,4 +232,5 @@ class CRM_Contribute_Info extends CRM_Core_Component_Info {
       $shortCuts = array_merge($shortCuts, $shortCut);
     }
   }
+
 }