Merge pull request #5488 from eileenmcnaughton/CRM-16184
[civicrm-core.git] / CRM / Report / Info.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | CiviCRM version 4.6 |
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2015 |
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
34 * @copyright CiviCRM LLC (c) 2004-2015
35 * $Id$
36 *
37 */
38 class CRM_Report_Info extends CRM_Core_Component_Info {
39
40 /**
41 * @inheritDoc
42 */
43 protected $keyword = 'report';
44
45 /**
46 * @inheritDoc
47 * Provides base information about the component.
48 * Needs to be implemented in component's information
49 * class.
50 *
51 * @return array
52 * collection of required component settings
53 */
54 /**
55 * @return array
56 */
57 public function getInfo() {
58 return array(
59 'name' => 'CiviReport',
60 'translatedName' => ts('CiviReport'),
61 'title' => 'CiviCRM Report Engine',
62 'search' => 0,
63 'showActivitiesInCore' => 1,
64 );
65 }
66
67
68 /**
69 * @inheritDoc
70 * Provides permissions that are used by component.
71 * Needs to be implemented in component's information
72 * class.
73 *
74 * NOTE: if using conditionally permission return,
75 * implementation of $getAllUnconditionally is required.
76 *
77 * @param bool $getAllUnconditionally
78 *
79 * @return array|null
80 * collection of permissions, null if none
81 */
82 /**
83 * @param bool $getAllUnconditionally
84 *
85 * @return array|null
86 */
87 public function getPermissions($getAllUnconditionally = FALSE) {
88 return array('access CiviReport', 'access Report Criteria', 'administer reserved reports', 'administer Reports');
89 }
90
91
92 /**
93 * @inheritDoc
94 * Provides information about user dashboard element
95 * offered by this component.
96 *
97 * @return array|null
98 * collection of required dashboard settings,
99 * null if no element offered
100 */
101 /**
102 * @return array|null
103 */
104 public function getUserDashboardElement() {
105 // no dashboard element for this component
106 return NULL;
107 }
108
109 /**
110 * Provides component's user dashboard page object.
111 *
112 * @return mixed
113 * component's User Dashboard applet object
114 */
115 /**
116 * @return mixed
117 */
118 public function getUserDashboardObject() {
119 // no dashboard element for this component
120 return NULL;
121 }
122
123 /**
124 * @inheritDoc
125 * Provides information about user dashboard element
126 * offered by this component.
127 *
128 * @return array|null
129 * collection of required dashboard settings,
130 * null if no element offered
131 */
132 /**
133 * @return array|null
134 */
135 public function registerTab() {
136 // this component doesn't use contact record tabs
137 return NULL;
138 }
139
140 /**
141 * @inheritDoc
142 * Provides information about advanced search pane
143 * offered by this component.
144 *
145 * @return array|null
146 * collection of required pane settings,
147 * null if no element offered
148 */
149 /**
150 * @return array|null
151 */
152 public function registerAdvancedSearchPane() {
153 // this component doesn't use advanced search
154 return NULL;
155 }
156
157 /**
158 * @inheritDoc
159 * Provides potential activity types that this
160 * component might want to register in activity history.
161 * Needs to be implemented in component's information
162 * class.
163 *
164 * @return array|null
165 * collection of activity types
166 */
167 /**
168 * @return array|null
169 */
170 public function getActivityTypes() {
171 return NULL;
172 }
173
174 /**
175 * add shortcut to Create New.
176 * @param $shortCuts
177 */
178 public function creatNewShortcut(&$shortCuts) {
179 }
180
181 }