* 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
*
* @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;
}
/**