Merge pull request #12571 from civicrm/5.4
[civicrm-core.git] / CRM / Event / DAO / Event.php
CommitLineData
e501603b 1<?php
c3fc2621 2
e501603b
TO
3/**
4 * @package CRM
8c9251b3 5 * @copyright CiviCRM LLC (c) 2004-2018
e501603b
TO
6 *
7 * Generated from xml/schema/CRM/Event/Event.xml
8 * DO NOT EDIT. Generated by CRM_Core_CodeGen
e7a6b91a 9 * (GenCodeChecksum:6c0950f3a5f6305f8d7e0a05d4703018)
e501603b 10 */
c3fc2621 11
f41f0342 12/**
c3fc2621 13 * Database access object for the Event entity.
f41f0342 14 */
e501603b 15class CRM_Event_DAO_Event extends CRM_Core_DAO {
c3fc2621 16
e501603b 17 /**
f41f0342 18 * Static instance to hold the table name.
e501603b
TO
19 *
20 * @var string
21 */
22 static $_tableName = 'civicrm_event';
c3fc2621 23
e501603b 24 /**
f41f0342 25 * Should CiviCRM log any modifications to this table in the civicrm_log table.
e501603b 26 *
c3fc2621 27 * @var bool
e501603b 28 */
c3fc2621
CW
29 static $_log = TRUE;
30
e501603b
TO
31 /**
32 * Event
33 *
34 * @var int unsigned
35 */
36 public $id;
c3fc2621 37
e501603b
TO
38 /**
39 * Event Title (e.g. Fall Fundraiser Dinner)
40 *
41 * @var string
42 */
43 public $title;
c3fc2621 44
e501603b
TO
45 /**
46 * Brief summary of event. Text and html allowed. Displayed on Event Registration form and can be used on other CMS pages which need an event summary.
47 *
48 * @var text
49 */
50 public $summary;
c3fc2621 51
e501603b
TO
52 /**
53 * Full description of event. Text and html allowed. Displayed on built-in Event Information screens.
54 *
55 * @var text
56 */
57 public $description;
c3fc2621 58
e501603b
TO
59 /**
60 * Event Type ID.Implicit FK to civicrm_option_value where option_group = event_type.
61 *
62 * @var int unsigned
63 */
64 public $event_type_id;
c3fc2621 65
e501603b
TO
66 /**
67 * Should we expose the participant list? Implicit FK to civicrm_option_value where option_group = participant_listing.
68 *
69 * @var int unsigned
70 */
71 public $participant_listing_id;
c3fc2621 72
e501603b
TO
73 /**
74 * Public events will be included in the iCal feeds. Access to private event information may be limited using ACLs.
75 *
76 * @var boolean
77 */
78 public $is_public;
c3fc2621 79
e501603b
TO
80 /**
81 * Date and time that event starts.
82 *
83 * @var datetime
84 */
85 public $start_date;
c3fc2621 86
e501603b
TO
87 /**
88 * Date and time that event ends. May be NULL if no defined end date/time
89 *
90 * @var datetime
91 */
92 public $end_date;
c3fc2621 93
e501603b
TO
94 /**
95 * If true, include registration link on Event Info page.
96 *
97 * @var boolean
98 */
99 public $is_online_registration;
c3fc2621 100
e501603b
TO
101 /**
102 * Text for link to Event Registration form which is displayed on Event Information screen when is_online_registration is true.
103 *
104 * @var string
105 */
106 public $registration_link_text;
c3fc2621 107
e501603b
TO
108 /**
109 * Date and time that online registration starts.
110 *
111 * @var datetime
112 */
113 public $registration_start_date;
c3fc2621 114
e501603b
TO
115 /**
116 * Date and time that online registration ends.
117 *
118 * @var datetime
119 */
120 public $registration_end_date;
c3fc2621 121
e501603b
TO
122 /**
123 * Maximum number of registered participants to allow. After max is reached, a custom Event Full message is displayed. If NULL, allow unlimited number of participants.
124 *
125 * @var int unsigned
126 */
127 public $max_participants;
c3fc2621 128
e501603b
TO
129 /**
130 * Message to display on Event Information page and INSTEAD OF Event Registration form if maximum participants are signed up. Can include email address/info about getting on a waiting list, etc. Text and html allowed.
131 *
132 * @var text
133 */
134 public $event_full_text;
c3fc2621 135
e501603b
TO
136 /**
137 * If true, one or more fee amounts must be set and a Payment Processor must be configured for Online Event Registration.
138 *
139 * @var boolean
140 */
141 public $is_monetary;
c3fc2621 142
e501603b
TO
143 /**
144 * Financial type assigned to paid event registrations for this event. Required if is_monetary is true.
145 *
146 * @var int unsigned
147 */
148 public $financial_type_id;
c3fc2621 149
e501603b
TO
150 /**
151 * Payment Processors configured for this Event (if is_monetary is true)
152 *
153 * @var string
154 */
155 public $payment_processor;
c3fc2621 156
e501603b
TO
157 /**
158 * Include a map block on the Event Information page when geocode info is available and a mapping provider has been specified?
159 *
160 * @var boolean
161 */
162 public $is_map;
c3fc2621 163
e501603b
TO
164 /**
165 * Is this Event enabled or disabled/cancelled?
166 *
167 * @var boolean
168 */
169 public $is_active;
c3fc2621 170
e501603b 171 /**
e501603b
TO
172 * @var string
173 */
174 public $fee_label;
c3fc2621 175
e501603b
TO
176 /**
177 * If true, show event location.
178 *
179 * @var boolean
180 */
181 public $is_show_location;
c3fc2621 182
e501603b
TO
183 /**
184 * FK to Location Block ID
185 *
186 * @var int unsigned
187 */
188 public $loc_block_id;
c3fc2621 189
e501603b
TO
190 /**
191 * Participant role ID. Implicit FK to civicrm_option_value where option_group = participant_role.
192 *
193 * @var int unsigned
194 */
195 public $default_role_id;
c3fc2621 196
e501603b
TO
197 /**
198 * Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.
199 *
200 * @var text
201 */
202 public $intro_text;
c3fc2621 203
e501603b
TO
204 /**
205 * Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.
206 *
207 * @var text
208 */
209 public $footer_text;
c3fc2621 210
e501603b
TO
211 /**
212 * Title for Confirmation page.
213 *
214 * @var string
215 */
216 public $confirm_title;
c3fc2621 217
e501603b
TO
218 /**
219 * Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.
220 *
221 * @var text
222 */
223 public $confirm_text;
c3fc2621 224
e501603b
TO
225 /**
226 * Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.
227 *
228 * @var text
229 */
230 public $confirm_footer_text;
c3fc2621 231
e501603b
TO
232 /**
233 * If true, confirmation is automatically emailed to contact on successful registration.
234 *
235 * @var boolean
236 */
237 public $is_email_confirm;
c3fc2621 238
e501603b
TO
239 /**
240 * text to include above standard event info on confirmation email. emails are text-only, so do not allow html for now
241 *
242 * @var text
243 */
244 public $confirm_email_text;
c3fc2621 245
e501603b
TO
246 /**
247 * FROM email name used for confirmation emails.
248 *
249 * @var string
250 */
251 public $confirm_from_name;
c3fc2621 252
e501603b
TO
253 /**
254 * FROM email address used for confirmation emails.
255 *
256 * @var string
257 */
258 public $confirm_from_email;
c3fc2621 259
e501603b
TO
260 /**
261 * comma-separated list of email addresses to cc each time a confirmation is sent
262 *
263 * @var string
264 */
265 public $cc_confirm;
c3fc2621 266
e501603b
TO
267 /**
268 * comma-separated list of email addresses to bcc each time a confirmation is sent
269 *
270 * @var string
271 */
272 public $bcc_confirm;
c3fc2621 273
e501603b
TO
274 /**
275 * FK to civicrm_option_value.
276 *
277 * @var int unsigned
278 */
279 public $default_fee_id;
c3fc2621 280
e501603b
TO
281 /**
282 * FK to civicrm_option_value.
283 *
284 * @var int unsigned
285 */
286 public $default_discount_fee_id;
c3fc2621 287
e501603b
TO
288 /**
289 * Title for ThankYou page.
290 *
291 * @var string
292 */
293 public $thankyou_title;
c3fc2621 294
e501603b
TO
295 /**
296 * ThankYou Text.
297 *
298 * @var text
299 */
300 public $thankyou_text;
c3fc2621 301
e501603b
TO
302 /**
303 * Footer message.
304 *
305 * @var text
306 */
307 public $thankyou_footer_text;
c3fc2621 308
e501603b
TO
309 /**
310 * if true - allows the user to send payment directly to the org later
311 *
312 * @var boolean
313 */
314 public $is_pay_later;
c3fc2621 315
e501603b
TO
316 /**
317 * The text displayed to the user in the main form
318 *
319 * @var text
320 */
321 public $pay_later_text;
c3fc2621 322
e501603b
TO
323 /**
324 * The receipt sent to the user instead of the normal receipt text
325 *
326 * @var text
327 */
328 public $pay_later_receipt;
c3fc2621 329
e501603b
TO
330 /**
331 * is partial payment enabled for this event
332 *
333 * @var boolean
334 */
335 public $is_partial_payment;
c3fc2621 336
e501603b
TO
337 /**
338 * Initial amount label for partial payment
339 *
340 * @var string
341 */
342 public $initial_amount_label;
c3fc2621 343
e501603b
TO
344 /**
345 * Initial amount help text for partial payment
346 *
347 * @var text
348 */
349 public $initial_amount_help_text;
c3fc2621 350
e501603b
TO
351 /**
352 * Minimum initial amount for partial payment
353 *
354 * @var float
355 */
356 public $min_initial_amount;
c3fc2621 357
e501603b
TO
358 /**
359 * if true - allows the user to register multiple participants for event
360 *
361 * @var boolean
362 */
363 public $is_multiple_registrations;
c3fc2621 364
e501603b
TO
365 /**
366 * Maximum number of additional participants that can be registered on a single booking
367 *
368 * @var int unsigned
369 */
370 public $max_additional_participants;
c3fc2621 371
e501603b
TO
372 /**
373 * if true - allows the user to register multiple registrations from same email address.
374 *
375 * @var boolean
376 */
377 public $allow_same_participant_emails;
c3fc2621 378
e501603b
TO
379 /**
380 * Whether the event has waitlist support.
381 *
382 * @var boolean
383 */
384 public $has_waitlist;
c3fc2621 385
e501603b
TO
386 /**
387 * Whether participants require approval before they can finish registering.
388 *
389 * @var boolean
390 */
391 public $requires_approval;
c3fc2621 392
e501603b
TO
393 /**
394 * Expire pending but unconfirmed registrations after this many hours.
395 *
396 * @var int unsigned
397 */
398 public $expiration_time;
c3fc2621 399
e501603b
TO
400 /**
401 * Allow self service cancellation or transfer for event?
402 *
403 * @var boolean
404 */
405 public $allow_selfcancelxfer;
c3fc2621 406
e501603b
TO
407 /**
408 * Number of hours prior to event start date to allow self-service cancellation or transfer.
409 *
410 * @var int unsigned
411 */
412 public $selfcancelxfer_time;
c3fc2621 413
e501603b
TO
414 /**
415 * Text to display when the event is full, but participants can signup for a waitlist.
416 *
417 * @var text
418 */
419 public $waitlist_text;
c3fc2621 420
e501603b
TO
421 /**
422 * Text to display when the approval is required to complete registration for an event.
423 *
424 * @var text
425 */
426 public $approval_req_text;
c3fc2621 427
e501603b
TO
428 /**
429 * whether the event has template
430 *
431 * @var boolean
432 */
433 public $is_template;
c3fc2621 434
e501603b
TO
435 /**
436 * Event Template Title
437 *
438 * @var string
439 */
440 public $template_title;
c3fc2621 441
e501603b
TO
442 /**
443 * FK to civicrm_contact, who created this event
444 *
445 * @var int unsigned
446 */
447 public $created_id;
c3fc2621 448
e501603b
TO
449 /**
450 * Date and time that event was created.
451 *
452 * @var datetime
453 */
454 public $created_date;
c3fc2621 455
e501603b
TO
456 /**
457 * 3 character string, value from config setting or input via user.
458 *
459 * @var string
460 */
461 public $currency;
c3fc2621 462
e501603b
TO
463 /**
464 * The campaign for which this event has been created.
465 *
466 * @var int unsigned
467 */
468 public $campaign_id;
c3fc2621 469
e501603b
TO
470 /**
471 * Can people share the event through social media?
472 *
473 * @var boolean
474 */
475 public $is_share;
c3fc2621 476
e501603b
TO
477 /**
478 * If false, the event booking confirmation screen gets skipped
479 *
480 * @var boolean
481 */
482 public $is_confirm_enabled;
c3fc2621 483
e501603b
TO
484 /**
485 * Implicit FK to civicrm_event: parent event
486 *
487 * @var int unsigned
488 */
489 public $parent_event_id;
c3fc2621 490
e501603b
TO
491 /**
492 * Subevent slot label. Implicit FK to civicrm_option_value where option_group = conference_slot.
493 *
494 * @var int unsigned
495 */
496 public $slot_label_id;
c3fc2621 497
e501603b
TO
498 /**
499 * Rule to use when matching registrations for this event
500 *
501 * @var int unsigned
502 */
503 public $dedupe_rule_group_id;
c3fc2621 504
e501603b
TO
505 /**
506 * if true than billing block is required this event
507 *
508 * @var boolean
509 */
510 public $is_billing_required;
c3fc2621 511
e501603b 512 /**
f41f0342 513 * Class constructor.
e501603b 514 */
c3fc2621 515 public function __construct() {
e501603b
TO
516 $this->__table = 'civicrm_event';
517 parent::__construct();
518 }
c3fc2621 519
e501603b 520 /**
f41f0342 521 * Returns foreign keys and entity references.
e501603b
TO
522 *
523 * @return array
524 * [CRM_Core_Reference_Interface]
525 */
c3fc2621 526 public static function getReferenceColumns() {
346aaaba
TO
527 if (!isset(Civi::$statics[__CLASS__]['links'])) {
528 Civi::$statics[__CLASS__]['links'] = static ::createReferenceColumns(__CLASS__);
c3fc2621
CW
529 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'loc_block_id', 'civicrm_loc_block', 'id');
530 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
531 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'campaign_id', 'civicrm_campaign', 'id');
532 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'dedupe_rule_group_id', 'civicrm_dedupe_rule_group', 'id');
346aaaba 533 CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
e501603b 534 }
346aaaba 535 return Civi::$statics[__CLASS__]['links'];
e501603b 536 }
c3fc2621 537
e501603b
TO
538 /**
539 * Returns all the column names of this table
540 *
541 * @return array
542 */
c3fc2621 543 public static function &fields() {
346aaaba 544 if (!isset(Civi::$statics[__CLASS__]['fields'])) {
c3fc2621
CW
545 Civi::$statics[__CLASS__]['fields'] = [
546 'id' => [
e501603b
TO
547 'name' => 'id',
548 'type' => CRM_Utils_Type::T_INT,
c3fc2621 549 'title' => ts('Event ID'),
e501603b 550 'description' => 'Event',
c3fc2621 551 'required' => TRUE,
522a26c9 552 'table_name' => 'civicrm_event',
553 'entity' => 'Event',
554 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 555 'localizable' => 0,
c3fc2621
CW
556 ],
557 'event_title' => [
e501603b
TO
558 'name' => 'title',
559 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 560 'title' => ts('Event Title'),
e501603b
TO
561 'description' => 'Event Title (e.g. Fall Fundraiser Dinner)',
562 'maxlength' => 255,
563 'size' => CRM_Utils_Type::HUGE,
c3fc2621 564 'import' => TRUE,
e501603b
TO
565 'where' => 'civicrm_event.title',
566 'headerPattern' => '/(event.)?title$/i',
567 'dataPattern' => '',
c3fc2621 568 'export' => TRUE,
522a26c9 569 'table_name' => 'civicrm_event',
570 'entity' => 'Event',
571 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 572 'localizable' => 1,
c3fc2621 573 'html' => [
e501603b 574 'type' => 'Text',
c3fc2621
CW
575 ],
576 ],
577 'summary' => [
e501603b
TO
578 'name' => 'summary',
579 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 580 'title' => ts('Event Summary'),
e501603b
TO
581 'description' => 'Brief summary of event. Text and html allowed. Displayed on Event Registration form and can be used on other CMS pages which need an event summary.',
582 'rows' => 4,
583 'cols' => 60,
522a26c9 584 'table_name' => 'civicrm_event',
585 'entity' => 'Event',
586 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 587 'localizable' => 1,
c3fc2621 588 'html' => [
e501603b 589 'type' => 'TextArea',
c3fc2621
CW
590 ],
591 ],
592 'event_description' => [
e501603b
TO
593 'name' => 'description',
594 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 595 'title' => ts('Event Description'),
e501603b
TO
596 'description' => 'Full description of event. Text and html allowed. Displayed on built-in Event Information screens.',
597 'rows' => 8,
598 'cols' => 60,
522a26c9 599 'table_name' => 'civicrm_event',
600 'entity' => 'Event',
601 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 602 'localizable' => 1,
c3fc2621 603 'html' => [
e501603b 604 'type' => 'TextArea',
c3fc2621
CW
605 ],
606 ],
607 'event_type_id' => [
e501603b
TO
608 'name' => 'event_type_id',
609 'type' => CRM_Utils_Type::T_INT,
c3fc2621 610 'title' => ts('Event Type'),
e501603b 611 'description' => 'Event Type ID.Implicit FK to civicrm_option_value where option_group = event_type.',
45a83e42 612 'default' => '0',
522a26c9 613 'table_name' => 'civicrm_event',
614 'entity' => 'Event',
615 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 616 'localizable' => 0,
c3fc2621 617 'html' => [
e501603b 618 'type' => 'Select',
c3fc2621
CW
619 ],
620 'pseudoconstant' => [
e501603b
TO
621 'optionGroupName' => 'event_type',
622 'optionEditPath' => 'civicrm/admin/options/event_type',
c3fc2621
CW
623 ]
624 ],
625 'participant_listing_id' => [
e501603b
TO
626 'name' => 'participant_listing_id',
627 'type' => CRM_Utils_Type::T_INT,
c3fc2621 628 'title' => ts('Participant Listing'),
e501603b 629 'description' => 'Should we expose the participant list? Implicit FK to civicrm_option_value where option_group = participant_listing.',
45a83e42 630 'default' => '0',
522a26c9 631 'table_name' => 'civicrm_event',
632 'entity' => 'Event',
633 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 634 'localizable' => 0,
c3fc2621 635 'html' => [
e501603b 636 'type' => 'Select',
c3fc2621
CW
637 ],
638 'pseudoconstant' => [
e501603b
TO
639 'optionGroupName' => 'participant_listing',
640 'optionEditPath' => 'civicrm/admin/options/participant_listing',
c3fc2621
CW
641 ]
642 ],
643 'is_public' => [
e501603b
TO
644 'name' => 'is_public',
645 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 646 'title' => ts('Is Event Public'),
e501603b
TO
647 'description' => 'Public events will be included in the iCal feeds. Access to private event information may be limited using ACLs.',
648 'default' => '1',
522a26c9 649 'table_name' => 'civicrm_event',
650 'entity' => 'Event',
651 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 652 'localizable' => 0,
c3fc2621 653 'html' => [
e501603b 654 'type' => 'CheckBox',
c3fc2621
CW
655 ],
656 ],
657 'event_start_date' => [
e501603b
TO
658 'name' => 'start_date',
659 'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
c3fc2621 660 'title' => ts('Event Start Date'),
e501603b 661 'description' => 'Date and time that event starts.',
c3fc2621 662 'import' => TRUE,
e501603b
TO
663 'where' => 'civicrm_event.start_date',
664 'headerPattern' => '/^start|(s(tart\s)?date)$/i',
665 'dataPattern' => '',
c3fc2621 666 'export' => TRUE,
522a26c9 667 'table_name' => 'civicrm_event',
668 'entity' => 'Event',
669 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 670 'localizable' => 0,
c3fc2621 671 'html' => [
e501603b 672 'type' => 'Select Date',
c3fc2621
CW
673 ],
674 ],
675 'event_end_date' => [
e501603b
TO
676 'name' => 'end_date',
677 'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
c3fc2621 678 'title' => ts('Event End Date'),
e501603b 679 'description' => 'Date and time that event ends. May be NULL if no defined end date/time',
c3fc2621 680 'import' => TRUE,
e501603b
TO
681 'where' => 'civicrm_event.end_date',
682 'headerPattern' => '/^end|(e(nd\s)?date)$/i',
683 'dataPattern' => '',
c3fc2621 684 'export' => TRUE,
522a26c9 685 'table_name' => 'civicrm_event',
686 'entity' => 'Event',
687 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 688 'localizable' => 0,
c3fc2621 689 'html' => [
e501603b 690 'type' => 'Select Date',
c3fc2621
CW
691 ],
692 ],
693 'is_online_registration' => [
e501603b
TO
694 'name' => 'is_online_registration',
695 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 696 'title' => ts('Is Online Registration'),
e501603b 697 'description' => 'If true, include registration link on Event Info page.',
45a83e42 698 'default' => '0',
522a26c9 699 'table_name' => 'civicrm_event',
700 'entity' => 'Event',
701 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 702 'localizable' => 0,
c3fc2621 703 'html' => [
e501603b 704 'type' => 'CheckBox',
c3fc2621
CW
705 ],
706 ],
707 'registration_link_text' => [
e501603b
TO
708 'name' => 'registration_link_text',
709 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 710 'title' => ts('Event Registration Link Text'),
e501603b
TO
711 'description' => 'Text for link to Event Registration form which is displayed on Event Information screen when is_online_registration is true.',
712 'maxlength' => 255,
713 'size' => CRM_Utils_Type::HUGE,
522a26c9 714 'table_name' => 'civicrm_event',
715 'entity' => 'Event',
716 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 717 'localizable' => 1,
c3fc2621 718 'html' => [
e501603b 719 'type' => 'Text',
c3fc2621
CW
720 ],
721 ],
722 'registration_start_date' => [
e501603b
TO
723 'name' => 'registration_start_date',
724 'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
c3fc2621 725 'title' => ts('Registration Start Date'),
e501603b 726 'description' => 'Date and time that online registration starts.',
522a26c9 727 'table_name' => 'civicrm_event',
728 'entity' => 'Event',
729 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 730 'localizable' => 0,
c3fc2621 731 'html' => [
e501603b 732 'type' => 'Select Date',
c3fc2621
CW
733 ],
734 ],
735 'registration_end_date' => [
e501603b
TO
736 'name' => 'registration_end_date',
737 'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
c3fc2621 738 'title' => ts('Registration End Date'),
e501603b 739 'description' => 'Date and time that online registration ends.',
522a26c9 740 'table_name' => 'civicrm_event',
741 'entity' => 'Event',
742 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 743 'localizable' => 0,
c3fc2621 744 'html' => [
e501603b 745 'type' => 'Select Date',
c3fc2621
CW
746 ],
747 ],
748 'max_participants' => [
e501603b
TO
749 'name' => 'max_participants',
750 'type' => CRM_Utils_Type::T_INT,
c3fc2621 751 'title' => ts('Max Participants'),
e501603b
TO
752 'description' => 'Maximum number of registered participants to allow. After max is reached, a custom Event Full message is displayed. If NULL, allow unlimited number of participants.',
753 'default' => 'NULL',
522a26c9 754 'table_name' => 'civicrm_event',
755 'entity' => 'Event',
756 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 757 'localizable' => 0,
c3fc2621 758 'html' => [
e501603b 759 'type' => 'Text',
c3fc2621
CW
760 ],
761 ],
762 'event_full_text' => [
e501603b
TO
763 'name' => 'event_full_text',
764 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 765 'title' => ts('Event Information'),
e501603b
TO
766 'description' => 'Message to display on Event Information page and INSTEAD OF Event Registration form if maximum participants are signed up. Can include email address/info about getting on a waiting list, etc. Text and html allowed.',
767 'rows' => 4,
768 'cols' => 60,
522a26c9 769 'table_name' => 'civicrm_event',
770 'entity' => 'Event',
771 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 772 'localizable' => 1,
c3fc2621 773 'html' => [
e501603b 774 'type' => 'TextArea',
c3fc2621
CW
775 ],
776 ],
777 'is_monetary' => [
e501603b
TO
778 'name' => 'is_monetary',
779 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 780 'title' => ts('Is this a PAID event?'),
e501603b 781 'description' => 'If true, one or more fee amounts must be set and a Payment Processor must be configured for Online Event Registration.',
45a83e42 782 'default' => '0',
522a26c9 783 'table_name' => 'civicrm_event',
784 'entity' => 'Event',
785 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 786 'localizable' => 0,
c3fc2621 787 'html' => [
e501603b 788 'type' => 'CheckBox',
c3fc2621
CW
789 ],
790 ],
791 'financial_type_id' => [
e501603b
TO
792 'name' => 'financial_type_id',
793 'type' => CRM_Utils_Type::T_INT,
c3fc2621 794 'title' => ts('Financial Type'),
e501603b
TO
795 'description' => 'Financial type assigned to paid event registrations for this event. Required if is_monetary is true.',
796 'default' => 'NULL',
522a26c9 797 'table_name' => 'civicrm_event',
798 'entity' => 'Event',
799 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 800 'localizable' => 0,
c3fc2621 801 'html' => [
e501603b 802 'type' => 'Select',
c3fc2621
CW
803 ],
804 'pseudoconstant' => [
e501603b
TO
805 'table' => 'civicrm_financial_type',
806 'keyColumn' => 'id',
807 'labelColumn' => 'name',
c3fc2621
CW
808 ]
809 ],
810 'payment_processor' => [
e501603b
TO
811 'name' => 'payment_processor',
812 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 813 'title' => ts('Payment Processor'),
e501603b
TO
814 'description' => 'Payment Processors configured for this Event (if is_monetary is true)',
815 'maxlength' => 128,
816 'size' => CRM_Utils_Type::HUGE,
522a26c9 817 'table_name' => 'civicrm_event',
818 'entity' => 'Event',
819 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 820 'localizable' => 0,
c3fc2621 821 'html' => [
e501603b 822 'type' => 'Select',
c3fc2621
CW
823 ],
824 'pseudoconstant' => [
e501603b
TO
825 'table' => 'civicrm_payment_processor',
826 'keyColumn' => 'id',
827 'labelColumn' => 'name',
c3fc2621
CW
828 ]
829 ],
830 'is_map' => [
e501603b
TO
831 'name' => 'is_map',
832 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 833 'title' => ts('Map Enabled'),
e501603b 834 'description' => 'Include a map block on the Event Information page when geocode info is available and a mapping provider has been specified?',
45a83e42 835 'default' => '0',
522a26c9 836 'table_name' => 'civicrm_event',
837 'entity' => 'Event',
838 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 839 'localizable' => 0,
c3fc2621 840 'html' => [
e501603b 841 'type' => 'CheckBox',
c3fc2621
CW
842 ],
843 ],
844 'is_active' => [
e501603b
TO
845 'name' => 'is_active',
846 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 847 'title' => ts('Is Active'),
e501603b 848 'description' => 'Is this Event enabled or disabled/cancelled?',
45a83e42 849 'default' => '0',
522a26c9 850 'table_name' => 'civicrm_event',
851 'entity' => 'Event',
852 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 853 'localizable' => 0,
c3fc2621 854 'html' => [
e501603b 855 'type' => 'CheckBox',
c3fc2621
CW
856 ],
857 ],
858 'fee_label' => [
e501603b
TO
859 'name' => 'fee_label',
860 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 861 'title' => ts('Fee Label'),
e501603b
TO
862 'maxlength' => 255,
863 'size' => CRM_Utils_Type::HUGE,
c3fc2621 864 'import' => TRUE,
e501603b
TO
865 'where' => 'civicrm_event.fee_label',
866 'headerPattern' => '/^fee|(f(ee\s)?label)$/i',
867 'dataPattern' => '',
c3fc2621 868 'export' => TRUE,
522a26c9 869 'table_name' => 'civicrm_event',
870 'entity' => 'Event',
871 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 872 'localizable' => 1,
c3fc2621 873 'html' => [
e501603b 874 'type' => 'Text',
c3fc2621
CW
875 ],
876 ],
877 'is_show_location' => [
e501603b
TO
878 'name' => 'is_show_location',
879 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 880 'title' => ts('show location'),
e501603b
TO
881 'description' => 'If true, show event location.',
882 'default' => '1',
522a26c9 883 'table_name' => 'civicrm_event',
884 'entity' => 'Event',
885 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 886 'localizable' => 0,
c3fc2621 887 'html' => [
e501603b 888 'type' => 'CheckBox',
c3fc2621
CW
889 ],
890 ],
891 'loc_block_id' => [
e501603b
TO
892 'name' => 'loc_block_id',
893 'type' => CRM_Utils_Type::T_INT,
c3fc2621 894 'title' => ts('Location Block ID'),
e501603b 895 'description' => 'FK to Location Block ID',
522a26c9 896 'table_name' => 'civicrm_event',
897 'entity' => 'Event',
898 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 899 'localizable' => 0,
e501603b 900 'FKClassName' => 'CRM_Core_DAO_LocBlock',
c3fc2621
CW
901 ],
902 'default_role_id' => [
e501603b
TO
903 'name' => 'default_role_id',
904 'type' => CRM_Utils_Type::T_INT,
c3fc2621 905 'title' => ts('Default Role'),
e501603b 906 'description' => 'Participant role ID. Implicit FK to civicrm_option_value where option_group = participant_role.',
c3fc2621 907 'import' => TRUE,
e501603b
TO
908 'where' => 'civicrm_event.default_role_id',
909 'headerPattern' => '',
910 'dataPattern' => '',
c3fc2621 911 'export' => TRUE,
e501603b 912 'default' => '1',
522a26c9 913 'table_name' => 'civicrm_event',
914 'entity' => 'Event',
915 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 916 'localizable' => 0,
c3fc2621 917 'html' => [
e501603b 918 'type' => 'Select',
c3fc2621
CW
919 ],
920 'pseudoconstant' => [
e501603b
TO
921 'optionGroupName' => 'participant_role',
922 'optionEditPath' => 'civicrm/admin/options/participant_role',
c3fc2621
CW
923 ]
924 ],
925 'intro_text' => [
e501603b
TO
926 'name' => 'intro_text',
927 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 928 'title' => ts('Introductory Message'),
e501603b
TO
929 'description' => 'Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.',
930 'rows' => 6,
931 'cols' => 50,
522a26c9 932 'table_name' => 'civicrm_event',
933 'entity' => 'Event',
934 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 935 'localizable' => 1,
c3fc2621 936 'html' => [
e501603b 937 'type' => 'TextArea',
c3fc2621
CW
938 ],
939 ],
940 'footer_text' => [
e501603b
TO
941 'name' => 'footer_text',
942 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 943 'title' => ts('Footer Message'),
e501603b
TO
944 'description' => 'Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.',
945 'rows' => 6,
946 'cols' => 50,
522a26c9 947 'table_name' => 'civicrm_event',
948 'entity' => 'Event',
949 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 950 'localizable' => 1,
c3fc2621 951 'html' => [
e501603b 952 'type' => 'TextArea',
c3fc2621
CW
953 ],
954 ],
955 'confirm_title' => [
e501603b
TO
956 'name' => 'confirm_title',
957 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 958 'title' => ts('Confirmation Title'),
e501603b
TO
959 'description' => 'Title for Confirmation page.',
960 'maxlength' => 255,
961 'size' => CRM_Utils_Type::HUGE,
962 'default' => 'NULL',
522a26c9 963 'table_name' => 'civicrm_event',
964 'entity' => 'Event',
965 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 966 'localizable' => 1,
c3fc2621 967 'html' => [
e501603b 968 'type' => 'Text',
c3fc2621
CW
969 ],
970 ],
971 'confirm_text' => [
e501603b
TO
972 'name' => 'confirm_text',
973 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 974 'title' => ts('Confirm Text'),
e501603b
TO
975 'description' => 'Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.',
976 'rows' => 6,
977 'cols' => 50,
522a26c9 978 'table_name' => 'civicrm_event',
979 'entity' => 'Event',
980 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 981 'localizable' => 1,
c3fc2621 982 'html' => [
e501603b 983 'type' => 'TextArea',
c3fc2621
CW
984 ],
985 ],
986 'confirm_footer_text' => [
e501603b
TO
987 'name' => 'confirm_footer_text',
988 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 989 'title' => ts('Footer Text'),
e501603b
TO
990 'description' => 'Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.',
991 'rows' => 6,
992 'cols' => 50,
522a26c9 993 'table_name' => 'civicrm_event',
994 'entity' => 'Event',
995 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 996 'localizable' => 1,
c3fc2621 997 'html' => [
e501603b 998 'type' => 'TextArea',
c3fc2621
CW
999 ],
1000 ],
1001 'is_email_confirm' => [
e501603b
TO
1002 'name' => 'is_email_confirm',
1003 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1004 'title' => ts('Is confirm email'),
e501603b 1005 'description' => 'If true, confirmation is automatically emailed to contact on successful registration.',
45a83e42 1006 'default' => '0',
522a26c9 1007 'table_name' => 'civicrm_event',
1008 'entity' => 'Event',
1009 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1010 'localizable' => 0,
c3fc2621 1011 'html' => [
e501603b 1012 'type' => 'CheckBox',
c3fc2621
CW
1013 ],
1014 ],
1015 'confirm_email_text' => [
e501603b
TO
1016 'name' => 'confirm_email_text',
1017 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 1018 'title' => ts('Confirmation Email Text'),
e501603b
TO
1019 'description' => 'text to include above standard event info on confirmation email. emails are text-only, so do not allow html for now',
1020 'rows' => 4,
1021 'cols' => 50,
522a26c9 1022 'table_name' => 'civicrm_event',
1023 'entity' => 'Event',
1024 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1025 'localizable' => 1,
c3fc2621 1026 'html' => [
e501603b 1027 'type' => 'TextArea',
c3fc2621
CW
1028 ],
1029 ],
1030 'confirm_from_name' => [
e501603b
TO
1031 'name' => 'confirm_from_name',
1032 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 1033 'title' => ts('Confirm From Name'),
e501603b
TO
1034 'description' => 'FROM email name used for confirmation emails.',
1035 'maxlength' => 255,
1036 'size' => CRM_Utils_Type::HUGE,
522a26c9 1037 'table_name' => 'civicrm_event',
1038 'entity' => 'Event',
1039 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1040 'localizable' => 1,
c3fc2621 1041 'html' => [
e501603b 1042 'type' => 'Text',
c3fc2621
CW
1043 ],
1044 ],
1045 'confirm_from_email' => [
e501603b
TO
1046 'name' => 'confirm_from_email',
1047 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 1048 'title' => ts('Confirm From Email'),
e501603b
TO
1049 'description' => 'FROM email address used for confirmation emails.',
1050 'maxlength' => 255,
1051 'size' => CRM_Utils_Type::HUGE,
522a26c9 1052 'table_name' => 'civicrm_event',
1053 'entity' => 'Event',
1054 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1055 'localizable' => 0,
c3fc2621 1056 'html' => [
e501603b 1057 'type' => 'Text',
c3fc2621
CW
1058 ],
1059 ],
1060 'cc_confirm' => [
e501603b
TO
1061 'name' => 'cc_confirm',
1062 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 1063 'title' => ts('Cc Confirm'),
e501603b
TO
1064 'description' => 'comma-separated list of email addresses to cc each time a confirmation is sent',
1065 'maxlength' => 255,
1066 'size' => CRM_Utils_Type::HUGE,
522a26c9 1067 'table_name' => 'civicrm_event',
1068 'entity' => 'Event',
1069 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1070 'localizable' => 0,
c3fc2621 1071 'html' => [
e501603b 1072 'type' => 'Text',
c3fc2621
CW
1073 ],
1074 ],
1075 'bcc_confirm' => [
e501603b
TO
1076 'name' => 'bcc_confirm',
1077 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 1078 'title' => ts('Bcc Confirm'),
e501603b
TO
1079 'description' => 'comma-separated list of email addresses to bcc each time a confirmation is sent',
1080 'maxlength' => 255,
1081 'size' => CRM_Utils_Type::HUGE,
522a26c9 1082 'table_name' => 'civicrm_event',
1083 'entity' => 'Event',
1084 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1085 'localizable' => 0,
c3fc2621 1086 'html' => [
e501603b 1087 'type' => 'Text',
c3fc2621
CW
1088 ],
1089 ],
1090 'default_fee_id' => [
e501603b
TO
1091 'name' => 'default_fee_id',
1092 'type' => CRM_Utils_Type::T_INT,
c3fc2621 1093 'title' => ts('Default Fee ID'),
e501603b 1094 'description' => 'FK to civicrm_option_value.',
522a26c9 1095 'table_name' => 'civicrm_event',
1096 'entity' => 'Event',
1097 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1098 'localizable' => 0,
c3fc2621
CW
1099 ],
1100 'default_discount_fee_id' => [
e501603b
TO
1101 'name' => 'default_discount_fee_id',
1102 'type' => CRM_Utils_Type::T_INT,
c3fc2621 1103 'title' => ts('Default Discount Fee ID'),
e501603b 1104 'description' => 'FK to civicrm_option_value.',
522a26c9 1105 'table_name' => 'civicrm_event',
1106 'entity' => 'Event',
1107 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1108 'localizable' => 0,
c3fc2621
CW
1109 ],
1110 'thankyou_title' => [
e501603b
TO
1111 'name' => 'thankyou_title',
1112 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 1113 'title' => ts('ThankYou Title'),
e501603b
TO
1114 'description' => 'Title for ThankYou page.',
1115 'maxlength' => 255,
1116 'size' => CRM_Utils_Type::HUGE,
1117 'default' => 'NULL',
522a26c9 1118 'table_name' => 'civicrm_event',
1119 'entity' => 'Event',
1120 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1121 'localizable' => 1,
c3fc2621 1122 'html' => [
e501603b 1123 'type' => 'Text',
c3fc2621
CW
1124 ],
1125 ],
1126 'thankyou_text' => [
e501603b
TO
1127 'name' => 'thankyou_text',
1128 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 1129 'title' => ts('ThankYou Text'),
e501603b
TO
1130 'description' => 'ThankYou Text.',
1131 'rows' => 6,
1132 'cols' => 50,
522a26c9 1133 'table_name' => 'civicrm_event',
1134 'entity' => 'Event',
1135 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1136 'localizable' => 1,
c3fc2621 1137 'html' => [
e501603b 1138 'type' => 'TextArea',
c3fc2621
CW
1139 ],
1140 ],
1141 'thankyou_footer_text' => [
e501603b
TO
1142 'name' => 'thankyou_footer_text',
1143 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 1144 'title' => ts('Footer Text'),
e501603b
TO
1145 'description' => 'Footer message.',
1146 'rows' => 6,
1147 'cols' => 50,
522a26c9 1148 'table_name' => 'civicrm_event',
1149 'entity' => 'Event',
1150 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1151 'localizable' => 1,
c3fc2621 1152 'html' => [
e501603b 1153 'type' => 'TextArea',
c3fc2621
CW
1154 ],
1155 ],
1156 'is_pay_later' => [
e501603b
TO
1157 'name' => 'is_pay_later',
1158 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1159 'title' => ts('Pay Later Allowed'),
e501603b 1160 'description' => 'if true - allows the user to send payment directly to the org later',
45a83e42 1161 'default' => '0',
522a26c9 1162 'table_name' => 'civicrm_event',
1163 'entity' => 'Event',
1164 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1165 'localizable' => 0,
c3fc2621 1166 'html' => [
e501603b 1167 'type' => 'CheckBox',
c3fc2621
CW
1168 ],
1169 ],
1170 'pay_later_text' => [
e501603b
TO
1171 'name' => 'pay_later_text',
1172 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 1173 'title' => ts('Pay Later Text'),
e501603b 1174 'description' => 'The text displayed to the user in the main form',
522a26c9 1175 'table_name' => 'civicrm_event',
1176 'entity' => 'Event',
1177 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1178 'localizable' => 1,
c3fc2621 1179 'html' => [
e501603b 1180 'type' => 'Text',
c3fc2621
CW
1181 ],
1182 ],
1183 'pay_later_receipt' => [
e501603b
TO
1184 'name' => 'pay_later_receipt',
1185 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 1186 'title' => ts('Pay Later Receipt Text'),
e501603b 1187 'description' => 'The receipt sent to the user instead of the normal receipt text',
522a26c9 1188 'table_name' => 'civicrm_event',
1189 'entity' => 'Event',
1190 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1191 'localizable' => 1,
c3fc2621 1192 'html' => [
e501603b 1193 'type' => 'Text',
c3fc2621
CW
1194 ],
1195 ],
1196 'is_partial_payment' => [
e501603b
TO
1197 'name' => 'is_partial_payment',
1198 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1199 'title' => ts('Partial Payments Enabled'),
e501603b 1200 'description' => 'is partial payment enabled for this event',
45a83e42 1201 'default' => '0',
522a26c9 1202 'table_name' => 'civicrm_event',
1203 'entity' => 'Event',
1204 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1205 'localizable' => 0,
c3fc2621 1206 'html' => [
e501603b 1207 'type' => 'CheckBox',
c3fc2621
CW
1208 ],
1209 ],
1210 'initial_amount_label' => [
e501603b
TO
1211 'name' => 'initial_amount_label',
1212 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 1213 'title' => ts('Initial Amount Label'),
e501603b
TO
1214 'description' => 'Initial amount label for partial payment',
1215 'maxlength' => 255,
1216 'size' => CRM_Utils_Type::HUGE,
522a26c9 1217 'table_name' => 'civicrm_event',
1218 'entity' => 'Event',
1219 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1220 'localizable' => 1,
c3fc2621 1221 'html' => [
e501603b 1222 'type' => 'Text',
c3fc2621
CW
1223 ],
1224 ],
1225 'initial_amount_help_text' => [
e501603b
TO
1226 'name' => 'initial_amount_help_text',
1227 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 1228 'title' => ts('Initial Amount Help Text'),
e501603b 1229 'description' => 'Initial amount help text for partial payment',
522a26c9 1230 'table_name' => 'civicrm_event',
1231 'entity' => 'Event',
1232 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1233 'localizable' => 1,
c3fc2621 1234 'html' => [
e501603b 1235 'type' => 'Text',
c3fc2621
CW
1236 ],
1237 ],
1238 'min_initial_amount' => [
e501603b
TO
1239 'name' => 'min_initial_amount',
1240 'type' => CRM_Utils_Type::T_MONEY,
c3fc2621 1241 'title' => ts('Minimum Initial Amount'),
e501603b 1242 'description' => 'Minimum initial amount for partial payment',
c3fc2621 1243 'precision' => [
e501603b
TO
1244 20,
1245 2
c3fc2621 1246 ],
522a26c9 1247 'table_name' => 'civicrm_event',
1248 'entity' => 'Event',
1249 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1250 'localizable' => 0,
c3fc2621 1251 'html' => [
e501603b 1252 'type' => 'Text',
c3fc2621
CW
1253 ],
1254 ],
1255 'is_multiple_registrations' => [
e501603b
TO
1256 'name' => 'is_multiple_registrations',
1257 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1258 'title' => ts('Allow Multiple Registrations'),
e501603b 1259 'description' => 'if true - allows the user to register multiple participants for event',
45a83e42 1260 'default' => '0',
522a26c9 1261 'table_name' => 'civicrm_event',
1262 'entity' => 'Event',
1263 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1264 'localizable' => 0,
c3fc2621 1265 'html' => [
e501603b 1266 'type' => 'CheckBox',
c3fc2621
CW
1267 ],
1268 ],
1269 'max_additional_participants' => [
e501603b
TO
1270 'name' => 'max_additional_participants',
1271 'type' => CRM_Utils_Type::T_INT,
c3fc2621 1272 'title' => ts('Maximum number of additional participants per registration'),
e501603b 1273 'description' => 'Maximum number of additional participants that can be registered on a single booking',
45a83e42 1274 'default' => '0',
522a26c9 1275 'table_name' => 'civicrm_event',
1276 'entity' => 'Event',
1277 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1278 'localizable' => 0,
c3fc2621
CW
1279 ],
1280 'allow_same_participant_emails' => [
e501603b
TO
1281 'name' => 'allow_same_participant_emails',
1282 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1283 'title' => ts('Does Event allow multiple registrations from same email address?'),
e501603b 1284 'description' => 'if true - allows the user to register multiple registrations from same email address.',
45a83e42 1285 'default' => '0',
522a26c9 1286 'table_name' => 'civicrm_event',
1287 'entity' => 'Event',
1288 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1289 'localizable' => 0,
c3fc2621 1290 'html' => [
e501603b 1291 'type' => 'CheckBox',
c3fc2621
CW
1292 ],
1293 ],
1294 'has_waitlist' => [
e501603b
TO
1295 'name' => 'has_waitlist',
1296 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1297 'title' => ts('Waitlist Enabled'),
e501603b 1298 'description' => 'Whether the event has waitlist support.',
522a26c9 1299 'table_name' => 'civicrm_event',
1300 'entity' => 'Event',
1301 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1302 'localizable' => 0,
c3fc2621 1303 'html' => [
e501603b 1304 'type' => 'CheckBox',
c3fc2621
CW
1305 ],
1306 ],
1307 'requires_approval' => [
e501603b
TO
1308 'name' => 'requires_approval',
1309 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1310 'title' => ts('Requires Approval'),
e501603b 1311 'description' => 'Whether participants require approval before they can finish registering.',
522a26c9 1312 'table_name' => 'civicrm_event',
1313 'entity' => 'Event',
1314 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1315 'localizable' => 0,
c3fc2621 1316 'html' => [
e501603b 1317 'type' => 'CheckBox',
c3fc2621
CW
1318 ],
1319 ],
1320 'expiration_time' => [
e501603b
TO
1321 'name' => 'expiration_time',
1322 'type' => CRM_Utils_Type::T_INT,
c3fc2621 1323 'title' => ts('Expiration Time'),
e501603b 1324 'description' => 'Expire pending but unconfirmed registrations after this many hours.',
522a26c9 1325 'table_name' => 'civicrm_event',
1326 'entity' => 'Event',
1327 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1328 'localizable' => 0,
c3fc2621 1329 'html' => [
e501603b 1330 'type' => 'Text',
c3fc2621
CW
1331 ],
1332 ],
1333 'allow_selfcancelxfer' => [
e501603b
TO
1334 'name' => 'allow_selfcancelxfer',
1335 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1336 'title' => ts('Allow Self-service Cancellation or Transfer'),
e501603b 1337 'description' => 'Allow self service cancellation or transfer for event?',
45a83e42 1338 'default' => '0',
522a26c9 1339 'table_name' => 'civicrm_event',
1340 'entity' => 'Event',
1341 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1342 'localizable' => 0,
c3fc2621 1343 'html' => [
e501603b 1344 'type' => 'CheckBox',
c3fc2621
CW
1345 ],
1346 ],
1347 'selfcancelxfer_time' => [
e501603b
TO
1348 'name' => 'selfcancelxfer_time',
1349 'type' => CRM_Utils_Type::T_INT,
c3fc2621 1350 'title' => ts('Self-service Cancellation or Transfer Time'),
e501603b 1351 'description' => 'Number of hours prior to event start date to allow self-service cancellation or transfer.',
45a83e42 1352 'default' => '0',
522a26c9 1353 'table_name' => 'civicrm_event',
1354 'entity' => 'Event',
1355 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1356 'localizable' => 0,
c3fc2621 1357 'html' => [
e501603b 1358 'type' => 'Text',
c3fc2621
CW
1359 ],
1360 ],
1361 'waitlist_text' => [
e501603b
TO
1362 'name' => 'waitlist_text',
1363 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 1364 'title' => ts('Waitlist Text'),
e501603b
TO
1365 'description' => 'Text to display when the event is full, but participants can signup for a waitlist.',
1366 'rows' => 4,
1367 'cols' => 60,
522a26c9 1368 'table_name' => 'civicrm_event',
1369 'entity' => 'Event',
1370 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1371 'localizable' => 1,
c3fc2621 1372 'html' => [
e501603b 1373 'type' => 'TextArea',
c3fc2621
CW
1374 ],
1375 ],
1376 'approval_req_text' => [
e501603b
TO
1377 'name' => 'approval_req_text',
1378 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 1379 'title' => ts('Approval Req Text'),
e501603b
TO
1380 'description' => 'Text to display when the approval is required to complete registration for an event.',
1381 'rows' => 4,
1382 'cols' => 60,
522a26c9 1383 'table_name' => 'civicrm_event',
1384 'entity' => 'Event',
1385 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1386 'localizable' => 1,
c3fc2621 1387 'html' => [
e501603b 1388 'type' => 'TextArea',
c3fc2621
CW
1389 ],
1390 ],
1391 'is_template' => [
e501603b
TO
1392 'name' => 'is_template',
1393 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1394 'title' => ts('Is an Event Template'),
e501603b 1395 'description' => 'whether the event has template',
c3fc2621 1396 'required' => TRUE,
45a83e42 1397 'default' => '0',
522a26c9 1398 'table_name' => 'civicrm_event',
1399 'entity' => 'Event',
1400 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1401 'localizable' => 0,
c3fc2621 1402 'html' => [
e501603b 1403 'type' => 'CheckBox',
c3fc2621
CW
1404 ],
1405 ],
1406 'template_title' => [
e501603b
TO
1407 'name' => 'template_title',
1408 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 1409 'title' => ts('Event Template Title'),
e501603b
TO
1410 'description' => 'Event Template Title',
1411 'maxlength' => 255,
1412 'size' => CRM_Utils_Type::HUGE,
c3fc2621 1413 'import' => TRUE,
e501603b
TO
1414 'where' => 'civicrm_event.template_title',
1415 'headerPattern' => '/(template.)?title$/i',
1416 'dataPattern' => '',
c3fc2621 1417 'export' => TRUE,
522a26c9 1418 'table_name' => 'civicrm_event',
1419 'entity' => 'Event',
1420 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1421 'localizable' => 1,
c3fc2621 1422 'html' => [
e501603b 1423 'type' => 'Text',
c3fc2621
CW
1424 ],
1425 ],
1426 'created_id' => [
e501603b
TO
1427 'name' => 'created_id',
1428 'type' => CRM_Utils_Type::T_INT,
c3fc2621 1429 'title' => ts('Created By Contact ID'),
e501603b 1430 'description' => 'FK to civicrm_contact, who created this event',
522a26c9 1431 'table_name' => 'civicrm_event',
1432 'entity' => 'Event',
1433 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1434 'localizable' => 0,
e501603b 1435 'FKClassName' => 'CRM_Contact_DAO_Contact',
c3fc2621
CW
1436 ],
1437 'created_date' => [
e501603b
TO
1438 'name' => 'created_date',
1439 'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
c3fc2621 1440 'title' => ts('Event Created Date'),
e501603b 1441 'description' => 'Date and time that event was created.',
522a26c9 1442 'table_name' => 'civicrm_event',
1443 'entity' => 'Event',
1444 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1445 'localizable' => 0,
c3fc2621
CW
1446 ],
1447 'currency' => [
e501603b
TO
1448 'name' => 'currency',
1449 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 1450 'title' => ts('Currency'),
e501603b
TO
1451 'description' => '3 character string, value from config setting or input via user.',
1452 'maxlength' => 3,
1453 'size' => CRM_Utils_Type::FOUR,
c3fc2621 1454 'import' => TRUE,
e501603b
TO
1455 'where' => 'civicrm_event.currency',
1456 'headerPattern' => '/cur(rency)?/i',
1457 'dataPattern' => '/^[A-Z]{3}$/i',
c3fc2621 1458 'export' => TRUE,
522a26c9 1459 'table_name' => 'civicrm_event',
1460 'entity' => 'Event',
1461 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1462 'localizable' => 0,
c3fc2621 1463 'html' => [
e501603b 1464 'type' => 'Select',
c3fc2621
CW
1465 ],
1466 'pseudoconstant' => [
e501603b
TO
1467 'table' => 'civicrm_currency',
1468 'keyColumn' => 'name',
1469 'labelColumn' => 'full_name',
1470 'nameColumn' => 'name',
c3fc2621
CW
1471 ]
1472 ],
1473 'campaign_id' => [
e501603b
TO
1474 'name' => 'campaign_id',
1475 'type' => CRM_Utils_Type::T_INT,
c3fc2621 1476 'title' => ts('Campaign'),
e501603b 1477 'description' => 'The campaign for which this event has been created.',
522a26c9 1478 'table_name' => 'civicrm_event',
1479 'entity' => 'Event',
1480 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1481 'localizable' => 0,
e501603b 1482 'FKClassName' => 'CRM_Campaign_DAO_Campaign',
c3fc2621 1483 'html' => [
e501603b 1484 'type' => 'EntityRef',
c3fc2621
CW
1485 ],
1486 'pseudoconstant' => [
e501603b
TO
1487 'table' => 'civicrm_campaign',
1488 'keyColumn' => 'id',
1489 'labelColumn' => 'title',
c3fc2621
CW
1490 ]
1491 ],
1492 'is_share' => [
e501603b
TO
1493 'name' => 'is_share',
1494 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1495 'title' => ts('Is shared through social media'),
e501603b
TO
1496 'description' => 'Can people share the event through social media?',
1497 'default' => '1',
522a26c9 1498 'table_name' => 'civicrm_event',
1499 'entity' => 'Event',
1500 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1501 'localizable' => 0,
c3fc2621 1502 'html' => [
e501603b 1503 'type' => 'CheckBox',
c3fc2621
CW
1504 ],
1505 ],
1506 'is_confirm_enabled' => [
e501603b
TO
1507 'name' => 'is_confirm_enabled',
1508 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1509 'title' => ts('Is the booking confirmation screen enabled?'),
e501603b
TO
1510 'description' => 'If false, the event booking confirmation screen gets skipped',
1511 'default' => '1',
522a26c9 1512 'table_name' => 'civicrm_event',
1513 'entity' => 'Event',
1514 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1515 'localizable' => 0,
c3fc2621 1516 'html' => [
e501603b 1517 'type' => 'CheckBox',
c3fc2621
CW
1518 ],
1519 ],
1520 'parent_event_id' => [
e501603b
TO
1521 'name' => 'parent_event_id',
1522 'type' => CRM_Utils_Type::T_INT,
c3fc2621 1523 'title' => ts('Parent Event ID'),
e501603b
TO
1524 'description' => 'Implicit FK to civicrm_event: parent event',
1525 'default' => 'NULL',
522a26c9 1526 'table_name' => 'civicrm_event',
1527 'entity' => 'Event',
1528 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1529 'localizable' => 0,
c3fc2621 1530 'html' => [
e501603b 1531 'type' => 'EntityRef',
c3fc2621
CW
1532 ],
1533 ],
1534 'slot_label_id' => [
e501603b
TO
1535 'name' => 'slot_label_id',
1536 'type' => CRM_Utils_Type::T_INT,
c3fc2621 1537 'title' => ts('Subevent Slot Label ID'),
e501603b
TO
1538 'description' => 'Subevent slot label. Implicit FK to civicrm_option_value where option_group = conference_slot.',
1539 'default' => 'NULL',
522a26c9 1540 'table_name' => 'civicrm_event',
1541 'entity' => 'Event',
1542 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1543 'localizable' => 0,
c3fc2621 1544 'html' => [
e501603b 1545 'type' => 'Select',
c3fc2621
CW
1546 ],
1547 ],
1548 'dedupe_rule_group_id' => [
e501603b
TO
1549 'name' => 'dedupe_rule_group_id',
1550 'type' => CRM_Utils_Type::T_INT,
c3fc2621 1551 'title' => ts('Dedupe Rule'),
e501603b
TO
1552 'description' => 'Rule to use when matching registrations for this event',
1553 'default' => 'NULL',
522a26c9 1554 'table_name' => 'civicrm_event',
1555 'entity' => 'Event',
1556 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1557 'localizable' => 0,
e501603b 1558 'FKClassName' => 'CRM_Dedupe_DAO_RuleGroup',
c3fc2621 1559 'html' => [
e501603b 1560 'type' => 'Select',
c3fc2621
CW
1561 ],
1562 'pseudoconstant' => [
e501603b
TO
1563 'table' => 'civicrm_dedupe_rule_group',
1564 'keyColumn' => 'id',
1565 'labelColumn' => 'title',
1566 'nameColumn' => 'name',
c3fc2621
CW
1567 ]
1568 ],
1569 'is_billing_required' => [
e501603b
TO
1570 'name' => 'is_billing_required',
1571 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1572 'title' => ts('Is billing block required'),
e501603b 1573 'description' => 'if true than billing block is required this event',
45a83e42 1574 'default' => '0',
522a26c9 1575 'table_name' => 'civicrm_event',
1576 'entity' => 'Event',
1577 'bao' => 'CRM_Event_BAO_Event',
6a7e5e5d 1578 'localizable' => 0,
c3fc2621 1579 'html' => [
e501603b 1580 'type' => 'CheckBox',
c3fc2621
CW
1581 ],
1582 ],
1583 ];
346aaaba 1584 CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
e501603b 1585 }
346aaaba 1586 return Civi::$statics[__CLASS__]['fields'];
e501603b 1587 }
c3fc2621 1588
e501603b 1589 /**
bd8e0b14 1590 * Return a mapping from field-name to the corresponding key (as used in fields()).
e501603b
TO
1591 *
1592 * @return array
bd8e0b14 1593 * Array(string $name => string $uniqueName).
e501603b 1594 */
c3fc2621 1595 public static function &fieldKeys() {
bd8e0b14
TO
1596 if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
1597 Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
e501603b 1598 }
bd8e0b14 1599 return Civi::$statics[__CLASS__]['fieldKeys'];
e501603b 1600 }
c3fc2621 1601
e501603b
TO
1602 /**
1603 * Returns the names of this table
1604 *
1605 * @return string
1606 */
c3fc2621 1607 public static function getTableName() {
e501603b
TO
1608 return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
1609 }
c3fc2621 1610
e501603b
TO
1611 /**
1612 * Returns if this table needs to be logged
1613 *
c3fc2621 1614 * @return bool
e501603b 1615 */
c3fc2621 1616 public function getLog() {
e501603b
TO
1617 return self::$_log;
1618 }
c3fc2621 1619
e501603b
TO
1620 /**
1621 * Returns the list of fields that can be imported
1622 *
1623 * @param bool $prefix
1624 *
1625 * @return array
1626 */
c3fc2621
CW
1627 public static function &import($prefix = FALSE) {
1628 $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'event', $prefix, []);
60808919 1629 return $r;
e501603b 1630 }
c3fc2621 1631
e501603b
TO
1632 /**
1633 * Returns the list of fields that can be exported
1634 *
1635 * @param bool $prefix
1636 *
1637 * @return array
1638 */
c3fc2621
CW
1639 public static function &export($prefix = FALSE) {
1640 $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'event', $prefix, []);
60808919 1641 return $r;
e501603b 1642 }
c3fc2621 1643
e7a6b91a
AS
1644 /**
1645 * Returns the list of indices
c3fc2621
CW
1646 *
1647 * @param bool $localize
1648 *
1649 * @return array
e7a6b91a
AS
1650 */
1651 public static function indices($localize = TRUE) {
c3fc2621
CW
1652 $indices = [
1653 'index_event_type_id' => [
e7a6b91a 1654 'name' => 'index_event_type_id',
c3fc2621 1655 'field' => [
e7a6b91a 1656 0 => 'event_type_id',
c3fc2621
CW
1657 ],
1658 'localizable' => FALSE,
e7a6b91a 1659 'sig' => 'civicrm_event::0::event_type_id',
c3fc2621
CW
1660 ],
1661 'index_participant_listing_id' => [
e7a6b91a 1662 'name' => 'index_participant_listing_id',
c3fc2621 1663 'field' => [
e7a6b91a 1664 0 => 'participant_listing_id',
c3fc2621
CW
1665 ],
1666 'localizable' => FALSE,
e7a6b91a 1667 'sig' => 'civicrm_event::0::participant_listing_id',
c3fc2621
CW
1668 ],
1669 'index_parent_event_id' => [
e7a6b91a 1670 'name' => 'index_parent_event_id',
c3fc2621 1671 'field' => [
e7a6b91a 1672 0 => 'parent_event_id',
c3fc2621
CW
1673 ],
1674 'localizable' => FALSE,
e7a6b91a 1675 'sig' => 'civicrm_event::0::parent_event_id',
c3fc2621
CW
1676 ],
1677 ];
e7a6b91a
AS
1678 return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
1679 }
c3fc2621 1680
e501603b 1681}