5 * @copyright CiviCRM LLC (c) 2004-2019
7 * Generated from xml/schema/CRM/Price/PriceField.xml
8 * DO NOT EDIT. Generated by CRM_Core_CodeGen
9 * (GenCodeChecksum:e9ff5a22489167a421efd2f415ba4f58)
13 * Database access object for the PriceField entity.
15 class CRM_Price_DAO_PriceField
extends CRM_Core_DAO
{
18 * Static instance to hold the table name.
22 public static $_tableName = 'civicrm_price_field';
25 * Should CiviCRM log any modifications to this table in the civicrm_log table.
29 public static $_log = TRUE;
39 * FK to civicrm_price_set
46 * Variable name/programmatic handle for this field.
53 * Text for form field label (also friendly name for administering this field).
65 * Enter a quantity for this field?
72 * Description and/or help text to display before this field.
79 * Description and/or help text to display after this field.
86 * Order in which the fields should appear
93 * Should the price be displayed next to the label for each option?
97 public $is_display_amounts;
100 * number of options per line for checkbox and radio
104 public $options_per_line;
107 * Is this price field active
114 * Is this price field required (value must be > 1)
121 * If non-zero, do not show this field before the date specified
128 * If non-zero, do not show this field after the date specified
135 * Optional scripting attributes for field
142 * Implicit FK to civicrm_option_group with name = 'visibility'
146 public $visibility_id;
151 public function __construct() {
152 $this->__table
= 'civicrm_price_field';
153 parent
::__construct();
157 * Returns foreign keys and entity references.
160 * [CRM_Core_Reference_Interface]
162 public static function getReferenceColumns() {
163 if (!isset(Civi
::$statics[__CLASS__
]['links'])) {
164 Civi
::$statics[__CLASS__
]['links'] = static::createReferenceColumns(__CLASS__
);
165 Civi
::$statics[__CLASS__
]['links'][] = new CRM_Core_Reference_Basic(self
::getTableName(), 'price_set_id', 'civicrm_price_set', 'id');
166 CRM_Core_DAO_AllCoreTables
::invoke(__CLASS__
, 'links_callback', Civi
::$statics[__CLASS__
]['links']);
168 return Civi
::$statics[__CLASS__
]['links'];
172 * Returns all the column names of this table
176 public static function &fields() {
177 if (!isset(Civi
::$statics[__CLASS__
]['fields'])) {
178 Civi
::$statics[__CLASS__
]['fields'] = [
181 'type' => CRM_Utils_Type
::T_INT
,
182 'title' => ts('Price Field ID'),
183 'description' => ts('Price Field'),
185 'table_name' => 'civicrm_price_field',
186 'entity' => 'PriceField',
187 'bao' => 'CRM_Price_BAO_PriceField',
191 'name' => 'price_set_id',
192 'type' => CRM_Utils_Type
::T_INT
,
193 'title' => ts('Price Set'),
194 'description' => ts('FK to civicrm_price_set'),
196 'table_name' => 'civicrm_price_field',
197 'entity' => 'PriceField',
198 'bao' => 'CRM_Price_BAO_PriceField',
200 'FKClassName' => 'CRM_Price_DAO_PriceSet',
204 'type' => CRM_Utils_Type
::T_STRING
,
205 'title' => ts('Name'),
206 'description' => ts('Variable name/programmatic handle for this field.'),
209 'size' => CRM_Utils_Type
::HUGE
,
210 'table_name' => 'civicrm_price_field',
211 'entity' => 'PriceField',
212 'bao' => 'CRM_Price_BAO_PriceField',
220 'type' => CRM_Utils_Type
::T_STRING
,
221 'title' => ts('Label'),
222 'description' => ts('Text for form field label (also friendly name for administering this field).'),
225 'size' => CRM_Utils_Type
::HUGE
,
226 'table_name' => 'civicrm_price_field',
227 'entity' => 'PriceField',
228 'bao' => 'CRM_Price_BAO_PriceField',
235 'name' => 'html_type',
236 'type' => CRM_Utils_Type
::T_STRING
,
237 'title' => ts('Html Type'),
240 'size' => CRM_Utils_Type
::TWELVE
,
241 'table_name' => 'civicrm_price_field',
242 'entity' => 'PriceField',
243 'bao' => 'CRM_Price_BAO_PriceField',
248 'pseudoconstant' => [
249 'callback' => 'CRM_Price_BAO_PriceField::htmlTypes',
253 'name' => 'is_enter_qty',
254 'type' => CRM_Utils_Type
::T_BOOLEAN
,
255 'title' => ts('Price Field Quantity Required?'),
256 'description' => ts('Enter a quantity for this field?'),
258 'table_name' => 'civicrm_price_field',
259 'entity' => 'PriceField',
260 'bao' => 'CRM_Price_BAO_PriceField',
263 'type' => 'CheckBox',
267 'name' => 'help_pre',
268 'type' => CRM_Utils_Type
::T_TEXT
,
269 'title' => ts('Price Field Pre Text'),
270 'description' => ts('Description and/or help text to display before this field.'),
273 'table_name' => 'civicrm_price_field',
274 'entity' => 'PriceField',
275 'bao' => 'CRM_Price_BAO_PriceField',
278 'type' => 'TextArea',
282 'name' => 'help_post',
283 'type' => CRM_Utils_Type
::T_TEXT
,
284 'title' => ts('Price Field Post Text'),
285 'description' => ts('Description and/or help text to display after this field.'),
288 'table_name' => 'civicrm_price_field',
289 'entity' => 'PriceField',
290 'bao' => 'CRM_Price_BAO_PriceField',
293 'type' => 'TextArea',
298 'type' => CRM_Utils_Type
::T_INT
,
299 'title' => ts('Order'),
300 'description' => ts('Order in which the fields should appear'),
302 'table_name' => 'civicrm_price_field',
303 'entity' => 'PriceField',
304 'bao' => 'CRM_Price_BAO_PriceField',
310 'is_display_amounts' => [
311 'name' => 'is_display_amounts',
312 'type' => CRM_Utils_Type
::T_BOOLEAN
,
313 'title' => ts('Price Field Show Amounts?'),
314 'description' => ts('Should the price be displayed next to the label for each option?'),
316 'table_name' => 'civicrm_price_field',
317 'entity' => 'PriceField',
318 'bao' => 'CRM_Price_BAO_PriceField',
321 'type' => 'CheckBox',
324 'options_per_line' => [
325 'name' => 'options_per_line',
326 'type' => CRM_Utils_Type
::T_INT
,
327 'title' => ts('Price Field Options per Row'),
328 'description' => ts('number of options per line for checkbox and radio'),
330 'table_name' => 'civicrm_price_field',
331 'entity' => 'PriceField',
332 'bao' => 'CRM_Price_BAO_PriceField',
339 'name' => 'is_active',
340 'type' => CRM_Utils_Type
::T_BOOLEAN
,
341 'title' => ts('Price Field Is Active?'),
342 'description' => ts('Is this price field active'),
344 'table_name' => 'civicrm_price_field',
345 'entity' => 'PriceField',
346 'bao' => 'CRM_Price_BAO_PriceField',
349 'type' => 'CheckBox',
353 'name' => 'is_required',
354 'type' => CRM_Utils_Type
::T_BOOLEAN
,
355 'title' => ts('Price Field is Required?'),
356 'description' => ts('Is this price field required (value must be > 1)'),
358 'table_name' => 'civicrm_price_field',
359 'entity' => 'PriceField',
360 'bao' => 'CRM_Price_BAO_PriceField',
363 'type' => 'CheckBox',
367 'name' => 'active_on',
368 'type' => CRM_Utils_Type
::T_DATE + CRM_Utils_Type
::T_TIME
,
369 'title' => ts('Price Field Start Date'),
370 'description' => ts('If non-zero, do not show this field before the date specified'),
372 'table_name' => 'civicrm_price_field',
373 'entity' => 'PriceField',
374 'bao' => 'CRM_Price_BAO_PriceField',
377 'type' => 'Select Date',
378 'formatType' => 'activityDateTime',
382 'name' => 'expire_on',
383 'type' => CRM_Utils_Type
::T_DATE + CRM_Utils_Type
::T_TIME
,
384 'title' => ts('Price Field End Date'),
385 'description' => ts('If non-zero, do not show this field after the date specified'),
387 'table_name' => 'civicrm_price_field',
388 'entity' => 'PriceField',
389 'bao' => 'CRM_Price_BAO_PriceField',
392 'type' => 'Select Date',
393 'formatType' => 'activityDateTime',
397 'name' => 'javascript',
398 'type' => CRM_Utils_Type
::T_STRING
,
399 'title' => ts('Price Field Javascript'),
400 'description' => ts('Optional scripting attributes for field'),
402 'size' => CRM_Utils_Type
::HUGE
,
403 'table_name' => 'civicrm_price_field',
404 'entity' => 'PriceField',
405 'bao' => 'CRM_Price_BAO_PriceField',
412 'name' => 'visibility_id',
413 'type' => CRM_Utils_Type
::T_INT
,
414 'title' => ts('Price Field Visibility'),
415 'description' => ts('Implicit FK to civicrm_option_group with name = \'visibility\''),
417 'table_name' => 'civicrm_price_field',
418 'entity' => 'PriceField',
419 'bao' => 'CRM_Price_BAO_PriceField',
424 'pseudoconstant' => [
425 'optionGroupName' => 'visibility',
426 'optionEditPath' => 'civicrm/admin/options/visibility',
430 CRM_Core_DAO_AllCoreTables
::invoke(__CLASS__
, 'fields_callback', Civi
::$statics[__CLASS__
]['fields']);
432 return Civi
::$statics[__CLASS__
]['fields'];
436 * Return a mapping from field-name to the corresponding key (as used in fields()).
439 * Array(string $name => string $uniqueName).
441 public static function &fieldKeys() {
442 if (!isset(Civi
::$statics[__CLASS__
]['fieldKeys'])) {
443 Civi
::$statics[__CLASS__
]['fieldKeys'] = array_flip(CRM_Utils_Array
::collect('name', self
::fields()));
445 return Civi
::$statics[__CLASS__
]['fieldKeys'];
449 * Returns the names of this table
453 public static function getTableName() {
454 return CRM_Core_DAO
::getLocaleTableName(self
::$_tableName);
458 * Returns if this table needs to be logged
462 public function getLog() {
467 * Returns the list of fields that can be imported
469 * @param bool $prefix
473 public static function &import($prefix = FALSE) {
474 $r = CRM_Core_DAO_AllCoreTables
::getImports(__CLASS__
, 'price_field', $prefix, []);
479 * Returns the list of fields that can be exported
481 * @param bool $prefix
485 public static function &export($prefix = FALSE) {
486 $r = CRM_Core_DAO_AllCoreTables
::getExports(__CLASS__
, 'price_field', $prefix, []);
491 * Returns the list of indices
493 * @param bool $localize
497 public static function indices($localize = TRUE) {
500 'name' => 'index_name',
504 'localizable' => FALSE,
505 'sig' => 'civicrm_price_field::0::name',
508 return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables
::multilingualize(__CLASS__
, $indices) : $indices;