Merge pull request #18653 from eileenmcnaughton/token
[civicrm-core.git] / CRM / Core / DAO / Dashboard.php
CommitLineData
e501603b 1<?php
c3fc2621 2
e501603b
TO
3/**
4 * @package CRM
ca5cec67 5 * @copyright CiviCRM LLC https://civicrm.org/licensing
e501603b
TO
6 *
7 * Generated from xml/schema/CRM/Core/Dashboard.xml
8 * DO NOT EDIT. Generated by CRM_Core_CodeGen
7b66c3b5 9 * (GenCodeChecksum:262213759ac6f4c9943f4ebd454256ae)
e501603b 10 */
c3fc2621 11
f41f0342 12/**
c3fc2621 13 * Database access object for the Dashboard entity.
f41f0342 14 */
e501603b 15class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
929a1c14
CW
16 const EXT = 'civicrm';
17 const TABLE_ADDED = '3.1';
c3fc2621 18
e501603b 19 /**
f41f0342 20 * Static instance to hold the table name.
e501603b
TO
21 *
22 * @var string
23 */
fa45b5b9 24 public static $_tableName = 'civicrm_dashboard';
c3fc2621 25
e501603b 26 /**
f41f0342 27 * Should CiviCRM log any modifications to this table in the civicrm_log table.
e501603b 28 *
c3fc2621 29 * @var bool
e501603b 30 */
fa45b5b9 31 public static $_log = FALSE;
c3fc2621 32
e501603b 33 /**
e6ca0a57 34 * @var int
e501603b
TO
35 */
36 public $id;
c3fc2621 37
e501603b
TO
38 /**
39 * Domain for dashboard
40 *
e6ca0a57 41 * @var int
e501603b
TO
42 */
43 public $domain_id;
c3fc2621 44
e501603b
TO
45 /**
46 * Internal name of dashlet.
47 *
48 * @var string
49 */
50 public $name;
c3fc2621 51
e501603b
TO
52 /**
53 * dashlet title
54 *
55 * @var string
56 */
57 public $label;
c3fc2621 58
e501603b
TO
59 /**
60 * url in case of external dashlet
61 *
62 * @var string
63 */
64 public $url;
c3fc2621 65
e501603b
TO
66 /**
67 * Permission for the dashlet
68 *
69 * @var string
70 */
71 public $permission;
c3fc2621 72
e501603b
TO
73 /**
74 * Permission Operator
75 *
76 * @var string
77 */
78 public $permission_operator;
c3fc2621 79
e501603b
TO
80 /**
81 * fullscreen url for dashlet
82 *
83 * @var string
84 */
85 public $fullscreen_url;
c3fc2621 86
e501603b
TO
87 /**
88 * Is this dashlet active?
89 *
e6ca0a57 90 * @var bool
e501603b
TO
91 */
92 public $is_active;
c3fc2621 93
e501603b
TO
94 /**
95 * Is this dashlet reserved?
96 *
e6ca0a57 97 * @var bool
e501603b
TO
98 */
99 public $is_reserved;
c3fc2621 100
e501603b 101 /**
bf7df0ec 102 * Number of minutes to cache dashlet content in browser localStorage.
e501603b 103 *
e6ca0a57 104 * @var int
e501603b 105 */
bf7df0ec 106 public $cache_minutes;
c3fc2621 107
e501603b 108 /**
f41f0342 109 * Class constructor.
e501603b 110 */
c3fc2621 111 public function __construct() {
e501603b
TO
112 $this->__table = 'civicrm_dashboard';
113 parent::__construct();
114 }
c3fc2621 115
449c4e6b
CW
116 /**
117 * Returns localized title of this entity.
7b66c3b5
AH
118 *
119 * @param bool $plural
120 * Whether to return the plural version of the title.
449c4e6b 121 */
7b66c3b5
AH
122 public static function getEntityTitle($plural = FALSE) {
123 return $plural ? ts('Dashboards') : ts('Dashboard');
449c4e6b
CW
124 }
125
e501603b 126 /**
f41f0342 127 * Returns foreign keys and entity references.
e501603b
TO
128 *
129 * @return array
130 * [CRM_Core_Reference_Interface]
131 */
c3fc2621 132 public static function getReferenceColumns() {
346aaaba 133 if (!isset(Civi::$statics[__CLASS__]['links'])) {
fa45b5b9 134 Civi::$statics[__CLASS__]['links'] = static::createReferenceColumns(__CLASS__);
c3fc2621 135 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'domain_id', 'civicrm_domain', 'id');
346aaaba 136 CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
e501603b 137 }
346aaaba 138 return Civi::$statics[__CLASS__]['links'];
e501603b 139 }
c3fc2621 140
e501603b
TO
141 /**
142 * Returns all the column names of this table
143 *
144 * @return array
145 */
c3fc2621 146 public static function &fields() {
346aaaba 147 if (!isset(Civi::$statics[__CLASS__]['fields'])) {
c3fc2621
CW
148 Civi::$statics[__CLASS__]['fields'] = [
149 'id' => [
e501603b
TO
150 'name' => 'id',
151 'type' => CRM_Utils_Type::T_INT,
c3fc2621
CW
152 'title' => ts('DashletID'),
153 'required' => TRUE,
a36434b9 154 'where' => 'civicrm_dashboard.id',
522a26c9 155 'table_name' => 'civicrm_dashboard',
156 'entity' => 'Dashboard',
157 'bao' => 'CRM_Core_BAO_Dashboard',
6a7e5e5d 158 'localizable' => 0,
a9d0587b 159 'add' => '3.1',
c3fc2621
CW
160 ],
161 'domain_id' => [
e501603b
TO
162 'name' => 'domain_id',
163 'type' => CRM_Utils_Type::T_INT,
c3fc2621 164 'title' => ts('Dashlet Domain'),
215b423e 165 'description' => ts('Domain for dashboard'),
c3fc2621 166 'required' => TRUE,
a36434b9 167 'where' => 'civicrm_dashboard.domain_id',
522a26c9 168 'table_name' => 'civicrm_dashboard',
169 'entity' => 'Dashboard',
170 'bao' => 'CRM_Core_BAO_Dashboard',
6a7e5e5d 171 'localizable' => 0,
e501603b 172 'FKClassName' => 'CRM_Core_DAO_Domain',
c3fc2621 173 'pseudoconstant' => [
e501603b
TO
174 'table' => 'civicrm_domain',
175 'keyColumn' => 'id',
176 'labelColumn' => 'name',
e6ca0a57 177 ],
a9d0587b 178 'add' => '3.1',
c3fc2621
CW
179 ],
180 'name' => [
e501603b
TO
181 'name' => 'name',
182 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 183 'title' => ts('Dashlet Name'),
215b423e 184 'description' => ts('Internal name of dashlet.'),
e501603b
TO
185 'maxlength' => 64,
186 'size' => CRM_Utils_Type::BIG,
a36434b9 187 'where' => 'civicrm_dashboard.name',
522a26c9 188 'table_name' => 'civicrm_dashboard',
189 'entity' => 'Dashboard',
190 'bao' => 'CRM_Core_BAO_Dashboard',
6a7e5e5d 191 'localizable' => 0,
a9d0587b 192 'add' => '4.4',
c3fc2621
CW
193 ],
194 'label' => [
e501603b
TO
195 'name' => 'label',
196 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 197 'title' => ts('Dashlet Title'),
215b423e 198 'description' => ts('dashlet title'),
e501603b
TO
199 'maxlength' => 255,
200 'size' => CRM_Utils_Type::HUGE,
a36434b9 201 'where' => 'civicrm_dashboard.label',
522a26c9 202 'table_name' => 'civicrm_dashboard',
203 'entity' => 'Dashboard',
204 'bao' => 'CRM_Core_BAO_Dashboard',
6a7e5e5d 205 'localizable' => 1,
a9d0587b 206 'add' => '3.1',
c3fc2621
CW
207 ],
208 'url' => [
e501603b
TO
209 'name' => 'url',
210 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 211 'title' => ts('Dashlet URL'),
215b423e 212 'description' => ts('url in case of external dashlet'),
e501603b
TO
213 'maxlength' => 255,
214 'size' => CRM_Utils_Type::HUGE,
a36434b9 215 'where' => 'civicrm_dashboard.url',
522a26c9 216 'table_name' => 'civicrm_dashboard',
217 'entity' => 'Dashboard',
218 'bao' => 'CRM_Core_BAO_Dashboard',
6a7e5e5d 219 'localizable' => 0,
a9d0587b 220 'add' => '3.1',
c3fc2621
CW
221 ],
222 'permission' => [
e501603b
TO
223 'name' => 'permission',
224 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 225 'title' => ts('Dashlet Permission'),
215b423e 226 'description' => ts('Permission for the dashlet'),
e501603b
TO
227 'maxlength' => 255,
228 'size' => CRM_Utils_Type::HUGE,
a36434b9 229 'where' => 'civicrm_dashboard.permission',
522a26c9 230 'table_name' => 'civicrm_dashboard',
231 'entity' => 'Dashboard',
232 'bao' => 'CRM_Core_BAO_Dashboard',
6a7e5e5d 233 'localizable' => 0,
7a19c557 234 'serialize' => self::SERIALIZE_COMMA,
a9d0587b 235 'add' => '3.1',
c3fc2621
CW
236 ],
237 'permission_operator' => [
e501603b
TO
238 'name' => 'permission_operator',
239 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 240 'title' => ts('Dashlet Permission Operator'),
215b423e 241 'description' => ts('Permission Operator'),
e501603b
TO
242 'maxlength' => 3,
243 'size' => CRM_Utils_Type::FOUR,
a36434b9 244 'where' => 'civicrm_dashboard.permission_operator',
522a26c9 245 'table_name' => 'civicrm_dashboard',
246 'entity' => 'Dashboard',
247 'bao' => 'CRM_Core_BAO_Dashboard',
6a7e5e5d 248 'localizable' => 0,
a9d0587b 249 'add' => '3.1',
c3fc2621
CW
250 ],
251 'fullscreen_url' => [
e501603b
TO
252 'name' => 'fullscreen_url',
253 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 254 'title' => ts('Fullscreen URL'),
215b423e 255 'description' => ts('fullscreen url for dashlet'),
e501603b
TO
256 'maxlength' => 255,
257 'size' => CRM_Utils_Type::HUGE,
a36434b9 258 'where' => 'civicrm_dashboard.fullscreen_url',
522a26c9 259 'table_name' => 'civicrm_dashboard',
260 'entity' => 'Dashboard',
261 'bao' => 'CRM_Core_BAO_Dashboard',
6a7e5e5d 262 'localizable' => 0,
a9d0587b 263 'add' => '3.4',
c3fc2621
CW
264 ],
265 'is_active' => [
e501603b
TO
266 'name' => 'is_active',
267 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 268 'title' => ts('Is Dashlet Active?'),
215b423e 269 'description' => ts('Is this dashlet active?'),
a36434b9 270 'where' => 'civicrm_dashboard.is_active',
45a83e42 271 'default' => '0',
522a26c9 272 'table_name' => 'civicrm_dashboard',
273 'entity' => 'Dashboard',
274 'bao' => 'CRM_Core_BAO_Dashboard',
6a7e5e5d 275 'localizable' => 0,
a9d0587b 276 'add' => '3.1',
c3fc2621
CW
277 ],
278 'is_reserved' => [
e501603b
TO
279 'name' => 'is_reserved',
280 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 281 'title' => ts('Is Dashlet Reserved?'),
215b423e 282 'description' => ts('Is this dashlet reserved?'),
a36434b9 283 'where' => 'civicrm_dashboard.is_reserved',
45a83e42 284 'default' => '0',
522a26c9 285 'table_name' => 'civicrm_dashboard',
286 'entity' => 'Dashboard',
287 'bao' => 'CRM_Core_BAO_Dashboard',
6a7e5e5d 288 'localizable' => 0,
a9d0587b 289 'add' => '3.1',
c3fc2621
CW
290 ],
291 'cache_minutes' => [
bf7df0ec 292 'name' => 'cache_minutes',
e501603b 293 'type' => CRM_Utils_Type::T_INT,
c3fc2621 294 'title' => ts('Cache Minutes'),
215b423e 295 'description' => ts('Number of minutes to cache dashlet content in browser localStorage.'),
c3fc2621 296 'required' => TRUE,
a36434b9 297 'where' => 'civicrm_dashboard.cache_minutes',
bf7df0ec 298 'default' => '60',
522a26c9 299 'table_name' => 'civicrm_dashboard',
300 'entity' => 'Dashboard',
301 'bao' => 'CRM_Core_BAO_Dashboard',
6a7e5e5d 302 'localizable' => 0,
a9d0587b 303 'add' => '4.7',
c3fc2621
CW
304 ],
305 ];
346aaaba 306 CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
e501603b 307 }
346aaaba 308 return Civi::$statics[__CLASS__]['fields'];
e501603b 309 }
c3fc2621 310
e501603b 311 /**
bd8e0b14 312 * Return a mapping from field-name to the corresponding key (as used in fields()).
e501603b
TO
313 *
314 * @return array
bd8e0b14 315 * Array(string $name => string $uniqueName).
e501603b 316 */
c3fc2621 317 public static function &fieldKeys() {
bd8e0b14
TO
318 if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
319 Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
e501603b 320 }
bd8e0b14 321 return Civi::$statics[__CLASS__]['fieldKeys'];
e501603b 322 }
c3fc2621 323
e501603b
TO
324 /**
325 * Returns the names of this table
326 *
327 * @return string
328 */
c3fc2621 329 public static function getTableName() {
e501603b
TO
330 return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
331 }
c3fc2621 332
e501603b
TO
333 /**
334 * Returns if this table needs to be logged
335 *
c3fc2621 336 * @return bool
e501603b 337 */
c3fc2621 338 public function getLog() {
e501603b
TO
339 return self::$_log;
340 }
c3fc2621 341
e501603b
TO
342 /**
343 * Returns the list of fields that can be imported
344 *
345 * @param bool $prefix
346 *
347 * @return array
348 */
c3fc2621
CW
349 public static function &import($prefix = FALSE) {
350 $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'dashboard', $prefix, []);
60808919 351 return $r;
e501603b 352 }
c3fc2621 353
e501603b
TO
354 /**
355 * Returns the list of fields that can be exported
356 *
357 * @param bool $prefix
358 *
359 * @return array
360 */
c3fc2621
CW
361 public static function &export($prefix = FALSE) {
362 $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'dashboard', $prefix, []);
60808919 363 return $r;
e501603b 364 }
c3fc2621 365
e7a6b91a
AS
366 /**
367 * Returns the list of indices
c3fc2621
CW
368 *
369 * @param bool $localize
370 *
371 * @return array
e7a6b91a
AS
372 */
373 public static function indices($localize = TRUE) {
c3fc2621 374 $indices = [];
e7a6b91a
AS
375 return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
376 }
c3fc2621 377
e501603b 378}