'CiviCampaign', 'translatedName' => ts('CiviCampaign'), 'title' => 'CiviCRM Campaign Engine', 'search' => 1, 'showActivitiesInCore' => 1, ); } /** * @inheritDoc * @param bool $getAllUnconditionally * @param bool $descriptions * Whether to return permission descriptions * * @return array */ 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; } /** * @inheritDoc * @return null */ public function getUserDashboardElement() { // no dashboard element for this component return NULL; } /** * @return null */ public function getUserDashboardObject() { // no dashboard element for this component return NULL; } /** * @inheritDoc * @return null */ public function registerTab() { // this component doesn't use contact record tabs return NULL; } /** * @inheritDoc * @return null */ public function registerAdvancedSearchPane() { // this component doesn't use advanced search return NULL; } /** * @inheritDoc */ public function getActivityTypes() { return NULL; } /** * add shortcut to Create New. * @param $shortCuts */ public function creatNewShortcut(&$shortCuts) { if (CRM_Core_Permission::check('manage campaign') || CRM_Core_Permission::check('administer CiviCampaign') ) { $shortCuts = array_merge($shortCuts, array( array( 'path' => 'civicrm/campaign/add', 'query' => "reset=1&action=add", 'ref' => 'new-campaign', 'title' => ts('Campaign'), ), array( 'path' => 'civicrm/survey/add', 'query' => "reset=1&action=add", 'ref' => 'new-survey', 'title' => ts('Survey'), ), )); } } }