Merge pull request #13345 from GinkgoFJG/generic-settings-form
[civicrm-core.git] / CRM / Core / DAO / UFGroup.php
1 <?php
2
3 /**
4 * @package CRM
5 * @copyright CiviCRM LLC (c) 2004-2019
6 *
7 * Generated from xml/schema/CRM/Core/UFGroup.xml
8 * DO NOT EDIT. Generated by CRM_Core_CodeGen
9 * (GenCodeChecksum:e5e629c4f6d56d238b4ac28e822cea8a)
10 */
11
12 /**
13 * Database access object for the UFGroup entity.
14 */
15 class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
16
17 /**
18 * Static instance to hold the table name.
19 *
20 * @var string
21 */
22 static $_tableName = 'civicrm_uf_group';
23
24 /**
25 * Should CiviCRM log any modifications to this table in the civicrm_log table.
26 *
27 * @var bool
28 */
29 static $_log = TRUE;
30
31 /**
32 * Unique table ID
33 *
34 * @var int unsigned
35 */
36 public $id;
37
38 /**
39 * Is this form currently active? If false, hide all related fields for all sharing contexts.
40 *
41 * @var boolean
42 */
43 public $is_active;
44
45 /**
46 * Comma separated list of the type(s) of profile fields.
47 *
48 * @var string
49 */
50 public $group_type;
51
52 /**
53 * Form title.
54 *
55 * @var string
56 */
57 public $title;
58
59 /**
60 * Profile Form Public title
61 *
62 * @var string
63 */
64 public $frontend_title;
65
66 /**
67 * Optional verbose description of the profile.
68 *
69 * @var text
70 */
71 public $description;
72
73 /**
74 * Description and/or help text to display before fields in form.
75 *
76 * @var text
77 */
78 public $help_pre;
79
80 /**
81 * Description and/or help text to display after fields in form.
82 *
83 * @var text
84 */
85 public $help_post;
86
87 /**
88 * Group id, foreign key from civicrm_group
89 *
90 * @var int unsigned
91 */
92 public $limit_listings_group_id;
93
94 /**
95 * Redirect to URL.
96 *
97 * @var string
98 */
99 public $post_URL;
100
101 /**
102 * foreign key to civicrm_group_id
103 *
104 * @var int unsigned
105 */
106 public $add_to_group_id;
107
108 /**
109 * Should a CAPTCHA widget be included this Profile form.
110 *
111 * @var boolean
112 */
113 public $add_captcha;
114
115 /**
116 * Do we want to map results from this profile.
117 *
118 * @var boolean
119 */
120 public $is_map;
121
122 /**
123 * Should edit link display in profile selector
124 *
125 * @var boolean
126 */
127 public $is_edit_link;
128
129 /**
130 * Should we display a link to the website profile in profile selector
131 *
132 * @var boolean
133 */
134 public $is_uf_link;
135
136 /**
137 * Should we update the contact record if we find a duplicate
138 *
139 * @var boolean
140 */
141 public $is_update_dupe;
142
143 /**
144 * Redirect to URL when Cancle button clik .
145 *
146 * @var string
147 */
148 public $cancel_URL;
149
150 /**
151 * Should we create a cms user for this profile
152 *
153 * @var boolean
154 */
155 public $is_cms_user;
156
157 /**
158 * @var text
159 */
160 public $notify;
161
162 /**
163 * Is this group reserved for use by some other CiviCRM functionality?
164 *
165 * @var boolean
166 */
167 public $is_reserved;
168
169 /**
170 * Name of the UF group for directly addressing it in the codebase
171 *
172 * @var string
173 */
174 public $name;
175
176 /**
177 * FK to civicrm_contact, who created this UF group
178 *
179 * @var int unsigned
180 */
181 public $created_id;
182
183 /**
184 * Date and time this UF group was created.
185 *
186 * @var datetime
187 */
188 public $created_date;
189
190 /**
191 * Should we include proximity search feature in this profile search form?
192 *
193 * @var boolean
194 */
195 public $is_proximity_search;
196
197 /**
198 * Custom Text to display on the Cancel button when used in create or edit mode
199 *
200 * @var string
201 */
202 public $cancel_button_text;
203
204 /**
205 * Custom Text to display on the submit button on profile edit/create screens
206 *
207 * @var string
208 */
209 public $submit_button_text;
210
211 /**
212 * Should a Cancel button be included in this Profile form.
213 *
214 * @var boolean
215 */
216 public $add_cancel_button;
217
218 /**
219 * Class constructor.
220 */
221 public function __construct() {
222 $this->__table = 'civicrm_uf_group';
223 parent::__construct();
224 }
225
226 /**
227 * Returns foreign keys and entity references.
228 *
229 * @return array
230 * [CRM_Core_Reference_Interface]
231 */
232 public static function getReferenceColumns() {
233 if (!isset(Civi::$statics[__CLASS__]['links'])) {
234 Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
235 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'limit_listings_group_id', 'civicrm_group', 'id');
236 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'add_to_group_id', 'civicrm_group', 'id');
237 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
238 CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
239 }
240 return Civi::$statics[__CLASS__]['links'];
241 }
242
243 /**
244 * Returns all the column names of this table
245 *
246 * @return array
247 */
248 public static function &fields() {
249 if (!isset(Civi::$statics[__CLASS__]['fields'])) {
250 Civi::$statics[__CLASS__]['fields'] = [
251 'id' => [
252 'name' => 'id',
253 'type' => CRM_Utils_Type::T_INT,
254 'title' => ts('Profile ID'),
255 'description' => ts('Unique table ID'),
256 'required' => TRUE,
257 'table_name' => 'civicrm_uf_group',
258 'entity' => 'UFGroup',
259 'bao' => 'CRM_Core_BAO_UFGroup',
260 'localizable' => 0,
261 ],
262 'is_active' => [
263 'name' => 'is_active',
264 'type' => CRM_Utils_Type::T_BOOLEAN,
265 'title' => ts('Profile Is Active'),
266 'description' => ts('Is this form currently active? If false, hide all related fields for all sharing contexts.'),
267 'default' => '1',
268 'table_name' => 'civicrm_uf_group',
269 'entity' => 'UFGroup',
270 'bao' => 'CRM_Core_BAO_UFGroup',
271 'localizable' => 0,
272 ],
273 'group_type' => [
274 'name' => 'group_type',
275 'type' => CRM_Utils_Type::T_STRING,
276 'title' => ts('Profile Group Type'),
277 'description' => ts('Comma separated list of the type(s) of profile fields.'),
278 'maxlength' => 255,
279 'size' => CRM_Utils_Type::HUGE,
280 'import' => TRUE,
281 'where' => 'civicrm_uf_group.group_type',
282 'headerPattern' => '',
283 'dataPattern' => '',
284 'export' => TRUE,
285 'table_name' => 'civicrm_uf_group',
286 'entity' => 'UFGroup',
287 'bao' => 'CRM_Core_BAO_UFGroup',
288 'localizable' => 0,
289 'serialize' => self::SERIALIZE_COMMA,
290 ],
291 'title' => [
292 'name' => 'title',
293 'type' => CRM_Utils_Type::T_STRING,
294 'title' => ts('Profile Name'),
295 'description' => ts('Form title.'),
296 'required' => TRUE,
297 'maxlength' => 64,
298 'size' => CRM_Utils_Type::BIG,
299 'table_name' => 'civicrm_uf_group',
300 'entity' => 'UFGroup',
301 'bao' => 'CRM_Core_BAO_UFGroup',
302 'localizable' => 1,
303 'html' => [
304 'type' => 'Text',
305 ],
306 ],
307 'frontend_title' => [
308 'name' => 'frontend_title',
309 'type' => CRM_Utils_Type::T_STRING,
310 'title' => ts('Public Title'),
311 'description' => ts('Profile Form Public title'),
312 'maxlength' => 64,
313 'size' => CRM_Utils_Type::BIG,
314 'table_name' => 'civicrm_uf_group',
315 'entity' => 'UFGroup',
316 'bao' => 'CRM_Core_BAO_UFGroup',
317 'localizable' => 1,
318 'html' => [
319 'type' => 'Text',
320 ],
321 ],
322 'description' => [
323 'name' => 'description',
324 'type' => CRM_Utils_Type::T_TEXT,
325 'title' => ts('Profile Description'),
326 'description' => ts('Optional verbose description of the profile.'),
327 'rows' => 2,
328 'cols' => 60,
329 'table_name' => 'civicrm_uf_group',
330 'entity' => 'UFGroup',
331 'bao' => 'CRM_Core_BAO_UFGroup',
332 'localizable' => 0,
333 'html' => [
334 'type' => 'TextArea',
335 ],
336 ],
337 'help_pre' => [
338 'name' => 'help_pre',
339 'type' => CRM_Utils_Type::T_TEXT,
340 'title' => ts('Help Pre'),
341 'description' => ts('Description and/or help text to display before fields in form.'),
342 'rows' => 4,
343 'cols' => 80,
344 'table_name' => 'civicrm_uf_group',
345 'entity' => 'UFGroup',
346 'bao' => 'CRM_Core_BAO_UFGroup',
347 'localizable' => 1,
348 'html' => [
349 'type' => 'TextArea',
350 ],
351 ],
352 'help_post' => [
353 'name' => 'help_post',
354 'type' => CRM_Utils_Type::T_TEXT,
355 'title' => ts('Profile Post Text'),
356 'description' => ts('Description and/or help text to display after fields in form.'),
357 'rows' => 4,
358 'cols' => 80,
359 'table_name' => 'civicrm_uf_group',
360 'entity' => 'UFGroup',
361 'bao' => 'CRM_Core_BAO_UFGroup',
362 'localizable' => 1,
363 'html' => [
364 'type' => 'TextArea',
365 ],
366 ],
367 'limit_listings_group_id' => [
368 'name' => 'limit_listings_group_id',
369 'type' => CRM_Utils_Type::T_INT,
370 'title' => ts('Profile Search Limit Group'),
371 'description' => ts('Group id, foreign key from civicrm_group'),
372 'table_name' => 'civicrm_uf_group',
373 'entity' => 'UFGroup',
374 'bao' => 'CRM_Core_BAO_UFGroup',
375 'localizable' => 0,
376 'FKClassName' => 'CRM_Contact_DAO_Group',
377 ],
378 'post_URL' => [
379 'name' => 'post_URL',
380 'type' => CRM_Utils_Type::T_STRING,
381 'title' => ts('Post Url'),
382 'description' => ts('Redirect to URL.'),
383 'maxlength' => 255,
384 'size' => CRM_Utils_Type::HUGE,
385 'table_name' => 'civicrm_uf_group',
386 'entity' => 'UFGroup',
387 'bao' => 'CRM_Core_BAO_UFGroup',
388 'localizable' => 0,
389 ],
390 'add_to_group_id' => [
391 'name' => 'add_to_group_id',
392 'type' => CRM_Utils_Type::T_INT,
393 'title' => ts('Add Contact To Group'),
394 'description' => ts('foreign key to civicrm_group_id'),
395 'table_name' => 'civicrm_uf_group',
396 'entity' => 'UFGroup',
397 'bao' => 'CRM_Core_BAO_UFGroup',
398 'localizable' => 0,
399 'FKClassName' => 'CRM_Contact_DAO_Group',
400 ],
401 'add_captcha' => [
402 'name' => 'add_captcha',
403 'type' => CRM_Utils_Type::T_BOOLEAN,
404 'title' => ts('Show Captcha On Profile'),
405 'description' => ts('Should a CAPTCHA widget be included this Profile form.'),
406 'default' => '0',
407 'table_name' => 'civicrm_uf_group',
408 'entity' => 'UFGroup',
409 'bao' => 'CRM_Core_BAO_UFGroup',
410 'localizable' => 0,
411 ],
412 'is_map' => [
413 'name' => 'is_map',
414 'type' => CRM_Utils_Type::T_BOOLEAN,
415 'title' => ts('Map Profile'),
416 'description' => ts('Do we want to map results from this profile.'),
417 'default' => '0',
418 'table_name' => 'civicrm_uf_group',
419 'entity' => 'UFGroup',
420 'bao' => 'CRM_Core_BAO_UFGroup',
421 'localizable' => 0,
422 ],
423 'is_edit_link' => [
424 'name' => 'is_edit_link',
425 'type' => CRM_Utils_Type::T_BOOLEAN,
426 'title' => ts('Show Edit Link?'),
427 'description' => ts('Should edit link display in profile selector'),
428 'default' => '0',
429 'table_name' => 'civicrm_uf_group',
430 'entity' => 'UFGroup',
431 'bao' => 'CRM_Core_BAO_UFGroup',
432 'localizable' => 0,
433 ],
434 'is_uf_link' => [
435 'name' => 'is_uf_link',
436 'type' => CRM_Utils_Type::T_BOOLEAN,
437 'title' => ts('Show Link to CMS User'),
438 'description' => ts('Should we display a link to the website profile in profile selector'),
439 'default' => '0',
440 'table_name' => 'civicrm_uf_group',
441 'entity' => 'UFGroup',
442 'bao' => 'CRM_Core_BAO_UFGroup',
443 'localizable' => 0,
444 ],
445 'is_update_dupe' => [
446 'name' => 'is_update_dupe',
447 'type' => CRM_Utils_Type::T_BOOLEAN,
448 'title' => ts('Update on Duplicate'),
449 'description' => ts('Should we update the contact record if we find a duplicate'),
450 'default' => '0',
451 'table_name' => 'civicrm_uf_group',
452 'entity' => 'UFGroup',
453 'bao' => 'CRM_Core_BAO_UFGroup',
454 'localizable' => 0,
455 ],
456 'cancel_URL' => [
457 'name' => 'cancel_URL',
458 'type' => CRM_Utils_Type::T_STRING,
459 'title' => ts('Profile Cancel URL'),
460 'description' => ts('Redirect to URL when Cancle button clik .'),
461 'maxlength' => 255,
462 'size' => CRM_Utils_Type::HUGE,
463 'table_name' => 'civicrm_uf_group',
464 'entity' => 'UFGroup',
465 'bao' => 'CRM_Core_BAO_UFGroup',
466 'localizable' => 0,
467 ],
468 'is_cms_user' => [
469 'name' => 'is_cms_user',
470 'type' => CRM_Utils_Type::T_BOOLEAN,
471 'title' => ts('Create CMS User?'),
472 'description' => ts('Should we create a cms user for this profile '),
473 'default' => '0',
474 'table_name' => 'civicrm_uf_group',
475 'entity' => 'UFGroup',
476 'bao' => 'CRM_Core_BAO_UFGroup',
477 'localizable' => 0,
478 ],
479 'notify' => [
480 'name' => 'notify',
481 'type' => CRM_Utils_Type::T_TEXT,
482 'title' => ts('Notify on Profile Submit'),
483 'table_name' => 'civicrm_uf_group',
484 'entity' => 'UFGroup',
485 'bao' => 'CRM_Core_BAO_UFGroup',
486 'localizable' => 0,
487 ],
488 'is_reserved' => [
489 'name' => 'is_reserved',
490 'type' => CRM_Utils_Type::T_BOOLEAN,
491 'title' => ts('Profile Is Reserved'),
492 'description' => ts('Is this group reserved for use by some other CiviCRM functionality?'),
493 'table_name' => 'civicrm_uf_group',
494 'entity' => 'UFGroup',
495 'bao' => 'CRM_Core_BAO_UFGroup',
496 'localizable' => 0,
497 ],
498 'name' => [
499 'name' => 'name',
500 'type' => CRM_Utils_Type::T_STRING,
501 'title' => ts('Profile Name'),
502 'description' => ts('Name of the UF group for directly addressing it in the codebase'),
503 'maxlength' => 64,
504 'size' => CRM_Utils_Type::BIG,
505 'table_name' => 'civicrm_uf_group',
506 'entity' => 'UFGroup',
507 'bao' => 'CRM_Core_BAO_UFGroup',
508 'localizable' => 0,
509 ],
510 'created_id' => [
511 'name' => 'created_id',
512 'type' => CRM_Utils_Type::T_INT,
513 'title' => ts('Profile Created By'),
514 'description' => ts('FK to civicrm_contact, who created this UF group'),
515 'table_name' => 'civicrm_uf_group',
516 'entity' => 'UFGroup',
517 'bao' => 'CRM_Core_BAO_UFGroup',
518 'localizable' => 0,
519 'FKClassName' => 'CRM_Contact_DAO_Contact',
520 ],
521 'created_date' => [
522 'name' => 'created_date',
523 'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
524 'title' => ts('UF Group Created Date'),
525 'description' => ts('Date and time this UF group was created.'),
526 'table_name' => 'civicrm_uf_group',
527 'entity' => 'UFGroup',
528 'bao' => 'CRM_Core_BAO_UFGroup',
529 'localizable' => 0,
530 ],
531 'is_proximity_search' => [
532 'name' => 'is_proximity_search',
533 'type' => CRM_Utils_Type::T_BOOLEAN,
534 'title' => ts('Include Proximity Search?'),
535 'description' => ts('Should we include proximity search feature in this profile search form?'),
536 'default' => '0',
537 'table_name' => 'civicrm_uf_group',
538 'entity' => 'UFGroup',
539 'bao' => 'CRM_Core_BAO_UFGroup',
540 'localizable' => 0,
541 ],
542 'cancel_button_text' => [
543 'name' => 'cancel_button_text',
544 'type' => CRM_Utils_Type::T_STRING,
545 'title' => ts('Cancel Button Text'),
546 'description' => ts('Custom Text to display on the Cancel button when used in create or edit mode'),
547 'maxlength' => 64,
548 'size' => CRM_Utils_Type::BIG,
549 'default' => 'NULL',
550 'table_name' => 'civicrm_uf_group',
551 'entity' => 'UFGroup',
552 'bao' => 'CRM_Core_BAO_UFGroup',
553 'localizable' => 1,
554 ],
555 'submit_button_text' => [
556 'name' => 'submit_button_text',
557 'type' => CRM_Utils_Type::T_STRING,
558 'title' => ts('Submit Button Text'),
559 'description' => ts('Custom Text to display on the submit button on profile edit/create screens'),
560 'maxlength' => 64,
561 'size' => CRM_Utils_Type::BIG,
562 'default' => 'NULL',
563 'table_name' => 'civicrm_uf_group',
564 'entity' => 'UFGroup',
565 'bao' => 'CRM_Core_BAO_UFGroup',
566 'localizable' => 1,
567 ],
568 'add_cancel_button' => [
569 'name' => 'add_cancel_button',
570 'type' => CRM_Utils_Type::T_BOOLEAN,
571 'title' => ts('Include Cancel Button'),
572 'description' => ts('Should a Cancel button be included in this Profile form.'),
573 'default' => '1',
574 'table_name' => 'civicrm_uf_group',
575 'entity' => 'UFGroup',
576 'bao' => 'CRM_Core_BAO_UFGroup',
577 'localizable' => 0,
578 ],
579 ];
580 CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
581 }
582 return Civi::$statics[__CLASS__]['fields'];
583 }
584
585 /**
586 * Return a mapping from field-name to the corresponding key (as used in fields()).
587 *
588 * @return array
589 * Array(string $name => string $uniqueName).
590 */
591 public static function &fieldKeys() {
592 if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
593 Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
594 }
595 return Civi::$statics[__CLASS__]['fieldKeys'];
596 }
597
598 /**
599 * Returns the names of this table
600 *
601 * @return string
602 */
603 public static function getTableName() {
604 return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
605 }
606
607 /**
608 * Returns if this table needs to be logged
609 *
610 * @return bool
611 */
612 public function getLog() {
613 return self::$_log;
614 }
615
616 /**
617 * Returns the list of fields that can be imported
618 *
619 * @param bool $prefix
620 *
621 * @return array
622 */
623 public static function &import($prefix = FALSE) {
624 $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'uf_group', $prefix, []);
625 return $r;
626 }
627
628 /**
629 * Returns the list of fields that can be exported
630 *
631 * @param bool $prefix
632 *
633 * @return array
634 */
635 public static function &export($prefix = FALSE) {
636 $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'uf_group', $prefix, []);
637 return $r;
638 }
639
640 /**
641 * Returns the list of indices
642 *
643 * @param bool $localize
644 *
645 * @return array
646 */
647 public static function indices($localize = TRUE) {
648 $indices = [
649 'UI_name' => [
650 'name' => 'UI_name',
651 'field' => [
652 0 => 'name',
653 ],
654 'localizable' => FALSE,
655 'unique' => TRUE,
656 'sig' => 'civicrm_uf_group::1::name',
657 ],
658 ];
659 return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
660 }
661
662 }