Merge pull request #5593 from relldoesphp/CRM-15992
[civicrm-core.git] / CRM / Campaign / Info.php
index db2fdbb538905fb67250a7ade7c26f27e40b5874..688ce1676fbd8c3cf8ca94535084cfb9d4fcc822 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$
  *
  */
@@ -60,19 +60,49 @@ class CRM_Campaign_Info extends CRM_Core_Component_Info {
   /**
    * @inheritDoc
    * @param bool $getAllUnconditionally
+   * @param bool $descriptions
+   *   Whether to return permission descriptions
    *
    * @return array
    */
-  public function getPermissions($getAllUnconditionally = FALSE) {
-    return array(
-      'administer CiviCampaign',
-      'manage campaign',
-      'reserve campaign contacts',
-      'release campaign contacts',
-      'interview campaign contacts',
-      'gotv campaign contacts',
-      'sign CiviCRM Petition',
+  public function getPermissions($getAllUnconditionally = FALSE, $descriptions = FALSE) {
+    $permissions = array(
+      'administer CiviCampaign' => array(
+        ts('administer CiviCampaign'),
+        ts('Create new campaign, survey and petition types and their status'),
+      ),
+      'manage campaign' => array(
+        ts('manage campaign'),
+        ts('Create new campaigns, surveys and petitions, reserve respondents'),
+      ),
+      'reserve campaign contacts' => array(
+        ts('reserve campaign contacts'),
+        ts('Reserve campaign contacts for surveys and petitions'),
+      ),
+      'release campaign contacts' => array(
+        ts('release campaign contacts'),
+        ts('Release reserved campaign contacts for surveys and petitions'),
+      ),
+      'interview campaign contacts' => array(
+        ts('interview campaign contacts'),
+        ts('Record survey and petition responses from their reserved contacts'),
+      ),
+      'gotv campaign contacts' => array(
+        ts('GOTV campaign contacts'),
+        ts('Record that contacts voted'),
+      ),
+      'sign CiviCRM Petition' => array(
+        ts('sign CiviCRM Petition'),
+      ),
     );
+
+    if (!$descriptions) {
+      foreach ($permissions as $name => $attr) {
+        $permissions[$name] = array_shift($attr);
+      }
+    }
+
+    return $permissions;
   }