Merge pull request #22501 from mattwire/alterdisplayname
[civicrm-core.git] / CRM / Core / DAO / ActionSchedule.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/ActionSchedule.xml
8 * DO NOT EDIT. Generated by CRM_Core_CodeGen
2562d09a 9 * (GenCodeChecksum:35dfd5d26ce9445b37c831c51ccc5d7e)
e501603b 10 */
c3fc2621 11
f41f0342 12/**
c3fc2621 13 * Database access object for the ActionSchedule entity.
f41f0342 14 */
e501603b 15class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
929a1c14
CW
16 const EXT = 'civicrm';
17 const TABLE_ADDED = '3.4';
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_action_schedule';
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 * Name of the action(reminder)
40 *
41 * @var string
42 */
43 public $name;
c3fc2621 44
e501603b
TO
45 /**
46 * Title of the action(reminder)
47 *
48 * @var string
49 */
50 public $title;
c3fc2621 51
e501603b
TO
52 /**
53 * Recipient
54 *
55 * @var string
56 */
57 public $recipient;
c3fc2621 58
e501603b
TO
59 /**
60 * Is this the recipient criteria limited to OR in addition to?
61 *
e6ca0a57 62 * @var bool
e501603b
TO
63 */
64 public $limit_to;
c3fc2621 65
e501603b
TO
66 /**
67 * Entity value
68 *
69 * @var string
70 */
71 public $entity_value;
c3fc2621 72
e501603b
TO
73 /**
74 * Entity status
75 *
76 * @var string
77 */
78 public $entity_status;
c3fc2621 79
e501603b
TO
80 /**
81 * Reminder Interval.
82 *
e6ca0a57 83 * @var int
e501603b
TO
84 */
85 public $start_action_offset;
c3fc2621 86
e501603b
TO
87 /**
88 * Time units for reminder.
89 *
90 * @var string
91 */
92 public $start_action_unit;
c3fc2621 93
e501603b
TO
94 /**
95 * Reminder Action
96 *
97 * @var string
98 */
99 public $start_action_condition;
c3fc2621 100
e501603b
TO
101 /**
102 * Entity date
103 *
104 * @var string
105 */
106 public $start_action_date;
c3fc2621 107
e501603b 108 /**
e6ca0a57 109 * @var bool
e501603b
TO
110 */
111 public $is_repeat;
c3fc2621 112
e501603b
TO
113 /**
114 * Time units for repetition of reminder.
115 *
116 * @var string
117 */
118 public $repetition_frequency_unit;
c3fc2621 119
e501603b
TO
120 /**
121 * Time interval for repeating the reminder.
122 *
e6ca0a57 123 * @var int
e501603b
TO
124 */
125 public $repetition_frequency_interval;
c3fc2621 126
e501603b
TO
127 /**
128 * Time units till repetition of reminder.
129 *
130 * @var string
131 */
132 public $end_frequency_unit;
c3fc2621 133
e501603b
TO
134 /**
135 * Time interval till repeating the reminder.
136 *
e6ca0a57 137 * @var int
e501603b
TO
138 */
139 public $end_frequency_interval;
c3fc2621 140
e501603b
TO
141 /**
142 * Reminder Action till repeating the reminder.
143 *
144 * @var string
145 */
146 public $end_action;
c3fc2621 147
e501603b
TO
148 /**
149 * Entity end date
150 *
151 * @var string
152 */
153 public $end_date;
c3fc2621 154
e501603b
TO
155 /**
156 * Is this option active?
157 *
e6ca0a57 158 * @var bool
e501603b
TO
159 */
160 public $is_active;
c3fc2621 161
e501603b
TO
162 /**
163 * Contact IDs to which reminder should be sent.
164 *
165 * @var string
166 */
167 public $recipient_manual;
c3fc2621 168
e501603b
TO
169 /**
170 * listing based on recipient field.
171 *
172 * @var string
173 */
174 public $recipient_listing;
c3fc2621 175
e501603b
TO
176 /**
177 * Body of the mailing in text format.
178 *
179 * @var longtext
180 */
181 public $body_text;
c3fc2621 182
e501603b
TO
183 /**
184 * Body of the mailing in html format.
185 *
186 * @var longtext
187 */
188 public $body_html;
c3fc2621 189
e501603b
TO
190 /**
191 * Content of the SMS text.
192 *
193 * @var longtext
194 */
195 public $sms_body_text;
c3fc2621 196
e501603b
TO
197 /**
198 * Subject of mailing
199 *
200 * @var string
201 */
202 public $subject;
c3fc2621 203
e501603b
TO
204 /**
205 * Record Activity for this reminder?
206 *
e6ca0a57 207 * @var bool
e501603b
TO
208 */
209 public $record_activity;
c3fc2621 210
e501603b
TO
211 /**
212 * Name/ID of the mapping to use on this table
213 *
214 * @var string
215 */
216 public $mapping_id;
c3fc2621 217
e501603b
TO
218 /**
219 * FK to Group
220 *
e6ca0a57 221 * @var int
e501603b
TO
222 */
223 public $group_id;
c3fc2621 224
e501603b
TO
225 /**
226 * FK to the message template.
227 *
e6ca0a57 228 * @var int
e501603b
TO
229 */
230 public $msg_template_id;
c3fc2621 231
e501603b
TO
232 /**
233 * FK to the message template.
234 *
e6ca0a57 235 * @var int
e501603b
TO
236 */
237 public $sms_template_id;
c3fc2621 238
e501603b
TO
239 /**
240 * Date on which the reminder be sent.
241 *
242 * @var date
243 */
244 public $absolute_date;
c3fc2621 245
e501603b
TO
246 /**
247 * Name in "from" field
248 *
249 * @var string
250 */
251 public $from_name;
c3fc2621 252
e501603b
TO
253 /**
254 * Email address in "from" field
255 *
256 * @var string
257 */
258 public $from_email;
c3fc2621 259
e501603b
TO
260 /**
261 * Send the message as email or sms or both.
262 *
263 * @var string
264 */
265 public $mode;
c3fc2621 266
e501603b 267 /**
e6ca0a57 268 * @var int
e501603b
TO
269 */
270 public $sms_provider_id;
c3fc2621 271
e501603b
TO
272 /**
273 * Used for repeating entity
274 *
275 * @var string
276 */
277 public $used_for;
c3fc2621 278
e501603b
TO
279 /**
280 * Used for multilingual installation
281 *
282 * @var string
283 */
284 public $filter_contact_language;
c3fc2621 285
e501603b
TO
286 /**
287 * Used for multilingual installation
288 *
289 * @var string
290 */
291 public $communication_language;
c3fc2621 292
6a62a64e 293 /**
294 * When was the scheduled reminder created.
295 *
296 * @var timestamp
297 */
298 public $created_date;
299
300 /**
301 * When the reminder was created or modified.
302 *
303 * @var timestamp
304 */
305 public $modified_date;
306
307 /**
308 * Earliest date to consider start events from.
309 *
310 * @var timestamp
311 */
312 public $effective_start_date;
313
314 /**
315 * Latest date to consider end events from.
316 *
317 * @var timestamp
318 */
319 public $effective_end_date;
320
e501603b 321 /**
f41f0342 322 * Class constructor.
e501603b 323 */
c3fc2621 324 public function __construct() {
e501603b
TO
325 $this->__table = 'civicrm_action_schedule';
326 parent::__construct();
327 }
c3fc2621 328
449c4e6b
CW
329 /**
330 * Returns localized title of this entity.
7b66c3b5
AH
331 *
332 * @param bool $plural
333 * Whether to return the plural version of the title.
449c4e6b 334 */
7b66c3b5
AH
335 public static function getEntityTitle($plural = FALSE) {
336 return $plural ? ts('Action Schedules') : ts('Action Schedule');
449c4e6b
CW
337 }
338
e501603b 339 /**
f41f0342 340 * Returns foreign keys and entity references.
e501603b
TO
341 *
342 * @return array
343 * [CRM_Core_Reference_Interface]
344 */
c3fc2621 345 public static function getReferenceColumns() {
346aaaba 346 if (!isset(Civi::$statics[__CLASS__]['links'])) {
fa45b5b9 347 Civi::$statics[__CLASS__]['links'] = static::createReferenceColumns(__CLASS__);
c3fc2621
CW
348 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'group_id', 'civicrm_group', 'id');
349 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'msg_template_id', 'civicrm_msg_template', 'id');
350 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'sms_template_id', 'civicrm_msg_template', 'id');
351 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'sms_provider_id', 'civicrm_sms_provider', 'id');
346aaaba 352 CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
e501603b 353 }
346aaaba 354 return Civi::$statics[__CLASS__]['links'];
e501603b 355 }
c3fc2621 356
e501603b
TO
357 /**
358 * Returns all the column names of this table
359 *
360 * @return array
361 */
c3fc2621 362 public static function &fields() {
346aaaba 363 if (!isset(Civi::$statics[__CLASS__]['fields'])) {
c3fc2621
CW
364 Civi::$statics[__CLASS__]['fields'] = [
365 'id' => [
e501603b
TO
366 'name' => 'id',
367 'type' => CRM_Utils_Type::T_INT,
c3fc2621
CW
368 'title' => ts('Action Schedule ID'),
369 'required' => TRUE,
a36434b9 370 'where' => 'civicrm_action_schedule.id',
522a26c9 371 'table_name' => 'civicrm_action_schedule',
372 'entity' => 'ActionSchedule',
373 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 374 'localizable' => 0,
2cbbebe8
A
375 'html' => [
376 'type' => 'Number',
377 ],
1fe423d6 378 'readonly' => TRUE,
a9d0587b 379 'add' => '3.4',
c3fc2621
CW
380 ],
381 'name' => [
e501603b
TO
382 'name' => 'name',
383 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 384 'title' => ts('Name'),
215b423e 385 'description' => ts('Name of the action(reminder)'),
e501603b
TO
386 'maxlength' => 64,
387 'size' => CRM_Utils_Type::BIG,
a36434b9 388 'where' => 'civicrm_action_schedule.name',
522a26c9 389 'table_name' => 'civicrm_action_schedule',
390 'entity' => 'ActionSchedule',
391 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 392 'localizable' => 0,
a9d0587b 393 'add' => '3.4',
c3fc2621
CW
394 ],
395 'title' => [
e501603b
TO
396 'name' => 'title',
397 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 398 'title' => ts('Title'),
215b423e 399 'description' => ts('Title of the action(reminder)'),
e501603b
TO
400 'maxlength' => 64,
401 'size' => CRM_Utils_Type::BIG,
a36434b9 402 'where' => 'civicrm_action_schedule.title',
522a26c9 403 'table_name' => 'civicrm_action_schedule',
404 'entity' => 'ActionSchedule',
405 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 406 'localizable' => 0,
a9d0587b 407 'add' => '3.4',
c3fc2621
CW
408 ],
409 'recipient' => [
e501603b
TO
410 'name' => 'recipient',
411 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 412 'title' => ts('Recipient'),
215b423e 413 'description' => ts('Recipient'),
e501603b
TO
414 'maxlength' => 64,
415 'size' => CRM_Utils_Type::BIG,
a36434b9 416 'where' => 'civicrm_action_schedule.recipient',
522a26c9 417 'table_name' => 'civicrm_action_schedule',
418 'entity' => 'ActionSchedule',
419 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 420 'localizable' => 0,
c23563e3
SL
421 'html' => [
422 'label' => ts("Recipient"),
423 ],
a9d0587b 424 'add' => '3.4',
c3fc2621
CW
425 ],
426 'limit_to' => [
e501603b
TO
427 'name' => 'limit_to',
428 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 429 'title' => ts('Limit To'),
215b423e 430 'description' => ts('Is this the recipient criteria limited to OR in addition to?'),
a36434b9 431 'where' => 'civicrm_action_schedule.limit_to',
522a26c9 432 'table_name' => 'civicrm_action_schedule',
433 'entity' => 'ActionSchedule',
434 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 435 'localizable' => 0,
c23563e3
SL
436 'html' => [
437 'label' => ts("Limit To"),
438 ],
a9d0587b 439 'add' => '4.4',
c3fc2621
CW
440 ],
441 'entity_value' => [
e501603b
TO
442 'name' => 'entity_value',
443 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 444 'title' => ts('Entity Value'),
215b423e 445 'description' => ts('Entity value'),
e501603b
TO
446 'maxlength' => 255,
447 'size' => CRM_Utils_Type::HUGE,
a36434b9 448 'where' => 'civicrm_action_schedule.entity_value',
522a26c9 449 'table_name' => 'civicrm_action_schedule',
450 'entity' => 'ActionSchedule',
451 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 452 'localizable' => 0,
d5851cf2 453 'serialize' => self::SERIALIZE_SEPARATOR_TRIMMED,
c23563e3
SL
454 'html' => [
455 'label' => ts("Entity value"),
456 ],
a9d0587b 457 'add' => '3.4',
c3fc2621
CW
458 ],
459 'entity_status' => [
e501603b
TO
460 'name' => 'entity_status',
461 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 462 'title' => ts('Entity Status'),
215b423e 463 'description' => ts('Entity status'),
e501603b
TO
464 'maxlength' => 64,
465 'size' => CRM_Utils_Type::BIG,
a36434b9 466 'where' => 'civicrm_action_schedule.entity_status',
522a26c9 467 'table_name' => 'civicrm_action_schedule',
468 'entity' => 'ActionSchedule',
469 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 470 'localizable' => 0,
d5851cf2 471 'serialize' => self::SERIALIZE_SEPARATOR_TRIMMED,
c23563e3
SL
472 'html' => [
473 'label' => ts("Entity Status"),
474 ],
a9d0587b 475 'add' => '3.4',
c3fc2621
CW
476 ],
477 'start_action_offset' => [
e501603b
TO
478 'name' => 'start_action_offset',
479 'type' => CRM_Utils_Type::T_INT,
c3fc2621 480 'title' => ts('Start Action Offset'),
215b423e 481 'description' => ts('Reminder Interval.'),
a36434b9 482 'where' => 'civicrm_action_schedule.start_action_offset',
45a83e42 483 'default' => '0',
522a26c9 484 'table_name' => 'civicrm_action_schedule',
485 'entity' => 'ActionSchedule',
486 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 487 'localizable' => 0,
c23563e3
SL
488 'html' => [
489 'label' => ts("Start Action Offset"),
490 ],
a9d0587b 491 'add' => '3.4',
c3fc2621
CW
492 ],
493 'start_action_unit' => [
e501603b
TO
494 'name' => 'start_action_unit',
495 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 496 'title' => ts('Start Action Unit'),
215b423e 497 'description' => ts('Time units for reminder.'),
e501603b
TO
498 'maxlength' => 8,
499 'size' => CRM_Utils_Type::EIGHT,
a36434b9 500 'where' => 'civicrm_action_schedule.start_action_unit',
522a26c9 501 'table_name' => 'civicrm_action_schedule',
502 'entity' => 'ActionSchedule',
503 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 504 'localizable' => 0,
c3fc2621 505 'html' => [
e501603b 506 'type' => 'Select',
c23563e3 507 'label' => ts("Start Action Unit"),
c3fc2621
CW
508 ],
509 'pseudoconstant' => [
e501603b 510 'callback' => 'CRM_Core_SelectValues::getRecurringFrequencyUnits',
e6ca0a57 511 ],
a9d0587b 512 'add' => '3.4',
c3fc2621
CW
513 ],
514 'start_action_condition' => [
e501603b
TO
515 'name' => 'start_action_condition',
516 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 517 'title' => ts('Start Action Condition'),
215b423e 518 'description' => ts('Reminder Action'),
ed6e48d9 519 'maxlength' => 64,
520 'size' => CRM_Utils_Type::BIG,
a36434b9 521 'where' => 'civicrm_action_schedule.start_action_condition',
522a26c9 522 'table_name' => 'civicrm_action_schedule',
523 'entity' => 'ActionSchedule',
524 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 525 'localizable' => 0,
c23563e3
SL
526 'html' => [
527 'label' => ts("Start Action condition"),
528 ],
a9d0587b 529 'add' => '3.4',
c3fc2621
CW
530 ],
531 'start_action_date' => [
e501603b
TO
532 'name' => 'start_action_date',
533 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 534 'title' => ts('Start Action Date'),
215b423e 535 'description' => ts('Entity date'),
e501603b
TO
536 'maxlength' => 64,
537 'size' => CRM_Utils_Type::BIG,
a36434b9 538 'where' => 'civicrm_action_schedule.start_action_date',
522a26c9 539 'table_name' => 'civicrm_action_schedule',
540 'entity' => 'ActionSchedule',
541 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 542 'localizable' => 0,
c23563e3
SL
543 'html' => [
544 'label' => ts("Start Action Date"),
545 ],
a9d0587b 546 'add' => '3.4',
c3fc2621
CW
547 ],
548 'is_repeat' => [
e501603b
TO
549 'name' => 'is_repeat',
550 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 551 'title' => ts('Repeat?'),
a36434b9 552 'where' => 'civicrm_action_schedule.is_repeat',
45a83e42 553 'default' => '0',
522a26c9 554 'table_name' => 'civicrm_action_schedule',
555 'entity' => 'ActionSchedule',
556 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 557 'localizable' => 0,
a9d0587b 558 'add' => '3.4',
c3fc2621
CW
559 ],
560 'repetition_frequency_unit' => [
e501603b
TO
561 'name' => 'repetition_frequency_unit',
562 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 563 'title' => ts('Repetition Frequency Unit'),
215b423e 564 'description' => ts('Time units for repetition of reminder.'),
e501603b
TO
565 'maxlength' => 8,
566 'size' => CRM_Utils_Type::EIGHT,
a36434b9 567 'where' => 'civicrm_action_schedule.repetition_frequency_unit',
522a26c9 568 'table_name' => 'civicrm_action_schedule',
569 'entity' => 'ActionSchedule',
570 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 571 'localizable' => 0,
c3fc2621 572 'html' => [
e501603b 573 'type' => 'Select',
c23563e3 574 'label' => ts("Repetition Frequency Unit"),
c3fc2621
CW
575 ],
576 'pseudoconstant' => [
e501603b 577 'callback' => 'CRM_Core_SelectValues::getRecurringFrequencyUnits',
e6ca0a57 578 ],
a9d0587b 579 'add' => '3.4',
c3fc2621
CW
580 ],
581 'repetition_frequency_interval' => [
e501603b
TO
582 'name' => 'repetition_frequency_interval',
583 'type' => CRM_Utils_Type::T_INT,
c3fc2621 584 'title' => ts('Repetition Frequency Interval'),
215b423e 585 'description' => ts('Time interval for repeating the reminder.'),
a36434b9 586 'where' => 'civicrm_action_schedule.repetition_frequency_interval',
45a83e42 587 'default' => '0',
522a26c9 588 'table_name' => 'civicrm_action_schedule',
589 'entity' => 'ActionSchedule',
590 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 591 'localizable' => 0,
c23563e3
SL
592 'html' => [
593 'label' => ts("Repetition Frequency Interval"),
594 ],
a9d0587b 595 'add' => '3.4',
c3fc2621
CW
596 ],
597 'end_frequency_unit' => [
e501603b
TO
598 'name' => 'end_frequency_unit',
599 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 600 'title' => ts('End Frequency Unit'),
215b423e 601 'description' => ts('Time units till repetition of reminder.'),
e501603b
TO
602 'maxlength' => 8,
603 'size' => CRM_Utils_Type::EIGHT,
a36434b9 604 'where' => 'civicrm_action_schedule.end_frequency_unit',
522a26c9 605 'table_name' => 'civicrm_action_schedule',
606 'entity' => 'ActionSchedule',
607 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 608 'localizable' => 0,
c3fc2621 609 'html' => [
e501603b 610 'type' => 'Select',
c23563e3 611 'label' => ts("End Frequency Unit"),
c3fc2621
CW
612 ],
613 'pseudoconstant' => [
e501603b 614 'callback' => 'CRM_Core_SelectValues::getRecurringFrequencyUnits',
e6ca0a57 615 ],
a9d0587b 616 'add' => '3.4',
c3fc2621
CW
617 ],
618 'end_frequency_interval' => [
e501603b
TO
619 'name' => 'end_frequency_interval',
620 'type' => CRM_Utils_Type::T_INT,
c3fc2621 621 'title' => ts('End Frequency Interval'),
215b423e 622 'description' => ts('Time interval till repeating the reminder.'),
a36434b9 623 'where' => 'civicrm_action_schedule.end_frequency_interval',
45a83e42 624 'default' => '0',
522a26c9 625 'table_name' => 'civicrm_action_schedule',
626 'entity' => 'ActionSchedule',
627 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 628 'localizable' => 0,
c23563e3
SL
629 'html' => [
630 'label' => ts("End Frequency Interval"),
631 ],
a9d0587b 632 'add' => '3.4',
c3fc2621
CW
633 ],
634 'end_action' => [
e501603b
TO
635 'name' => 'end_action',
636 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 637 'title' => ts('End Action'),
215b423e 638 'description' => ts('Reminder Action till repeating the reminder.'),
e501603b
TO
639 'maxlength' => 32,
640 'size' => CRM_Utils_Type::MEDIUM,
a36434b9 641 'where' => 'civicrm_action_schedule.end_action',
522a26c9 642 'table_name' => 'civicrm_action_schedule',
643 'entity' => 'ActionSchedule',
644 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 645 'localizable' => 0,
c23563e3
SL
646 'html' => [
647 'label' => ts("End Action"),
648 ],
a9d0587b 649 'add' => '3.4',
c3fc2621
CW
650 ],
651 'end_date' => [
e501603b
TO
652 'name' => 'end_date',
653 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 654 'title' => ts('End Date'),
215b423e 655 'description' => ts('Entity end date'),
e501603b
TO
656 'maxlength' => 64,
657 'size' => CRM_Utils_Type::BIG,
a36434b9 658 'where' => 'civicrm_action_schedule.end_date',
522a26c9 659 'table_name' => 'civicrm_action_schedule',
660 'entity' => 'ActionSchedule',
661 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 662 'localizable' => 0,
c23563e3
SL
663 'html' => [
664 'label' => ts("End Date"),
665 ],
a9d0587b 666 'add' => '3.4',
c3fc2621
CW
667 ],
668 'is_active' => [
e501603b
TO
669 'name' => 'is_active',
670 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 671 'title' => ts('Schedule is Active?'),
215b423e 672 'description' => ts('Is this option active?'),
a36434b9 673 'where' => 'civicrm_action_schedule.is_active',
e501603b 674 'default' => '1',
522a26c9 675 'table_name' => 'civicrm_action_schedule',
676 'entity' => 'ActionSchedule',
677 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 678 'localizable' => 0,
a9d0587b 679 'add' => '3.4',
c3fc2621
CW
680 ],
681 'recipient_manual' => [
e501603b
TO
682 'name' => 'recipient_manual',
683 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 684 'title' => ts('Recipient Manual'),
215b423e 685 'description' => ts('Contact IDs to which reminder should be sent.'),
e501603b
TO
686 'maxlength' => 128,
687 'size' => CRM_Utils_Type::HUGE,
a36434b9 688 'where' => 'civicrm_action_schedule.recipient_manual',
522a26c9 689 'table_name' => 'civicrm_action_schedule',
690 'entity' => 'ActionSchedule',
691 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 692 'localizable' => 0,
d5851cf2 693 'serialize' => self::SERIALIZE_COMMA,
a9d0587b 694 'add' => '3.4',
c3fc2621
CW
695 ],
696 'recipient_listing' => [
e501603b
TO
697 'name' => 'recipient_listing',
698 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 699 'title' => ts('Recipient Listing'),
215b423e 700 'description' => ts('listing based on recipient field.'),
e501603b
TO
701 'maxlength' => 128,
702 'size' => CRM_Utils_Type::HUGE,
a36434b9 703 'where' => 'civicrm_action_schedule.recipient_listing',
522a26c9 704 'table_name' => 'civicrm_action_schedule',
705 'entity' => 'ActionSchedule',
706 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 707 'localizable' => 0,
a9d0587b 708 'add' => '4.1',
c3fc2621
CW
709 ],
710 'body_text' => [
e501603b
TO
711 'name' => 'body_text',
712 'type' => CRM_Utils_Type::T_LONGTEXT,
c3fc2621 713 'title' => ts('Reminder Text'),
215b423e 714 'description' => ts('Body of the mailing in text format.'),
a36434b9 715 'where' => 'civicrm_action_schedule.body_text',
522a26c9 716 'table_name' => 'civicrm_action_schedule',
717 'entity' => 'ActionSchedule',
718 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 719 'localizable' => 0,
a9d0587b 720 'add' => '3.4',
c3fc2621
CW
721 ],
722 'body_html' => [
e501603b
TO
723 'name' => 'body_html',
724 'type' => CRM_Utils_Type::T_LONGTEXT,
c3fc2621 725 'title' => ts('Reminder HTML'),
215b423e 726 'description' => ts('Body of the mailing in html format.'),
a36434b9 727 'where' => 'civicrm_action_schedule.body_html',
522a26c9 728 'table_name' => 'civicrm_action_schedule',
729 'entity' => 'ActionSchedule',
730 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 731 'localizable' => 0,
a9d0587b 732 'add' => '3.4',
c3fc2621
CW
733 ],
734 'sms_body_text' => [
e501603b
TO
735 'name' => 'sms_body_text',
736 'type' => CRM_Utils_Type::T_LONGTEXT,
c3fc2621 737 'title' => ts('SMS Reminder Text'),
215b423e 738 'description' => ts('Content of the SMS text.'),
a36434b9 739 'where' => 'civicrm_action_schedule.sms_body_text',
522a26c9 740 'table_name' => 'civicrm_action_schedule',
741 'entity' => 'ActionSchedule',
742 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 743 'localizable' => 0,
a9d0587b 744 'add' => '4.5',
c3fc2621
CW
745 ],
746 'subject' => [
e501603b
TO
747 'name' => 'subject',
748 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 749 'title' => ts('Reminder Subject'),
215b423e 750 'description' => ts('Subject of mailing'),
e501603b
TO
751 'maxlength' => 128,
752 'size' => CRM_Utils_Type::HUGE,
a36434b9 753 'where' => 'civicrm_action_schedule.subject',
522a26c9 754 'table_name' => 'civicrm_action_schedule',
755 'entity' => 'ActionSchedule',
756 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 757 'localizable' => 0,
a9d0587b 758 'add' => '3.4',
c3fc2621
CW
759 ],
760 'record_activity' => [
e501603b
TO
761 'name' => 'record_activity',
762 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 763 'title' => ts('Record Activity for Reminder?'),
215b423e 764 'description' => ts('Record Activity for this reminder?'),
a36434b9 765 'where' => 'civicrm_action_schedule.record_activity',
5fb0de1f 766 'default' => NULL,
522a26c9 767 'table_name' => 'civicrm_action_schedule',
768 'entity' => 'ActionSchedule',
769 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 770 'localizable' => 0,
a9d0587b 771 'add' => '3.4',
c3fc2621
CW
772 ],
773 'mapping_id' => [
e501603b
TO
774 'name' => 'mapping_id',
775 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 776 'title' => ts('Reminder Mapping'),
215b423e 777 'description' => ts('Name/ID of the mapping to use on this table'),
e501603b
TO
778 'maxlength' => 64,
779 'size' => CRM_Utils_Type::BIG,
a36434b9 780 'where' => 'civicrm_action_schedule.mapping_id',
522a26c9 781 'table_name' => 'civicrm_action_schedule',
782 'entity' => 'ActionSchedule',
783 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 784 'localizable' => 0,
a9d0587b 785 'add' => '3.4',
c3fc2621
CW
786 ],
787 'group_id' => [
e501603b
TO
788 'name' => 'group_id',
789 'type' => CRM_Utils_Type::T_INT,
2cbbebe8 790 'title' => ts('Group ID'),
215b423e 791 'description' => ts('FK to Group'),
a36434b9 792 'where' => 'civicrm_action_schedule.group_id',
522a26c9 793 'table_name' => 'civicrm_action_schedule',
794 'entity' => 'ActionSchedule',
795 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 796 'localizable' => 0,
e501603b 797 'FKClassName' => 'CRM_Contact_DAO_Group',
c3fc2621 798 'html' => [
e501603b 799 'type' => 'Select',
2cbbebe8 800 'label' => ts("Group"),
c3fc2621
CW
801 ],
802 'pseudoconstant' => [
e501603b
TO
803 'table' => 'civicrm_group',
804 'keyColumn' => 'id',
805 'labelColumn' => 'title',
e6ca0a57 806 ],
a9d0587b 807 'add' => '3.4',
c3fc2621
CW
808 ],
809 'msg_template_id' => [
e501603b
TO
810 'name' => 'msg_template_id',
811 'type' => CRM_Utils_Type::T_INT,
2cbbebe8 812 'title' => ts('Message Template ID'),
215b423e 813 'description' => ts('FK to the message template.'),
a36434b9 814 'where' => 'civicrm_action_schedule.msg_template_id',
522a26c9 815 'table_name' => 'civicrm_action_schedule',
816 'entity' => 'ActionSchedule',
817 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 818 'localizable' => 0,
e501603b 819 'FKClassName' => 'CRM_Core_DAO_MessageTemplate',
2cbbebe8
A
820 'html' => [
821 'label' => ts("Message Template"),
822 ],
a9d0587b 823 'add' => NULL,
c3fc2621
CW
824 ],
825 'sms_template_id' => [
e501603b
TO
826 'name' => 'sms_template_id',
827 'type' => CRM_Utils_Type::T_INT,
2cbbebe8 828 'title' => ts('SMS Template ID'),
215b423e 829 'description' => ts('FK to the message template.'),
a36434b9 830 'where' => 'civicrm_action_schedule.sms_template_id',
522a26c9 831 'table_name' => 'civicrm_action_schedule',
832 'entity' => 'ActionSchedule',
833 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 834 'localizable' => 0,
e501603b 835 'FKClassName' => 'CRM_Core_DAO_MessageTemplate',
2cbbebe8
A
836 'html' => [
837 'label' => ts("SMS Template"),
838 ],
a9d0587b 839 'add' => NULL,
c3fc2621
CW
840 ],
841 'absolute_date' => [
e501603b
TO
842 'name' => 'absolute_date',
843 'type' => CRM_Utils_Type::T_DATE,
c3fc2621 844 'title' => ts('Fixed Date for Reminder'),
215b423e 845 'description' => ts('Date on which the reminder be sent.'),
a36434b9 846 'where' => 'civicrm_action_schedule.absolute_date',
522a26c9 847 'table_name' => 'civicrm_action_schedule',
848 'entity' => 'ActionSchedule',
849 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 850 'localizable' => 0,
a9d0587b 851 'add' => '4.1',
c3fc2621
CW
852 ],
853 'from_name' => [
e501603b
TO
854 'name' => 'from_name',
855 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 856 'title' => ts('Reminder from Name'),
215b423e 857 'description' => ts('Name in "from" field'),
e501603b
TO
858 'maxlength' => 255,
859 'size' => CRM_Utils_Type::HUGE,
a36434b9 860 'where' => 'civicrm_action_schedule.from_name',
522a26c9 861 'table_name' => 'civicrm_action_schedule',
862 'entity' => 'ActionSchedule',
863 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 864 'localizable' => 0,
a9d0587b 865 'add' => '4.5',
c3fc2621
CW
866 ],
867 'from_email' => [
e501603b
TO
868 'name' => 'from_email',
869 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 870 'title' => ts('Reminder From Email'),
215b423e 871 'description' => ts('Email address in "from" field'),
e501603b
TO
872 'maxlength' => 255,
873 'size' => CRM_Utils_Type::HUGE,
a36434b9 874 'where' => 'civicrm_action_schedule.from_email',
522a26c9 875 'table_name' => 'civicrm_action_schedule',
876 'entity' => 'ActionSchedule',
877 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 878 'localizable' => 0,
a9d0587b 879 'add' => '4.5',
c3fc2621
CW
880 ],
881 'mode' => [
e501603b
TO
882 'name' => 'mode',
883 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 884 'title' => ts('Message Mode'),
215b423e 885 'description' => ts('Send the message as email or sms or both.'),
e501603b
TO
886 'maxlength' => 128,
887 'size' => CRM_Utils_Type::HUGE,
a36434b9 888 'where' => 'civicrm_action_schedule.mode',
e501603b 889 'default' => 'Email',
522a26c9 890 'table_name' => 'civicrm_action_schedule',
891 'entity' => 'ActionSchedule',
892 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 893 'localizable' => 0,
c3fc2621 894 'html' => [
e501603b 895 'type' => 'Select',
c3fc2621
CW
896 ],
897 'pseudoconstant' => [
e501603b
TO
898 'optionGroupName' => 'msg_mode',
899 'optionEditPath' => 'civicrm/admin/options/msg_mode',
e6ca0a57 900 ],
a9d0587b 901 'add' => '4.5',
c3fc2621
CW
902 ],
903 'sms_provider_id' => [
e501603b
TO
904 'name' => 'sms_provider_id',
905 'type' => CRM_Utils_Type::T_INT,
2cbbebe8 906 'title' => ts('SMS Provider ID'),
a36434b9 907 'where' => 'civicrm_action_schedule.sms_provider_id',
522a26c9 908 'table_name' => 'civicrm_action_schedule',
909 'entity' => 'ActionSchedule',
910 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 911 'localizable' => 0,
e501603b 912 'FKClassName' => 'CRM_SMS_DAO_Provider',
c3fc2621 913 'html' => [
e501603b 914 'type' => 'Select',
2cbbebe8 915 'label' => ts("SMS Provider"),
c3fc2621 916 ],
a9d0587b 917 'add' => '4.5',
c3fc2621
CW
918 ],
919 'used_for' => [
e501603b
TO
920 'name' => 'used_for',
921 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 922 'title' => ts('Used For'),
215b423e 923 'description' => ts('Used for repeating entity'),
e501603b
TO
924 'maxlength' => 64,
925 'size' => CRM_Utils_Type::BIG,
a36434b9 926 'where' => 'civicrm_action_schedule.used_for',
522a26c9 927 'table_name' => 'civicrm_action_schedule',
928 'entity' => 'ActionSchedule',
929 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 930 'localizable' => 0,
c23563e3
SL
931 'html' => [
932 'label' => ts("Used For"),
933 ],
a9d0587b 934 'add' => '4.6',
c3fc2621
CW
935 ],
936 'filter_contact_language' => [
e501603b
TO
937 'name' => 'filter_contact_language',
938 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 939 'title' => ts('Filter Contact Language'),
215b423e 940 'description' => ts('Used for multilingual installation'),
e501603b
TO
941 'maxlength' => 128,
942 'size' => CRM_Utils_Type::HUGE,
a36434b9 943 'where' => 'civicrm_action_schedule.filter_contact_language',
522a26c9 944 'table_name' => 'civicrm_action_schedule',
945 'entity' => 'ActionSchedule',
946 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 947 'localizable' => 0,
c23563e3
SL
948 'html' => [
949 'label' => ts("Filter Contact Language"),
950 ],
a9d0587b 951 'add' => '4.7',
c3fc2621
CW
952 ],
953 'communication_language' => [
e501603b
TO
954 'name' => 'communication_language',
955 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 956 'title' => ts('Communication Language'),
215b423e 957 'description' => ts('Used for multilingual installation'),
e501603b
TO
958 'maxlength' => 8,
959 'size' => CRM_Utils_Type::EIGHT,
a36434b9 960 'where' => 'civicrm_action_schedule.communication_language',
522a26c9 961 'table_name' => 'civicrm_action_schedule',
962 'entity' => 'ActionSchedule',
963 'bao' => 'CRM_Core_BAO_ActionSchedule',
6a7e5e5d 964 'localizable' => 0,
c23563e3
SL
965 'html' => [
966 'label' => ts("Communication Language"),
967 ],
a9d0587b 968 'add' => '4.7',
c3fc2621 969 ],
6a62a64e 970 'action_schedule_created_date' => [
971 'name' => 'created_date',
972 'type' => CRM_Utils_Type::T_TIMESTAMP,
973 'title' => ts('Created Date'),
974 'description' => ts('When was the scheduled reminder created.'),
975 'required' => FALSE,
976 'where' => 'civicrm_action_schedule.created_date',
977 'export' => TRUE,
978 'default' => 'CURRENT_TIMESTAMP',
979 'table_name' => 'civicrm_action_schedule',
980 'entity' => 'ActionSchedule',
981 'bao' => 'CRM_Core_BAO_ActionSchedule',
982 'localizable' => 0,
983 'add' => '5.34',
984 ],
985 'modified_date' => [
986 'name' => 'modified_date',
987 'type' => CRM_Utils_Type::T_TIMESTAMP,
988 'title' => ts('Modified Date'),
989 'description' => ts('When the reminder was created or modified.'),
990 'required' => FALSE,
991 'where' => 'civicrm_action_schedule.modified_date',
992 'default' => 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP',
993 'table_name' => 'civicrm_action_schedule',
994 'entity' => 'ActionSchedule',
995 'bao' => 'CRM_Core_BAO_ActionSchedule',
996 'localizable' => 0,
c23563e3
SL
997 'html' => [
998 'label' => ts("Modified Date"),
999 ],
a0e733f3 1000 'readonly' => TRUE,
6a62a64e 1001 'add' => '5.34',
1002 ],
1003 'action_schedule_effective_start_date' => [
1004 'name' => 'effective_start_date',
1005 'type' => CRM_Utils_Type::T_TIMESTAMP,
1006 'title' => ts('Effective start date'),
1007 'description' => ts('Earliest date to consider start events from.'),
1008 'required' => FALSE,
1009 'where' => 'civicrm_action_schedule.effective_start_date',
1010 'export' => TRUE,
1011 'table_name' => 'civicrm_action_schedule',
1012 'entity' => 'ActionSchedule',
1013 'bao' => 'CRM_Core_BAO_ActionSchedule',
1014 'localizable' => 0,
1015 'add' => '5.34',
1016 ],
1017 'action_schedule_effective_end_date' => [
1018 'name' => 'effective_end_date',
1019 'type' => CRM_Utils_Type::T_TIMESTAMP,
1020 'title' => ts('Effective end date'),
1021 'description' => ts('Latest date to consider end events from.'),
1022 'required' => FALSE,
1023 'where' => 'civicrm_action_schedule.effective_end_date',
1024 'export' => TRUE,
1025 'table_name' => 'civicrm_action_schedule',
1026 'entity' => 'ActionSchedule',
1027 'bao' => 'CRM_Core_BAO_ActionSchedule',
1028 'localizable' => 0,
1029 'add' => '5.34',
1030 ],
c3fc2621 1031 ];
346aaaba 1032 CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
e501603b 1033 }
346aaaba 1034 return Civi::$statics[__CLASS__]['fields'];
e501603b 1035 }
c3fc2621 1036
e501603b 1037 /**
bd8e0b14 1038 * Return a mapping from field-name to the corresponding key (as used in fields()).
e501603b
TO
1039 *
1040 * @return array
bd8e0b14 1041 * Array(string $name => string $uniqueName).
e501603b 1042 */
c3fc2621 1043 public static function &fieldKeys() {
bd8e0b14
TO
1044 if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
1045 Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
e501603b 1046 }
bd8e0b14 1047 return Civi::$statics[__CLASS__]['fieldKeys'];
e501603b 1048 }
c3fc2621 1049
e501603b
TO
1050 /**
1051 * Returns the names of this table
1052 *
1053 * @return string
1054 */
c3fc2621 1055 public static function getTableName() {
e501603b
TO
1056 return self::$_tableName;
1057 }
c3fc2621 1058
e501603b
TO
1059 /**
1060 * Returns if this table needs to be logged
1061 *
c3fc2621 1062 * @return bool
e501603b 1063 */
c3fc2621 1064 public function getLog() {
e501603b
TO
1065 return self::$_log;
1066 }
c3fc2621 1067
e501603b
TO
1068 /**
1069 * Returns the list of fields that can be imported
1070 *
1071 * @param bool $prefix
1072 *
1073 * @return array
1074 */
c3fc2621
CW
1075 public static function &import($prefix = FALSE) {
1076 $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'action_schedule', $prefix, []);
60808919 1077 return $r;
e501603b 1078 }
c3fc2621 1079
e501603b
TO
1080 /**
1081 * Returns the list of fields that can be exported
1082 *
1083 * @param bool $prefix
1084 *
1085 * @return array
1086 */
c3fc2621
CW
1087 public static function &export($prefix = FALSE) {
1088 $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'action_schedule', $prefix, []);
60808919 1089 return $r;
e501603b 1090 }
c3fc2621 1091
e7a6b91a
AS
1092 /**
1093 * Returns the list of indices
c3fc2621
CW
1094 *
1095 * @param bool $localize
1096 *
1097 * @return array
e7a6b91a
AS
1098 */
1099 public static function indices($localize = TRUE) {
c3fc2621 1100 $indices = [];
e7a6b91a
AS
1101 return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
1102 }
c3fc2621 1103
e501603b 1104}