INFRA-132 - Civi - PHPStorm cleanup
[civicrm-core.git] / CRM / Campaign / Info.php
CommitLineData
6a488035
TO
1<?php
2/*
3 +--------------------------------------------------------------------+
39de6fd5 4 | CiviCRM version 4.6 |
6a488035 5 +--------------------------------------------------------------------+
06b69b18 6 | Copyright CiviCRM LLC (c) 2004-2014 |
6a488035
TO
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
9 | |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13 | |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
18 | |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
26*/
27
28/**
29 * This class introduces component to the system and provides all the
30 * information about it. It needs to extend CRM_Core_Component_Info
31 * abstract class.
32 *
33 * @package CRM
06b69b18 34 * @copyright CiviCRM LLC (c) 2004-2014
6a488035
TO
35 * $Id$
36 *
37 */
38class CRM_Campaign_Info extends CRM_Core_Component_Info {
39
40 // docs inherited from interface
41 protected $keyword = 'campaign';
42
43 // docs inherited from interface
30c4e065
EM
44 /**
45 * @return array
46 */
6a488035
TO
47 public function getInfo() {
48 return array(
49 'name' => 'CiviCampaign',
50 'translatedName' => ts('CiviCampaign'),
51 'title' => 'CiviCRM Campaign Engine',
52 'search' => 1,
53 'showActivitiesInCore' => 1,
54 );
55 }
56
57
58 // docs inherited from interface
30c4e065
EM
59 /**
60 * @param bool $getAllUnconditionally
61 *
62 * @return array
63 */
33777e4a 64 public function getPermissions($getAllUnconditionally = FALSE) {
6a488035
TO
65 return array(
66 'administer CiviCampaign',
67 'manage campaign',
68 'reserve campaign contacts',
69 'release campaign contacts',
70 'interview campaign contacts',
71 'gotv campaign contacts',
72 'sign CiviCRM Petition',
73 );
74 }
75
76
77 // docs inherited from interface
30c4e065
EM
78 /**
79 * @return null
80 */
6a488035
TO
81 public function getUserDashboardElement() {
82 // no dashboard element for this component
83 return NULL;
84 }
85
30c4e065
EM
86 /**
87 * @return null
88 */
6a488035
TO
89 public function getUserDashboardObject() {
90 // no dashboard element for this component
91 return NULL;
92 }
93
94 // docs inherited from interface
30c4e065
EM
95 /**
96 * @return null
97 */
6a488035
TO
98 public function registerTab() {
99 // this component doesn't use contact record tabs
100 return NULL;
101 }
102
103 // docs inherited from interface
30c4e065
EM
104 /**
105 * @return null
106 */
6a488035
TO
107 public function registerAdvancedSearchPane() {
108 // this component doesn't use advanced search
109 return NULL;
110 }
111
112 // docs inherited from interface
30c4e065
EM
113 /**
114 * @return null
115 */
6a488035
TO
116 public function getActivityTypes() {
117 return NULL;
118 }
119
120 // add shortcut to Create New
30c4e065
EM
121 /**
122 * @param $shortCuts
123 */
6a488035
TO
124 public function creatNewShortcut(&$shortCuts) {
125 if (CRM_Core_Permission::check('manage campaign') ||
126 CRM_Core_Permission::check('administer CiviCampaign')
127 ) {
128 $shortCuts = array_merge($shortCuts, array(
94880218
TO
129 array(
130 'path' => 'civicrm/campaign/add',
6a488035
TO
131 'query' => "reset=1&action=add",
132 'ref' => 'new-campaign',
133 'title' => ts('Campaign'),
134 ),
135 array(
136 'path' => 'civicrm/survey/add',
137 'query' => "reset=1&action=add",
138 'ref' => 'new-survey',
139 'title' => ts('Survey'),
140 ),
141 ));
142 }
143 }
144}