Merge pull request #23562 from eileenmcnaughton/import_cc
[civicrm-core.git] / CRM / Contribute / DAO / ContributionPage.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/Contribute/ContributionPage.xml
8 * DO NOT EDIT. Generated by CRM_Core_CodeGen
c1e814c7 9 * (GenCodeChecksum:7419936ebe47d1c999473be6571682e7)
e501603b 10 */
c3fc2621 11
f41f0342 12/**
c3fc2621 13 * Database access object for the ContributionPage entity.
f41f0342 14 */
e501603b 15class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
929a1c14
CW
16 const EXT = 'civicrm';
17 const TABLE_ADDED = '1.3';
d31fb4e3 18 const COMPONENT = 'CiviContribute';
c3fc2621 19
e501603b 20 /**
f41f0342 21 * Static instance to hold the table name.
e501603b
TO
22 *
23 * @var string
24 */
fa45b5b9 25 public static $_tableName = 'civicrm_contribution_page';
c3fc2621 26
8ab43c93
CW
27 /**
28 * Field to show when displaying a record.
29 *
30 * @var string
31 */
32 public static $_labelField = 'title';
33
e501603b 34 /**
f41f0342 35 * Should CiviCRM log any modifications to this table in the civicrm_log table.
e501603b 36 *
c3fc2621 37 * @var bool
e501603b 38 */
fa45b5b9 39 public static $_log = TRUE;
c3fc2621 40
e501603b 41 /**
2cbbebe8 42 * Contribution ID
e501603b 43 *
28979d65
CW
44 * @var int|string|null
45 * (SQL type: int unsigned)
46 * Note that values will be retrieved from the database as a string.
e501603b
TO
47 */
48 public $id;
c3fc2621 49
e501603b
TO
50 /**
51 * Contribution Page title. For top of page display
52 *
28979d65
CW
53 * @var string|null
54 * (SQL type: varchar(255))
55 * Note that values will be retrieved from the database as a string.
e501603b
TO
56 */
57 public $title;
c3fc2621 58
e501603b
TO
59 /**
60 * Text and html allowed. Displayed below title.
61 *
28979d65
CW
62 * @var string|null
63 * (SQL type: text)
64 * Note that values will be retrieved from the database as a string.
e501603b
TO
65 */
66 public $intro_text;
c3fc2621 67
e501603b
TO
68 /**
69 * default financial type assigned to contributions submitted via this page, e.g. Contribution, Campaign Contribution
70 *
28979d65
CW
71 * @var int|string|null
72 * (SQL type: int unsigned)
73 * Note that values will be retrieved from the database as a string.
e501603b
TO
74 */
75 public $financial_type_id;
c3fc2621 76
e501603b
TO
77 /**
78 * Payment Processors configured for this contribution Page
79 *
28979d65
CW
80 * @var string|null
81 * (SQL type: varchar(128))
82 * Note that values will be retrieved from the database as a string.
e501603b
TO
83 */
84 public $payment_processor;
c3fc2621 85
e501603b
TO
86 /**
87 * if true - processing logic must reject transaction at confirmation stage if pay method != credit card
88 *
c1e814c7 89 * @var bool|string
28979d65
CW
90 * (SQL type: tinyint)
91 * Note that values will be retrieved from the database as a string.
e501603b
TO
92 */
93 public $is_credit_card_only;
c3fc2621 94
e501603b
TO
95 /**
96 * if true - allows real-time monetary transactions otherwise non-monetary transactions
97 *
c1e814c7 98 * @var bool|string
28979d65
CW
99 * (SQL type: tinyint)
100 * Note that values will be retrieved from the database as a string.
e501603b
TO
101 */
102 public $is_monetary;
c3fc2621 103
e501603b
TO
104 /**
105 * if true - allows recurring contributions, valid only for PayPal_Standard
106 *
c1e814c7 107 * @var bool|string
28979d65
CW
108 * (SQL type: tinyint)
109 * Note that values will be retrieved from the database as a string.
e501603b
TO
110 */
111 public $is_recur;
c3fc2621 112
e501603b
TO
113 /**
114 * if false, the confirm page in contribution pages gets skipped
115 *
c1e814c7 116 * @var bool|string
28979d65
CW
117 * (SQL type: tinyint)
118 * Note that values will be retrieved from the database as a string.
e501603b
TO
119 */
120 public $is_confirm_enabled;
c3fc2621 121
e501603b
TO
122 /**
123 * Supported recurring frequency units.
124 *
28979d65
CW
125 * @var string|null
126 * (SQL type: varchar(128))
127 * Note that values will be retrieved from the database as a string.
e501603b
TO
128 */
129 public $recur_frequency_unit;
c3fc2621 130
e501603b
TO
131 /**
132 * if true - supports recurring intervals
133 *
c1e814c7 134 * @var bool|string
28979d65
CW
135 * (SQL type: tinyint)
136 * Note that values will be retrieved from the database as a string.
e501603b
TO
137 */
138 public $is_recur_interval;
c3fc2621 139
e501603b
TO
140 /**
141 * if true - asks user for recurring installments
142 *
c1e814c7 143 * @var bool|string
28979d65
CW
144 * (SQL type: tinyint)
145 * Note that values will be retrieved from the database as a string.
e501603b
TO
146 */
147 public $is_recur_installments;
c3fc2621 148
e501603b
TO
149 /**
150 * if true - user is able to adjust payment start date
151 *
c1e814c7 152 * @var bool|string
28979d65
CW
153 * (SQL type: tinyint)
154 * Note that values will be retrieved from the database as a string.
e501603b
TO
155 */
156 public $adjust_recur_start_date;
c3fc2621 157
e501603b
TO
158 /**
159 * if true - allows the user to send payment directly to the org later
160 *
c1e814c7 161 * @var bool|string
28979d65
CW
162 * (SQL type: tinyint)
163 * Note that values will be retrieved from the database as a string.
e501603b
TO
164 */
165 public $is_pay_later;
c3fc2621 166
e501603b
TO
167 /**
168 * The text displayed to the user in the main form
169 *
28979d65
CW
170 * @var string|null
171 * (SQL type: text)
172 * Note that values will be retrieved from the database as a string.
e501603b
TO
173 */
174 public $pay_later_text;
c3fc2621 175
e501603b
TO
176 /**
177 * The receipt sent to the user instead of the normal receipt text
178 *
28979d65
CW
179 * @var string|null
180 * (SQL type: text)
181 * Note that values will be retrieved from the database as a string.
e501603b
TO
182 */
183 public $pay_later_receipt;
c3fc2621 184
e501603b
TO
185 /**
186 * is partial payment enabled for this online contribution page
187 *
28979d65
CW
188 * @var bool|string|null
189 * (SQL type: tinyint)
190 * Note that values will be retrieved from the database as a string.
e501603b
TO
191 */
192 public $is_partial_payment;
c3fc2621 193
e501603b
TO
194 /**
195 * Initial amount label for partial payment
196 *
28979d65
CW
197 * @var string|null
198 * (SQL type: varchar(255))
199 * Note that values will be retrieved from the database as a string.
e501603b
TO
200 */
201 public $initial_amount_label;
c3fc2621 202
e501603b
TO
203 /**
204 * Initial amount help text for partial payment
205 *
28979d65
CW
206 * @var string|null
207 * (SQL type: text)
208 * Note that values will be retrieved from the database as a string.
e501603b
TO
209 */
210 public $initial_amount_help_text;
c3fc2621 211
e501603b
TO
212 /**
213 * Minimum initial amount for partial payment
214 *
28979d65
CW
215 * @var float|string|null
216 * (SQL type: decimal(20,2))
217 * Note that values will be retrieved from the database as a string.
e501603b
TO
218 */
219 public $min_initial_amount;
c3fc2621 220
e501603b
TO
221 /**
222 * if true, page will include an input text field where user can enter their own amount
223 *
c1e814c7 224 * @var bool|string
28979d65
CW
225 * (SQL type: tinyint)
226 * Note that values will be retrieved from the database as a string.
e501603b
TO
227 */
228 public $is_allow_other_amount;
c3fc2621 229
e501603b
TO
230 /**
231 * FK to civicrm_option_value.
232 *
28979d65
CW
233 * @var int|string|null
234 * (SQL type: int unsigned)
235 * Note that values will be retrieved from the database as a string.
e501603b
TO
236 */
237 public $default_amount_id;
c3fc2621 238
e501603b
TO
239 /**
240 * if other amounts allowed, user can configure minimum allowed.
241 *
28979d65
CW
242 * @var float|string|null
243 * (SQL type: decimal(20,2))
244 * Note that values will be retrieved from the database as a string.
e501603b
TO
245 */
246 public $min_amount;
c3fc2621 247
e501603b
TO
248 /**
249 * if other amounts allowed, user can configure maximum allowed.
250 *
28979d65
CW
251 * @var float|string|null
252 * (SQL type: decimal(20,2))
253 * Note that values will be retrieved from the database as a string.
e501603b
TO
254 */
255 public $max_amount;
c3fc2621 256
e501603b
TO
257 /**
258 * The target goal for this page, allows people to build a goal meter
259 *
28979d65
CW
260 * @var float|string|null
261 * (SQL type: decimal(20,2))
262 * Note that values will be retrieved from the database as a string.
e501603b
TO
263 */
264 public $goal_amount;
c3fc2621 265
e501603b
TO
266 /**
267 * Title for Thank-you page (header title tag, and display at the top of the page).
268 *
28979d65
CW
269 * @var string|null
270 * (SQL type: varchar(255))
271 * Note that values will be retrieved from the database as a string.
e501603b
TO
272 */
273 public $thankyou_title;
c3fc2621 274
e501603b
TO
275 /**
276 * text and html allowed. displayed above result on success page
277 *
28979d65
CW
278 * @var string|null
279 * (SQL type: text)
280 * Note that values will be retrieved from the database as a string.
e501603b
TO
281 */
282 public $thankyou_text;
c3fc2621 283
e501603b
TO
284 /**
285 * Text and html allowed. displayed at the bottom of the success page. Common usage is to include link(s) to other pages such as tell-a-friend, etc.
286 *
28979d65
CW
287 * @var string|null
288 * (SQL type: text)
289 * Note that values will be retrieved from the database as a string.
e501603b
TO
290 */
291 public $thankyou_footer;
c3fc2621 292
e501603b
TO
293 /**
294 * if true, receipt is automatically emailed to contact on success
295 *
c1e814c7 296 * @var bool|string
28979d65
CW
297 * (SQL type: tinyint)
298 * Note that values will be retrieved from the database as a string.
e501603b
TO
299 */
300 public $is_email_receipt;
c3fc2621 301
e501603b
TO
302 /**
303 * FROM email name used for receipts generated by contributions to this contribution page.
304 *
28979d65
CW
305 * @var string|null
306 * (SQL type: varchar(255))
307 * Note that values will be retrieved from the database as a string.
e501603b
TO
308 */
309 public $receipt_from_name;
c3fc2621 310
e501603b
TO
311 /**
312 * FROM email address used for receipts generated by contributions to this contribution page.
313 *
28979d65
CW
314 * @var string|null
315 * (SQL type: varchar(255))
316 * Note that values will be retrieved from the database as a string.
e501603b
TO
317 */
318 public $receipt_from_email;
c3fc2621 319
e501603b
TO
320 /**
321 * comma-separated list of email addresses to cc each time a receipt is sent
322 *
28979d65
CW
323 * @var string|null
324 * (SQL type: varchar(255))
325 * Note that values will be retrieved from the database as a string.
e501603b
TO
326 */
327 public $cc_receipt;
c3fc2621 328
e501603b
TO
329 /**
330 * comma-separated list of email addresses to bcc each time a receipt is sent
331 *
28979d65
CW
332 * @var string|null
333 * (SQL type: varchar(255))
334 * Note that values will be retrieved from the database as a string.
e501603b
TO
335 */
336 public $bcc_receipt;
c3fc2621 337
e501603b
TO
338 /**
339 * text to include above standard receipt info on receipt email. emails are text-only, so do not allow html for now
340 *
28979d65
CW
341 * @var string|null
342 * (SQL type: text)
343 * Note that values will be retrieved from the database as a string.
e501603b
TO
344 */
345 public $receipt_text;
c3fc2621 346
e501603b
TO
347 /**
348 * Is this property active?
349 *
c1e814c7 350 * @var bool|string
28979d65
CW
351 * (SQL type: tinyint)
352 * Note that values will be retrieved from the database as a string.
e501603b
TO
353 */
354 public $is_active;
c3fc2621 355
e501603b
TO
356 /**
357 * Text and html allowed. Displayed at the bottom of the first page of the contribution wizard.
358 *
28979d65
CW
359 * @var string|null
360 * (SQL type: text)
361 * Note that values will be retrieved from the database as a string.
e501603b
TO
362 */
363 public $footer_text;
c3fc2621 364
e501603b
TO
365 /**
366 * Is this property active?
367 *
c1e814c7 368 * @var bool|string
28979d65
CW
369 * (SQL type: tinyint)
370 * Note that values will be retrieved from the database as a string.
e501603b
TO
371 */
372 public $amount_block_is_active;
c3fc2621 373
e501603b
TO
374 /**
375 * Date and time that this page starts.
376 *
28979d65
CW
377 * @var string|null
378 * (SQL type: datetime)
379 * Note that values will be retrieved from the database as a string.
e501603b
TO
380 */
381 public $start_date;
c3fc2621 382
e501603b
TO
383 /**
384 * Date and time that this page ends. May be NULL if no defined end date/time
385 *
28979d65
CW
386 * @var string|null
387 * (SQL type: datetime)
388 * Note that values will be retrieved from the database as a string.
e501603b
TO
389 */
390 public $end_date;
c3fc2621 391
e501603b
TO
392 /**
393 * FK to civicrm_contact, who created this contribution page
394 *
28979d65
CW
395 * @var int|string|null
396 * (SQL type: int unsigned)
397 * Note that values will be retrieved from the database as a string.
e501603b
TO
398 */
399 public $created_id;
c3fc2621 400
e501603b
TO
401 /**
402 * Date and time that contribution page was created.
403 *
28979d65
CW
404 * @var string|null
405 * (SQL type: datetime)
406 * Note that values will be retrieved from the database as a string.
e501603b
TO
407 */
408 public $created_date;
c3fc2621 409
e501603b
TO
410 /**
411 * 3 character string, value from config setting or input via user.
412 *
28979d65
CW
413 * @var string|null
414 * (SQL type: varchar(3))
415 * Note that values will be retrieved from the database as a string.
e501603b
TO
416 */
417 public $currency;
c3fc2621 418
e501603b
TO
419 /**
420 * The campaign for which we are collecting contributions with this page.
421 *
28979d65
CW
422 * @var int|string|null
423 * (SQL type: int unsigned)
424 * Note that values will be retrieved from the database as a string.
e501603b
TO
425 */
426 public $campaign_id;
c3fc2621 427
e501603b
TO
428 /**
429 * Can people share the contribution page through social media?
430 *
c1e814c7 431 * @var bool|string
28979d65
CW
432 * (SQL type: tinyint)
433 * Note that values will be retrieved from the database as a string.
e501603b
TO
434 */
435 public $is_share;
c3fc2621 436
e501603b
TO
437 /**
438 * if true - billing block is required for online contribution page
439 *
c1e814c7 440 * @var bool|string
28979d65
CW
441 * (SQL type: tinyint)
442 * Note that values will be retrieved from the database as a string.
e501603b
TO
443 */
444 public $is_billing_required;
c3fc2621 445
6489e3de
SL
446 /**
447 * Contribution Page Public title
448 *
28979d65
CW
449 * @var string|null
450 * (SQL type: varchar(255))
451 * Note that values will be retrieved from the database as a string.
6489e3de
SL
452 */
453 public $frontend_title;
454
e501603b 455 /**
f41f0342 456 * Class constructor.
e501603b 457 */
c3fc2621 458 public function __construct() {
e501603b
TO
459 $this->__table = 'civicrm_contribution_page';
460 parent::__construct();
461 }
c3fc2621 462
449c4e6b
CW
463 /**
464 * Returns localized title of this entity.
7b66c3b5
AH
465 *
466 * @param bool $plural
467 * Whether to return the plural version of the title.
449c4e6b 468 */
7b66c3b5
AH
469 public static function getEntityTitle($plural = FALSE) {
470 return $plural ? ts('Contribution Pages') : ts('Contribution Page');
449c4e6b
CW
471 }
472
e501603b 473 /**
f41f0342 474 * Returns foreign keys and entity references.
e501603b
TO
475 *
476 * @return array
477 * [CRM_Core_Reference_Interface]
478 */
c3fc2621 479 public static function getReferenceColumns() {
346aaaba 480 if (!isset(Civi::$statics[__CLASS__]['links'])) {
fa45b5b9 481 Civi::$statics[__CLASS__]['links'] = static::createReferenceColumns(__CLASS__);
c3fc2621
CW
482 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'financial_type_id', 'civicrm_financial_type', 'id');
483 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'created_id', 'civicrm_contact', 'id');
484 Civi::$statics[__CLASS__]['links'][] = new CRM_Core_Reference_Basic(self::getTableName(), 'campaign_id', 'civicrm_campaign', 'id');
346aaaba 485 CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', Civi::$statics[__CLASS__]['links']);
e501603b 486 }
346aaaba 487 return Civi::$statics[__CLASS__]['links'];
e501603b 488 }
c3fc2621 489
e501603b
TO
490 /**
491 * Returns all the column names of this table
492 *
493 * @return array
494 */
c3fc2621 495 public static function &fields() {
346aaaba 496 if (!isset(Civi::$statics[__CLASS__]['fields'])) {
c3fc2621
CW
497 Civi::$statics[__CLASS__]['fields'] = [
498 'id' => [
e501603b
TO
499 'name' => 'id',
500 'type' => CRM_Utils_Type::T_INT,
c3fc2621 501 'title' => ts('Contribution Page ID'),
2cbbebe8 502 'description' => ts('Contribution ID'),
c3fc2621 503 'required' => TRUE,
a36434b9 504 'where' => 'civicrm_contribution_page.id',
522a26c9 505 'table_name' => 'civicrm_contribution_page',
506 'entity' => 'ContributionPage',
507 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 508 'localizable' => 0,
2cbbebe8
A
509 'html' => [
510 'type' => 'Number',
511 ],
1fe423d6 512 'readonly' => TRUE,
a9d0587b 513 'add' => '1.3',
c3fc2621
CW
514 ],
515 'title' => [
e501603b
TO
516 'name' => 'title',
517 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 518 'title' => ts('Contribution Page Title'),
215b423e 519 'description' => ts('Contribution Page title. For top of page display'),
e501603b
TO
520 'maxlength' => 255,
521 'size' => CRM_Utils_Type::HUGE,
a36434b9 522 'where' => 'civicrm_contribution_page.title',
522a26c9 523 'table_name' => 'civicrm_contribution_page',
524 'entity' => 'ContributionPage',
525 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 526 'localizable' => 1,
a9d0587b 527 'add' => '1.3',
c3fc2621
CW
528 ],
529 'intro_text' => [
e501603b
TO
530 'name' => 'intro_text',
531 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 532 'title' => ts('Contribution Page Introduction Text'),
215b423e 533 'description' => ts('Text and html allowed. Displayed below title.'),
e501603b
TO
534 'rows' => 6,
535 'cols' => 50,
a36434b9 536 'where' => 'civicrm_contribution_page.intro_text',
522a26c9 537 'table_name' => 'civicrm_contribution_page',
538 'entity' => 'ContributionPage',
539 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 540 'localizable' => 1,
c3fc2621 541 'html' => [
e501603b 542 'type' => 'RichTextEditor',
c3fc2621 543 ],
a9d0587b 544 'add' => '1.3',
c3fc2621
CW
545 ],
546 'financial_type_id' => [
e501603b
TO
547 'name' => 'financial_type_id',
548 'type' => CRM_Utils_Type::T_INT,
2cbbebe8 549 'title' => ts('Financial Type ID'),
215b423e 550 'description' => ts('default financial type assigned to contributions submitted via this page, e.g. Contribution, Campaign Contribution'),
a36434b9 551 'where' => 'civicrm_contribution_page.financial_type_id',
522a26c9 552 'table_name' => 'civicrm_contribution_page',
553 'entity' => 'ContributionPage',
554 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 555 'localizable' => 0,
e501603b 556 'FKClassName' => 'CRM_Financial_DAO_FinancialType',
c3fc2621 557 'html' => [
e501603b 558 'type' => 'Select',
c23563e3 559 'label' => ts("Financial Type"),
c3fc2621
CW
560 ],
561 'pseudoconstant' => [
e501603b
TO
562 'table' => 'civicrm_financial_type',
563 'keyColumn' => 'id',
564 'labelColumn' => 'name',
e6ca0a57 565 ],
a9d0587b 566 'add' => '4.3',
c3fc2621
CW
567 ],
568 'payment_processor' => [
e501603b
TO
569 'name' => 'payment_processor',
570 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 571 'title' => ts('Payment Processor'),
215b423e 572 'description' => ts('Payment Processors configured for this contribution Page'),
e501603b
TO
573 'maxlength' => 128,
574 'size' => CRM_Utils_Type::HUGE,
a36434b9 575 'where' => 'civicrm_contribution_page.payment_processor',
522a26c9 576 'table_name' => 'civicrm_contribution_page',
577 'entity' => 'ContributionPage',
578 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 579 'localizable' => 0,
476627e4 580 'serialize' => self::SERIALIZE_SEPARATOR_TRIMMED,
c3fc2621 581 'html' => [
e501603b 582 'type' => 'Select',
c23563e3 583 'label' => ts("Payment Processors"),
c3fc2621
CW
584 ],
585 'pseudoconstant' => [
e501603b
TO
586 'table' => 'civicrm_payment_processor',
587 'keyColumn' => 'id',
588 'labelColumn' => 'name',
e6ca0a57 589 ],
a9d0587b 590 'add' => '1.8',
c3fc2621
CW
591 ],
592 'is_credit_card_only' => [
e501603b
TO
593 'name' => 'is_credit_card_only',
594 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 595 'title' => ts('Is Credit Card Only?'),
215b423e 596 'description' => ts('if true - processing logic must reject transaction at confirmation stage if pay method != credit card'),
c1e814c7 597 'required' => TRUE,
a36434b9 598 'where' => 'civicrm_contribution_page.is_credit_card_only',
45a83e42 599 'default' => '0',
522a26c9 600 'table_name' => 'civicrm_contribution_page',
601 'entity' => 'ContributionPage',
602 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 603 'localizable' => 0,
a9d0587b 604 'add' => '1.3',
c3fc2621
CW
605 ],
606 'is_monetary' => [
e501603b
TO
607 'name' => 'is_monetary',
608 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 609 'title' => ts('Is Monetary'),
215b423e 610 'description' => ts('if true - allows real-time monetary transactions otherwise non-monetary transactions'),
c1e814c7 611 'required' => TRUE,
a36434b9 612 'where' => 'civicrm_contribution_page.is_monetary',
e501603b 613 'default' => '1',
522a26c9 614 'table_name' => 'civicrm_contribution_page',
615 'entity' => 'ContributionPage',
616 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 617 'localizable' => 0,
a9d0587b 618 'add' => '1.6',
c3fc2621
CW
619 ],
620 'is_recur' => [
e501603b
TO
621 'name' => 'is_recur',
622 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 623 'title' => ts('Is Recurring'),
215b423e 624 'description' => ts('if true - allows recurring contributions, valid only for PayPal_Standard'),
c1e814c7 625 'required' => TRUE,
a36434b9 626 'where' => 'civicrm_contribution_page.is_recur',
45a83e42 627 'default' => '0',
522a26c9 628 'table_name' => 'civicrm_contribution_page',
629 'entity' => 'ContributionPage',
630 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 631 'localizable' => 0,
a9d0587b 632 'add' => '1.6',
c3fc2621
CW
633 ],
634 'is_confirm_enabled' => [
e501603b
TO
635 'name' => 'is_confirm_enabled',
636 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 637 'title' => ts('Confirmation Page?'),
215b423e 638 'description' => ts('if false, the confirm page in contribution pages gets skipped'),
c1e814c7 639 'required' => TRUE,
a36434b9 640 'where' => 'civicrm_contribution_page.is_confirm_enabled',
e501603b 641 'default' => '1',
522a26c9 642 'table_name' => 'civicrm_contribution_page',
643 'entity' => 'ContributionPage',
644 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 645 'localizable' => 0,
a9d0587b 646 'add' => '4.2',
c3fc2621
CW
647 ],
648 'recur_frequency_unit' => [
e501603b
TO
649 'name' => 'recur_frequency_unit',
650 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 651 'title' => ts('Recurring Frequency'),
215b423e 652 'description' => ts('Supported recurring frequency units.'),
e501603b
TO
653 'maxlength' => 128,
654 'size' => CRM_Utils_Type::HUGE,
a36434b9 655 'where' => 'civicrm_contribution_page.recur_frequency_unit',
522a26c9 656 'table_name' => 'civicrm_contribution_page',
657 'entity' => 'ContributionPage',
658 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 659 'localizable' => 0,
2a5c9b4d 660 'serialize' => self::SERIALIZE_SEPARATOR_TRIMMED,
c3fc2621 661 'html' => [
2a5c9b4d 662 'type' => 'Select',
c3fc2621
CW
663 ],
664 'pseudoconstant' => [
2a5c9b4d
CW
665 'optionGroupName' => 'recur_frequency_units',
666 'keyColumn' => 'name',
667 'optionEditPath' => 'civicrm/admin/options/recur_frequency_units',
e6ca0a57 668 ],
a9d0587b 669 'add' => '2.1',
c3fc2621
CW
670 ],
671 'is_recur_interval' => [
e501603b
TO
672 'name' => 'is_recur_interval',
673 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 674 'title' => ts('Support Recurring Intervals'),
215b423e 675 'description' => ts('if true - supports recurring intervals'),
c1e814c7 676 'required' => TRUE,
a36434b9 677 'where' => 'civicrm_contribution_page.is_recur_interval',
45a83e42 678 'default' => '0',
522a26c9 679 'table_name' => 'civicrm_contribution_page',
680 'entity' => 'ContributionPage',
681 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 682 'localizable' => 0,
a9d0587b 683 'add' => '2.1',
c3fc2621
CW
684 ],
685 'is_recur_installments' => [
e501603b
TO
686 'name' => 'is_recur_installments',
687 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 688 'title' => ts('Recurring Installments?'),
215b423e 689 'description' => ts('if true - asks user for recurring installments'),
c1e814c7 690 'required' => TRUE,
a36434b9 691 'where' => 'civicrm_contribution_page.is_recur_installments',
45a83e42 692 'default' => '0',
522a26c9 693 'table_name' => 'civicrm_contribution_page',
694 'entity' => 'ContributionPage',
695 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 696 'localizable' => 0,
a9d0587b 697 'add' => '4.3',
c3fc2621
CW
698 ],
699 'adjust_recur_start_date' => [
e501603b
TO
700 'name' => 'adjust_recur_start_date',
701 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 702 'title' => ts('Adjust Recurring Start Date'),
215b423e 703 'description' => ts('if true - user is able to adjust payment start date'),
c1e814c7 704 'required' => TRUE,
a36434b9 705 'where' => 'civicrm_contribution_page.adjust_recur_start_date',
45a83e42 706 'default' => '0',
522a26c9 707 'table_name' => 'civicrm_contribution_page',
708 'entity' => 'ContributionPage',
709 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 710 'localizable' => 0,
a9d0587b 711 'add' => '4.7',
c3fc2621
CW
712 ],
713 'is_pay_later' => [
e501603b
TO
714 'name' => 'is_pay_later',
715 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 716 'title' => ts('Pay Later'),
215b423e 717 'description' => ts('if true - allows the user to send payment directly to the org later'),
c1e814c7 718 'required' => TRUE,
a36434b9 719 'where' => 'civicrm_contribution_page.is_pay_later',
45a83e42 720 'default' => '0',
522a26c9 721 'table_name' => 'civicrm_contribution_page',
722 'entity' => 'ContributionPage',
723 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 724 'localizable' => 0,
a9d0587b 725 'add' => '2.0',
c3fc2621
CW
726 ],
727 'pay_later_text' => [
e501603b
TO
728 'name' => 'pay_later_text',
729 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 730 'title' => ts('Pay Later Text'),
215b423e 731 'description' => ts('The text displayed to the user in the main form'),
a36434b9 732 'where' => 'civicrm_contribution_page.pay_later_text',
522a26c9 733 'table_name' => 'civicrm_contribution_page',
734 'entity' => 'ContributionPage',
735 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 736 'localizable' => 1,
a9d0587b 737 'add' => '2.0',
c3fc2621
CW
738 ],
739 'pay_later_receipt' => [
e501603b
TO
740 'name' => 'pay_later_receipt',
741 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 742 'title' => ts('Pay Later Receipt'),
215b423e 743 'description' => ts('The receipt sent to the user instead of the normal receipt text'),
a36434b9 744 'where' => 'civicrm_contribution_page.pay_later_receipt',
522a26c9 745 'table_name' => 'civicrm_contribution_page',
746 'entity' => 'ContributionPage',
747 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 748 'localizable' => 1,
a9d0587b 749 'add' => '2.0',
c3fc2621
CW
750 ],
751 'is_partial_payment' => [
e501603b
TO
752 'name' => 'is_partial_payment',
753 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 754 'title' => ts('Allow Partial Payment'),
215b423e 755 'description' => ts('is partial payment enabled for this online contribution page'),
a36434b9 756 'where' => 'civicrm_contribution_page.is_partial_payment',
45a83e42 757 'default' => '0',
522a26c9 758 'table_name' => 'civicrm_contribution_page',
759 'entity' => 'ContributionPage',
760 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 761 'localizable' => 0,
a9d0587b 762 'add' => '4.3',
c3fc2621
CW
763 ],
764 'initial_amount_label' => [
e501603b
TO
765 'name' => 'initial_amount_label',
766 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 767 'title' => ts('Initial Amount Label'),
215b423e 768 'description' => ts('Initial amount label for partial payment'),
e501603b
TO
769 'maxlength' => 255,
770 'size' => CRM_Utils_Type::HUGE,
a36434b9 771 'where' => 'civicrm_contribution_page.initial_amount_label',
522a26c9 772 'table_name' => 'civicrm_contribution_page',
773 'entity' => 'ContributionPage',
774 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 775 'localizable' => 1,
c23563e3
SL
776 'html' => [
777 'label' => ts("Initial Amount Label"),
778 ],
a9d0587b 779 'add' => '4.3',
c3fc2621
CW
780 ],
781 'initial_amount_help_text' => [
e501603b
TO
782 'name' => 'initial_amount_help_text',
783 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 784 'title' => ts('Initial Amount Help Text'),
215b423e 785 'description' => ts('Initial amount help text for partial payment'),
a36434b9 786 'where' => 'civicrm_contribution_page.initial_amount_help_text',
522a26c9 787 'table_name' => 'civicrm_contribution_page',
788 'entity' => 'ContributionPage',
789 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 790 'localizable' => 1,
c23563e3
SL
791 'html' => [
792 'label' => ts("Initial Amount Help Text"),
793 ],
a9d0587b 794 'add' => '4.3',
c3fc2621
CW
795 ],
796 'min_initial_amount' => [
e501603b
TO
797 'name' => 'min_initial_amount',
798 'type' => CRM_Utils_Type::T_MONEY,
c3fc2621 799 'title' => ts('Min Initial Amount'),
215b423e 800 'description' => ts('Minimum initial amount for partial payment'),
c3fc2621 801 'precision' => [
e501603b 802 20,
fb607354 803 2,
c3fc2621 804 ],
a36434b9 805 'where' => 'civicrm_contribution_page.min_initial_amount',
522a26c9 806 'table_name' => 'civicrm_contribution_page',
807 'entity' => 'ContributionPage',
808 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 809 'localizable' => 0,
c23563e3
SL
810 'html' => [
811 'label' => ts("Min. Initial Amount"),
812 ],
a9d0587b 813 'add' => '4.3',
c3fc2621
CW
814 ],
815 'is_allow_other_amount' => [
e501603b
TO
816 'name' => 'is_allow_other_amount',
817 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 818 'title' => ts('Allow Other Amounts'),
215b423e 819 'description' => ts('if true, page will include an input text field where user can enter their own amount'),
c1e814c7 820 'required' => TRUE,
a36434b9 821 'where' => 'civicrm_contribution_page.is_allow_other_amount',
45a83e42 822 'default' => '0',
522a26c9 823 'table_name' => 'civicrm_contribution_page',
824 'entity' => 'ContributionPage',
825 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 826 'localizable' => 0,
a9d0587b 827 'add' => '1.3',
c3fc2621
CW
828 ],
829 'default_amount_id' => [
e501603b
TO
830 'name' => 'default_amount_id',
831 'type' => CRM_Utils_Type::T_INT,
c3fc2621 832 'title' => ts('Default Amount'),
215b423e 833 'description' => ts('FK to civicrm_option_value.'),
a36434b9 834 'where' => 'civicrm_contribution_page.default_amount_id',
522a26c9 835 'table_name' => 'civicrm_contribution_page',
836 'entity' => 'ContributionPage',
837 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 838 'localizable' => 0,
a9d0587b 839 'add' => '1.7',
c3fc2621
CW
840 ],
841 'min_amount' => [
e501603b
TO
842 'name' => 'min_amount',
843 'type' => CRM_Utils_Type::T_MONEY,
c3fc2621 844 'title' => ts('Minimum Amount'),
215b423e 845 'description' => ts('if other amounts allowed, user can configure minimum allowed.'),
c3fc2621 846 'precision' => [
e501603b 847 20,
fb607354 848 2,
c3fc2621 849 ],
a36434b9 850 'where' => 'civicrm_contribution_page.min_amount',
522a26c9 851 'table_name' => 'civicrm_contribution_page',
852 'entity' => 'ContributionPage',
853 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 854 'localizable' => 0,
a9d0587b 855 'add' => '1.3',
c3fc2621
CW
856 ],
857 'max_amount' => [
e501603b
TO
858 'name' => 'max_amount',
859 'type' => CRM_Utils_Type::T_MONEY,
c3fc2621 860 'title' => ts('Maximum Amount'),
215b423e 861 'description' => ts('if other amounts allowed, user can configure maximum allowed.'),
c3fc2621 862 'precision' => [
e501603b 863 20,
fb607354 864 2,
c3fc2621 865 ],
a36434b9 866 'where' => 'civicrm_contribution_page.max_amount',
522a26c9 867 'table_name' => 'civicrm_contribution_page',
868 'entity' => 'ContributionPage',
869 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 870 'localizable' => 0,
a9d0587b 871 'add' => '1.3',
c3fc2621
CW
872 ],
873 'goal_amount' => [
e501603b
TO
874 'name' => 'goal_amount',
875 'type' => CRM_Utils_Type::T_MONEY,
c3fc2621 876 'title' => ts('Goal Amount'),
215b423e 877 'description' => ts('The target goal for this page, allows people to build a goal meter'),
c3fc2621 878 'precision' => [
e501603b 879 20,
fb607354 880 2,
c3fc2621 881 ],
a36434b9 882 'where' => 'civicrm_contribution_page.goal_amount',
522a26c9 883 'table_name' => 'civicrm_contribution_page',
884 'entity' => 'ContributionPage',
885 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 886 'localizable' => 0,
c23563e3
SL
887 'html' => [
888 'label' => ts("Goal Amount"),
889 ],
a9d0587b 890 'add' => '1.5',
c3fc2621
CW
891 ],
892 'thankyou_title' => [
e501603b
TO
893 'name' => 'thankyou_title',
894 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 895 'title' => ts('Thank-you Title'),
215b423e 896 'description' => ts('Title for Thank-you page (header title tag, and display at the top of the page).'),
e501603b
TO
897 'maxlength' => 255,
898 'size' => CRM_Utils_Type::HUGE,
a36434b9 899 'where' => 'civicrm_contribution_page.thankyou_title',
522a26c9 900 'table_name' => 'civicrm_contribution_page',
901 'entity' => 'ContributionPage',
902 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 903 'localizable' => 1,
a9d0587b 904 'add' => '1.3',
c3fc2621
CW
905 ],
906 'thankyou_text' => [
e501603b
TO
907 'name' => 'thankyou_text',
908 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 909 'title' => ts('Thank-you Text'),
215b423e 910 'description' => ts('text and html allowed. displayed above result on success page'),
e501603b
TO
911 'rows' => 8,
912 'cols' => 60,
a36434b9 913 'where' => 'civicrm_contribution_page.thankyou_text',
522a26c9 914 'table_name' => 'civicrm_contribution_page',
915 'entity' => 'ContributionPage',
916 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 917 'localizable' => 1,
c3fc2621 918 'html' => [
e501603b 919 'type' => 'RichTextEditor',
c3fc2621 920 ],
a9d0587b 921 'add' => '1.3',
c3fc2621
CW
922 ],
923 'thankyou_footer' => [
e501603b
TO
924 'name' => 'thankyou_footer',
925 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 926 'title' => ts('Thank-you Footer'),
215b423e 927 'description' => ts('Text and html allowed. displayed at the bottom of the success page. Common usage is to include link(s) to other pages such as tell-a-friend, etc.'),
e501603b
TO
928 'rows' => 8,
929 'cols' => 60,
a36434b9 930 'where' => 'civicrm_contribution_page.thankyou_footer',
522a26c9 931 'table_name' => 'civicrm_contribution_page',
932 'entity' => 'ContributionPage',
933 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 934 'localizable' => 1,
c3fc2621 935 'html' => [
e501603b 936 'type' => 'RichTextEditor',
c3fc2621 937 ],
a9d0587b 938 'add' => '1.3',
c3fc2621
CW
939 ],
940 'is_email_receipt' => [
e501603b
TO
941 'name' => 'is_email_receipt',
942 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 943 'title' => ts('Send email Receipt'),
215b423e 944 'description' => ts('if true, receipt is automatically emailed to contact on success'),
c1e814c7 945 'required' => TRUE,
a36434b9 946 'where' => 'civicrm_contribution_page.is_email_receipt',
45a83e42 947 'default' => '0',
522a26c9 948 'table_name' => 'civicrm_contribution_page',
949 'entity' => 'ContributionPage',
950 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 951 'localizable' => 0,
a9d0587b 952 'add' => '1.3',
c3fc2621
CW
953 ],
954 'receipt_from_name' => [
e501603b
TO
955 'name' => 'receipt_from_name',
956 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 957 'title' => ts('Receipt From'),
215b423e 958 'description' => ts('FROM email name used for receipts generated by contributions to this contribution page.'),
e501603b
TO
959 'maxlength' => 255,
960 'size' => CRM_Utils_Type::HUGE,
a36434b9 961 'where' => 'civicrm_contribution_page.receipt_from_name',
522a26c9 962 'table_name' => 'civicrm_contribution_page',
963 'entity' => 'ContributionPage',
964 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 965 'localizable' => 1,
a9d0587b 966 'add' => '1.3',
c3fc2621
CW
967 ],
968 'receipt_from_email' => [
e501603b
TO
969 'name' => 'receipt_from_email',
970 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 971 'title' => ts('Receipt From email'),
215b423e 972 'description' => ts('FROM email address used for receipts generated by contributions to this contribution page.'),
e501603b
TO
973 'maxlength' => 255,
974 'size' => CRM_Utils_Type::HUGE,
a36434b9 975 'where' => 'civicrm_contribution_page.receipt_from_email',
522a26c9 976 'table_name' => 'civicrm_contribution_page',
977 'entity' => 'ContributionPage',
978 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 979 'localizable' => 0,
a9d0587b 980 'add' => '1.3',
c3fc2621
CW
981 ],
982 'cc_receipt' => [
e501603b
TO
983 'name' => 'cc_receipt',
984 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 985 'title' => ts('Receipt cc'),
215b423e 986 'description' => ts('comma-separated list of email addresses to cc each time a receipt is sent'),
e501603b
TO
987 'maxlength' => 255,
988 'size' => CRM_Utils_Type::HUGE,
a36434b9 989 'where' => 'civicrm_contribution_page.cc_receipt',
522a26c9 990 'table_name' => 'civicrm_contribution_page',
991 'entity' => 'ContributionPage',
992 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 993 'localizable' => 0,
a9d0587b 994 'add' => '1.3',
c3fc2621
CW
995 ],
996 'bcc_receipt' => [
e501603b
TO
997 'name' => 'bcc_receipt',
998 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 999 'title' => ts('Receipt bcc'),
215b423e 1000 'description' => ts('comma-separated list of email addresses to bcc each time a receipt is sent'),
e501603b
TO
1001 'maxlength' => 255,
1002 'size' => CRM_Utils_Type::HUGE,
a36434b9 1003 'where' => 'civicrm_contribution_page.bcc_receipt',
522a26c9 1004 'table_name' => 'civicrm_contribution_page',
1005 'entity' => 'ContributionPage',
1006 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 1007 'localizable' => 0,
a9d0587b 1008 'add' => '1.3',
c3fc2621
CW
1009 ],
1010 'receipt_text' => [
e501603b
TO
1011 'name' => 'receipt_text',
1012 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 1013 'title' => ts('Receipt Text'),
215b423e 1014 'description' => ts('text to include above standard receipt info on receipt email. emails are text-only, so do not allow html for now'),
e501603b
TO
1015 'rows' => 6,
1016 'cols' => 50,
a36434b9 1017 'where' => 'civicrm_contribution_page.receipt_text',
522a26c9 1018 'table_name' => 'civicrm_contribution_page',
1019 'entity' => 'ContributionPage',
1020 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 1021 'localizable' => 1,
c3fc2621 1022 'html' => [
e501603b 1023 'type' => 'TextArea',
c3fc2621 1024 ],
a9d0587b 1025 'add' => '1.3',
c3fc2621
CW
1026 ],
1027 'is_active' => [
e501603b
TO
1028 'name' => 'is_active',
1029 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1030 'title' => ts('Is Page Active?'),
215b423e 1031 'description' => ts('Is this property active?'),
c1e814c7 1032 'required' => TRUE,
a36434b9 1033 'where' => 'civicrm_contribution_page.is_active',
c1e814c7 1034 'default' => '1',
522a26c9 1035 'table_name' => 'civicrm_contribution_page',
1036 'entity' => 'ContributionPage',
1037 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 1038 'localizable' => 0,
a9d0587b 1039 'add' => '1.3',
c3fc2621
CW
1040 ],
1041 'footer_text' => [
e501603b
TO
1042 'name' => 'footer_text',
1043 'type' => CRM_Utils_Type::T_TEXT,
c3fc2621 1044 'title' => ts('Footer Text'),
215b423e 1045 'description' => ts('Text and html allowed. Displayed at the bottom of the first page of the contribution wizard.'),
e501603b
TO
1046 'rows' => 6,
1047 'cols' => 50,
a36434b9 1048 'where' => 'civicrm_contribution_page.footer_text',
522a26c9 1049 'table_name' => 'civicrm_contribution_page',
1050 'entity' => 'ContributionPage',
1051 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 1052 'localizable' => 1,
c3fc2621 1053 'html' => [
e501603b 1054 'type' => 'RichTextEditor',
c3fc2621 1055 ],
a9d0587b 1056 'add' => '1.4',
c3fc2621
CW
1057 ],
1058 'amount_block_is_active' => [
e501603b
TO
1059 'name' => 'amount_block_is_active',
1060 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1061 'title' => ts('Is Amount Block Active?'),
215b423e 1062 'description' => ts('Is this property active?'),
c1e814c7 1063 'required' => TRUE,
a36434b9 1064 'where' => 'civicrm_contribution_page.amount_block_is_active',
e501603b 1065 'default' => '1',
522a26c9 1066 'table_name' => 'civicrm_contribution_page',
1067 'entity' => 'ContributionPage',
1068 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 1069 'localizable' => 0,
a9d0587b 1070 'add' => '1.5',
c3fc2621
CW
1071 ],
1072 'start_date' => [
e501603b
TO
1073 'name' => 'start_date',
1074 'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
c3fc2621 1075 'title' => ts('Contribution Page Start Date'),
215b423e 1076 'description' => ts('Date and time that this page starts.'),
a36434b9 1077 'where' => 'civicrm_contribution_page.start_date',
522a26c9 1078 'table_name' => 'civicrm_contribution_page',
1079 'entity' => 'ContributionPage',
1080 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 1081 'localizable' => 0,
a9d0587b 1082 'add' => '1.8',
c3fc2621
CW
1083 ],
1084 'end_date' => [
e501603b
TO
1085 'name' => 'end_date',
1086 'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
c3fc2621 1087 'title' => ts('Contribution Page End Date'),
215b423e 1088 'description' => ts('Date and time that this page ends. May be NULL if no defined end date/time'),
a36434b9 1089 'where' => 'civicrm_contribution_page.end_date',
522a26c9 1090 'table_name' => 'civicrm_contribution_page',
1091 'entity' => 'ContributionPage',
1092 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 1093 'localizable' => 0,
a9d0587b 1094 'add' => '1.8',
c3fc2621
CW
1095 ],
1096 'created_id' => [
e501603b
TO
1097 'name' => 'created_id',
1098 'type' => CRM_Utils_Type::T_INT,
2cbbebe8 1099 'title' => ts('Created By Contact ID'),
215b423e 1100 'description' => ts('FK to civicrm_contact, who created this contribution page'),
a36434b9 1101 'where' => 'civicrm_contribution_page.created_id',
522a26c9 1102 'table_name' => 'civicrm_contribution_page',
1103 'entity' => 'ContributionPage',
1104 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 1105 'localizable' => 0,
e501603b 1106 'FKClassName' => 'CRM_Contact_DAO_Contact',
2cbbebe8
A
1107 'html' => [
1108 'label' => ts("Created By"),
1109 ],
a9d0587b 1110 'add' => '3.0',
c3fc2621
CW
1111 ],
1112 'created_date' => [
e501603b
TO
1113 'name' => 'created_date',
1114 'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
c3fc2621 1115 'title' => ts('Contribution Page Created Date'),
215b423e 1116 'description' => ts('Date and time that contribution page was created.'),
a36434b9 1117 'where' => 'civicrm_contribution_page.created_date',
522a26c9 1118 'table_name' => 'civicrm_contribution_page',
1119 'entity' => 'ContributionPage',
1120 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 1121 'localizable' => 0,
a9d0587b 1122 'add' => '3.0',
c3fc2621
CW
1123 ],
1124 'currency' => [
e501603b
TO
1125 'name' => 'currency',
1126 'type' => CRM_Utils_Type::T_STRING,
c3fc2621 1127 'title' => ts('Contribution Page Currency'),
215b423e 1128 'description' => ts('3 character string, value from config setting or input via user.'),
e501603b
TO
1129 'maxlength' => 3,
1130 'size' => CRM_Utils_Type::FOUR,
a36434b9 1131 'where' => 'civicrm_contribution_page.currency',
1132 'headerPattern' => '/cur(rency)?/i',
1133 'dataPattern' => '/^[A-Z]{3}$/i',
5fb0de1f 1134 'default' => NULL,
522a26c9 1135 'table_name' => 'civicrm_contribution_page',
1136 'entity' => 'ContributionPage',
1137 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 1138 'localizable' => 0,
c3fc2621 1139 'html' => [
e501603b 1140 'type' => 'Select',
c3fc2621
CW
1141 ],
1142 'pseudoconstant' => [
e501603b
TO
1143 'table' => 'civicrm_currency',
1144 'keyColumn' => 'name',
1145 'labelColumn' => 'full_name',
1146 'nameColumn' => 'name',
a8fdb24e 1147 'abbrColumn' => 'symbol',
e6ca0a57 1148 ],
a9d0587b 1149 'add' => '3.3',
c3fc2621
CW
1150 ],
1151 'campaign_id' => [
e501603b
TO
1152 'name' => 'campaign_id',
1153 'type' => CRM_Utils_Type::T_INT,
2cbbebe8 1154 'title' => ts('Campaign ID'),
215b423e 1155 'description' => ts('The campaign for which we are collecting contributions with this page.'),
a36434b9 1156 'where' => 'civicrm_contribution_page.campaign_id',
522a26c9 1157 'table_name' => 'civicrm_contribution_page',
1158 'entity' => 'ContributionPage',
1159 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 1160 'localizable' => 0,
e501603b 1161 'FKClassName' => 'CRM_Campaign_DAO_Campaign',
88c31c05 1162 'component' => 'CiviCampaign',
2cbbebe8 1163 'html' => [
8813f972 1164 'type' => 'EntityRef',
2cbbebe8
A
1165 'label' => ts("Campaign"),
1166 ],
25ad69f2
CW
1167 'pseudoconstant' => [
1168 'table' => 'civicrm_campaign',
1169 'keyColumn' => 'id',
1170 'labelColumn' => 'title',
1171 'prefetch' => 'FALSE',
1172 ],
a9d0587b 1173 'add' => '3.4',
c3fc2621
CW
1174 ],
1175 'is_share' => [
e501603b
TO
1176 'name' => 'is_share',
1177 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1178 'title' => ts('Is Contribution Page Shared?'),
215b423e 1179 'description' => ts('Can people share the contribution page through social media?'),
c1e814c7 1180 'required' => TRUE,
a36434b9 1181 'where' => 'civicrm_contribution_page.is_share',
e501603b 1182 'default' => '1',
522a26c9 1183 'table_name' => 'civicrm_contribution_page',
1184 'entity' => 'ContributionPage',
1185 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 1186 'localizable' => 0,
a9d0587b 1187 'add' => '4.1',
c3fc2621
CW
1188 ],
1189 'is_billing_required' => [
e501603b
TO
1190 'name' => 'is_billing_required',
1191 'type' => CRM_Utils_Type::T_BOOLEAN,
c3fc2621 1192 'title' => ts('Is billing block required'),
215b423e 1193 'description' => ts('if true - billing block is required for online contribution page'),
c1e814c7 1194 'required' => TRUE,
a36434b9 1195 'where' => 'civicrm_contribution_page.is_billing_required',
45a83e42 1196 'default' => '0',
522a26c9 1197 'table_name' => 'civicrm_contribution_page',
1198 'entity' => 'ContributionPage',
1199 'bao' => 'CRM_Contribute_BAO_ContributionPage',
6a7e5e5d 1200 'localizable' => 0,
a9d0587b 1201 'add' => '4.6',
c3fc2621 1202 ],
6489e3de
SL
1203 'contribution_page_frontend_title' => [
1204 'name' => 'frontend_title',
1205 'type' => CRM_Utils_Type::T_STRING,
1206 'title' => ts('Public Title'),
1207 'description' => ts('Contribution Page Public title'),
1208 'maxlength' => 255,
1209 'size' => CRM_Utils_Type::HUGE,
1210 'where' => 'civicrm_contribution_page.frontend_title',
5fb0de1f 1211 'default' => NULL,
6489e3de
SL
1212 'table_name' => 'civicrm_contribution_page',
1213 'entity' => 'ContributionPage',
1214 'bao' => 'CRM_Contribute_BAO_ContributionPage',
1215 'localizable' => 1,
1216 'html' => [
1217 'type' => 'Text',
1218 ],
a9d0587b 1219 'add' => '5.20',
6489e3de 1220 ],
c3fc2621 1221 ];
346aaaba 1222 CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
e501603b 1223 }
346aaaba 1224 return Civi::$statics[__CLASS__]['fields'];
e501603b 1225 }
c3fc2621 1226
e501603b 1227 /**
bd8e0b14 1228 * Return a mapping from field-name to the corresponding key (as used in fields()).
e501603b
TO
1229 *
1230 * @return array
bd8e0b14 1231 * Array(string $name => string $uniqueName).
e501603b 1232 */
c3fc2621 1233 public static function &fieldKeys() {
bd8e0b14
TO
1234 if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
1235 Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
e501603b 1236 }
bd8e0b14 1237 return Civi::$statics[__CLASS__]['fieldKeys'];
e501603b 1238 }
c3fc2621 1239
e501603b
TO
1240 /**
1241 * Returns the names of this table
1242 *
1243 * @return string
1244 */
c3fc2621 1245 public static function getTableName() {
e501603b
TO
1246 return CRM_Core_DAO::getLocaleTableName(self::$_tableName);
1247 }
c3fc2621 1248
e501603b
TO
1249 /**
1250 * Returns if this table needs to be logged
1251 *
c3fc2621 1252 * @return bool
e501603b 1253 */
c3fc2621 1254 public function getLog() {
e501603b
TO
1255 return self::$_log;
1256 }
c3fc2621 1257
e501603b
TO
1258 /**
1259 * Returns the list of fields that can be imported
1260 *
1261 * @param bool $prefix
1262 *
1263 * @return array
1264 */
c3fc2621
CW
1265 public static function &import($prefix = FALSE) {
1266 $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'contribution_page', $prefix, []);
60808919 1267 return $r;
e501603b 1268 }
c3fc2621 1269
e501603b
TO
1270 /**
1271 * Returns the list of fields that can be exported
1272 *
1273 * @param bool $prefix
1274 *
1275 * @return array
1276 */
c3fc2621
CW
1277 public static function &export($prefix = FALSE) {
1278 $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'contribution_page', $prefix, []);
60808919 1279 return $r;
e501603b 1280 }
c3fc2621 1281
e7a6b91a
AS
1282 /**
1283 * Returns the list of indices
c3fc2621
CW
1284 *
1285 * @param bool $localize
1286 *
1287 * @return array
e7a6b91a
AS
1288 */
1289 public static function indices($localize = TRUE) {
c3fc2621 1290 $indices = [];
e7a6b91a
AS
1291 return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
1292 }
c3fc2621 1293
e501603b 1294}