327 lines
9.5 KiB
PHP
327 lines
9.5 KiB
PHP
<?php
|
|
|
|
namespace Civi\Twingle\Shop\DAO;
|
|
|
|
/**
|
|
* @package CRM
|
|
* @copyright CiviCRM LLC https://civicrm.org/licensing
|
|
*
|
|
* Generated from de.systopia.twingle/xml/schema/CRM/Twingle/TwingleProduct.xml
|
|
* DO NOT EDIT. Generated by CRM_Core_CodeGen
|
|
* (GenCodeChecksum:b8ced533ba6f4249619ffe5353965a4f)
|
|
*/
|
|
use CRM_Twingle_ExtensionUtil as E;
|
|
|
|
/**
|
|
* Database access object for the TwingleProduct entity.
|
|
*/
|
|
class TwingleProduct extends \CRM_Core_DAO {
|
|
const EXT = E::LONG_NAME;
|
|
const TABLE_ADDED = '';
|
|
|
|
/**
|
|
* Static instance to hold the table name.
|
|
*
|
|
* @var string
|
|
*/
|
|
public static $_tableName = 'civicrm_twingle_product';
|
|
|
|
/**
|
|
* Should CiviCRM log any modifications to this table in the civicrm_log table.
|
|
*
|
|
* @var bool
|
|
*/
|
|
public static $_log = FALSE;
|
|
|
|
/**
|
|
* Unique TwingleProduct ID
|
|
*
|
|
* @var int|string|null
|
|
* (SQL type: int unsigned)
|
|
* Note that values will be retrieved from the database as a string.
|
|
*/
|
|
public $id;
|
|
|
|
/**
|
|
* The ID of this product in the Twingle database
|
|
*
|
|
* @var int|string
|
|
* (SQL type: int unsigned)
|
|
* Note that values will be retrieved from the database as a string.
|
|
*/
|
|
public $external_id;
|
|
|
|
/**
|
|
* FK to Price Field
|
|
*
|
|
* @var int|string
|
|
* (SQL type: int unsigned)
|
|
* Note that values will be retrieved from the database as a string.
|
|
*/
|
|
public $price_field_id;
|
|
|
|
/**
|
|
* FK to Twingle Shop
|
|
*
|
|
* @var int|string|null
|
|
* (SQL type: int unsigned)
|
|
* Note that values will be retrieved from the database as a string.
|
|
*/
|
|
public $twingle_shop_id;
|
|
|
|
/**
|
|
* Timestamp of when the product was created in the database
|
|
*
|
|
* @var string
|
|
* (SQL type: datetime)
|
|
* Note that values will be retrieved from the database as a string.
|
|
*/
|
|
public $created_at;
|
|
|
|
/**
|
|
* Timestamp of when the product was last updated in the database
|
|
*
|
|
* @var string
|
|
* (SQL type: datetime)
|
|
* Note that values will be retrieved from the database as a string.
|
|
*/
|
|
public $updated_at;
|
|
|
|
/**
|
|
* Class constructor.
|
|
*/
|
|
public function __construct() {
|
|
$this->__table = 'civicrm_twingle_product';
|
|
parent::__construct();
|
|
}
|
|
|
|
/**
|
|
* Returns localized title of this entity.
|
|
*
|
|
* @param bool $plural
|
|
* Whether to return the plural version of the title.
|
|
*/
|
|
public static function getEntityTitle($plural = FALSE) {
|
|
return $plural ? E::ts('Twingle Products') : E::ts('Twingle Product');
|
|
}
|
|
|
|
/**
|
|
* Returns foreign keys and entity references.
|
|
*
|
|
* @return array
|
|
* [CRM_Core_Reference_Interface]
|
|
*/
|
|
public static function getReferenceColumns() {
|
|
if (!isset(\Civi::$statics[__CLASS__]['links'])) {
|
|
\Civi::$statics[__CLASS__]['links'] = static::createReferenceColumns(__CLASS__);
|
|
\Civi::$statics[__CLASS__]['links'][] = new \CRM_Core_Reference_Basic(self::getTableName(), 'price_field_id', 'civicrm_contact', 'id');
|
|
\Civi::$statics[__CLASS__]['links'][] = new \CRM_Core_Reference_Basic(self::getTableName(), 'twingle_shop_id', 'civicrm_twingle_shop', 'id');
|
|
\CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'links_callback', \Civi::$statics[__CLASS__]['links']);
|
|
}
|
|
return \Civi::$statics[__CLASS__]['links'];
|
|
}
|
|
|
|
/**
|
|
* Returns all the column names of this table
|
|
*
|
|
* @return array
|
|
*/
|
|
public static function &fields() {
|
|
if (!isset(\Civi::$statics[__CLASS__]['fields'])) {
|
|
\Civi::$statics[__CLASS__]['fields'] = [
|
|
'id' => [
|
|
'name' => 'id',
|
|
'type' => \CRM_Utils_Type::T_INT,
|
|
'title' => E::ts('ID'),
|
|
'description' => E::ts('Unique TwingleProduct ID'),
|
|
'required' => TRUE,
|
|
'usage' => [
|
|
'import' => FALSE,
|
|
'export' => FALSE,
|
|
'duplicate_matching' => FALSE,
|
|
'token' => FALSE,
|
|
],
|
|
'where' => 'civicrm_twingle_product.id',
|
|
'table_name' => 'civicrm_twingle_product',
|
|
'entity' => 'TwingleProduct',
|
|
'bao' => 'Civi\Twingle\Shop\DAO\TwingleProduct',
|
|
'localizable' => 0,
|
|
'html' => [
|
|
'type' => 'Number',
|
|
],
|
|
'readonly' => TRUE,
|
|
'add' => NULL,
|
|
],
|
|
'external_id' => [
|
|
'name' => 'external_id',
|
|
'type' => \CRM_Utils_Type::T_INT,
|
|
'title' => E::ts('External ID'),
|
|
'description' => E::ts('The ID of this product in the Twingle database'),
|
|
'required' => TRUE,
|
|
'usage' => [
|
|
'import' => FALSE,
|
|
'export' => FALSE,
|
|
'duplicate_matching' => FALSE,
|
|
'token' => FALSE,
|
|
],
|
|
'where' => 'civicrm_twingle_product.external_id',
|
|
'table_name' => 'civicrm_twingle_product',
|
|
'entity' => 'TwingleProduct',
|
|
'bao' => 'Civi\Twingle\Shop\DAO\TwingleProduct',
|
|
'localizable' => 0,
|
|
'html' => [
|
|
'type' => 'Number',
|
|
],
|
|
'add' => NULL,
|
|
],
|
|
'price_field_id' => [
|
|
'name' => 'price_field_id',
|
|
'type' => \CRM_Utils_Type::T_INT,
|
|
'title' => E::ts('Price Field ID'),
|
|
'description' => E::ts('FK to Price Field'),
|
|
'required' => TRUE,
|
|
'usage' => [
|
|
'import' => FALSE,
|
|
'export' => FALSE,
|
|
'duplicate_matching' => FALSE,
|
|
'token' => FALSE,
|
|
],
|
|
'where' => 'civicrm_twingle_product.price_field_id',
|
|
'table_name' => 'civicrm_twingle_product',
|
|
'entity' => 'TwingleProduct',
|
|
'bao' => 'Civi\Twingle\Shop\DAO\TwingleProduct',
|
|
'localizable' => 0,
|
|
'FKClassName' => 'CRM_Contact_DAO_Contact',
|
|
'add' => NULL,
|
|
],
|
|
'twingle_shop_id' => [
|
|
'name' => 'twingle_shop_id',
|
|
'type' => \CRM_Utils_Type::T_INT,
|
|
'title' => E::ts('Twingle Shop ID'),
|
|
'description' => E::ts('FK to Twingle Shop'),
|
|
'usage' => [
|
|
'import' => FALSE,
|
|
'export' => FALSE,
|
|
'duplicate_matching' => FALSE,
|
|
'token' => FALSE,
|
|
],
|
|
'where' => 'civicrm_twingle_product.twingle_shop_id',
|
|
'table_name' => 'civicrm_twingle_product',
|
|
'entity' => 'TwingleProduct',
|
|
'bao' => 'Civi\Twingle\Shop\DAO\TwingleProduct',
|
|
'localizable' => 0,
|
|
'FKClassName' => 'Civi\Twingle\Shop\DAO\TwingleShop',
|
|
'add' => NULL,
|
|
],
|
|
'created_at' => [
|
|
'name' => 'created_at',
|
|
'type' => \CRM_Utils_Type::T_DATE + \CRM_Utils_Type::T_TIME,
|
|
'title' => E::ts('Created At'),
|
|
'description' => E::ts('Timestamp of when the product was created in the database'),
|
|
'required' => TRUE,
|
|
'usage' => [
|
|
'import' => FALSE,
|
|
'export' => FALSE,
|
|
'duplicate_matching' => FALSE,
|
|
'token' => FALSE,
|
|
],
|
|
'where' => 'civicrm_twingle_product.created_at',
|
|
'table_name' => 'civicrm_twingle_product',
|
|
'entity' => 'TwingleProduct',
|
|
'bao' => 'Civi\Twingle\Shop\DAO\TwingleProduct',
|
|
'localizable' => 0,
|
|
'add' => NULL,
|
|
],
|
|
'updated_at' => [
|
|
'name' => 'updated_at',
|
|
'type' => \CRM_Utils_Type::T_DATE + \CRM_Utils_Type::T_TIME,
|
|
'title' => E::ts('Updated At'),
|
|
'description' => E::ts('Timestamp of when the product was last updated in the database'),
|
|
'required' => TRUE,
|
|
'usage' => [
|
|
'import' => FALSE,
|
|
'export' => FALSE,
|
|
'duplicate_matching' => FALSE,
|
|
'token' => FALSE,
|
|
],
|
|
'where' => 'civicrm_twingle_product.updated_at',
|
|
'table_name' => 'civicrm_twingle_product',
|
|
'entity' => 'TwingleProduct',
|
|
'bao' => 'Civi\Twingle\Shop\DAO\TwingleProduct',
|
|
'localizable' => 0,
|
|
'add' => NULL,
|
|
],
|
|
];
|
|
\CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', \Civi::$statics[__CLASS__]['fields']);
|
|
}
|
|
return \Civi::$statics[__CLASS__]['fields'];
|
|
}
|
|
|
|
/**
|
|
* Return a mapping from field-name to the corresponding key (as used in fields()).
|
|
*
|
|
* @return array
|
|
* Array(string $name => string $uniqueName).
|
|
*/
|
|
public static function &fieldKeys() {
|
|
if (!isset(\Civi::$statics[__CLASS__]['fieldKeys'])) {
|
|
\Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(\CRM_Utils_Array::collect('name', self::fields()));
|
|
}
|
|
return \Civi::$statics[__CLASS__]['fieldKeys'];
|
|
}
|
|
|
|
/**
|
|
* Returns the names of this table
|
|
*
|
|
* @return string
|
|
*/
|
|
public static function getTableName() {
|
|
return self::$_tableName;
|
|
}
|
|
|
|
/**
|
|
* Returns if this table needs to be logged
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function getLog() {
|
|
return self::$_log;
|
|
}
|
|
|
|
/**
|
|
* Returns the list of fields that can be imported
|
|
*
|
|
* @param bool $prefix
|
|
*
|
|
* @return array
|
|
*/
|
|
public static function &import($prefix = FALSE) {
|
|
$r = \CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'twingle_product', $prefix, []);
|
|
return $r;
|
|
}
|
|
|
|
/**
|
|
* Returns the list of fields that can be exported
|
|
*
|
|
* @param bool $prefix
|
|
*
|
|
* @return array
|
|
*/
|
|
public static function &export($prefix = FALSE) {
|
|
$r = \CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'twingle_product', $prefix, []);
|
|
return $r;
|
|
}
|
|
|
|
/**
|
|
* Returns the list of indices
|
|
*
|
|
* @param bool $localize
|
|
*
|
|
* @return array
|
|
*/
|
|
public static function indices($localize = TRUE) {
|
|
$indices = [];
|
|
return ($localize && !empty($indices)) ? \CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
|
|
}
|
|
|
|
}
|