/drupal/sites/all/modules/civicrm/CRM/Event/DAO/ParticipantStatusType.php
https://github.com/michaelmcandrew/vaw · PHP · 331 lines · 160 code · 0 blank · 171 comment · 11 complexity · 5be2e3efe593261555f18dd8bacddb04 MD5 · raw file
- <?php
- /*
- +--------------------------------------------------------------------+
- | CiviCRM version 3.4 |
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2011 |
- +--------------------------------------------------------------------+
- | This file is a part of CiviCRM. |
- | |
- | CiviCRM is free software; you can copy, modify, and distribute it |
- | under the terms of the GNU Affero General Public License |
- | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
- | |
- | CiviCRM is distributed in the hope that it will be useful, but |
- | WITHOUT ANY WARRANTY; without even the implied warranty of |
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
- | See the GNU Affero General Public License for more details. |
- | |
- | You should have received a copy of the GNU Affero General Public |
- | License and the CiviCRM Licensing Exception along |
- | with this program; if not, contact CiviCRM LLC |
- | at info[AT]civicrm[DOT]org. If you have questions about the |
- | GNU Affero General Public License or the licensing of CiviCRM, |
- | see the CiviCRM license FAQ at http://civicrm.org/licensing |
- +--------------------------------------------------------------------+
- */
- /**
- *
- * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2011
- * $Id$
- *
- */
- require_once 'CRM/Core/DAO.php';
- require_once 'CRM/Utils/Type.php';
- class CRM_Event_DAO_ParticipantStatusType extends CRM_Core_DAO
- {
- /**
- * static instance to hold the table name
- *
- * @var string
- * @static
- */
- static $_tableName = 'civicrm_participant_status_type';
- /**
- * static instance to hold the field values
- *
- * @var array
- * @static
- */
- static $_fields = null;
- /**
- * static instance to hold the FK relationships
- *
- * @var string
- * @static
- */
- static $_links = null;
- /**
- * static instance to hold the values that can
- * be imported / apu
- *
- * @var array
- * @static
- */
- static $_import = null;
- /**
- * static instance to hold the values that can
- * be exported / apu
- *
- * @var array
- * @static
- */
- static $_export = null;
- /**
- * static value to see if we should log any modifications to
- * this table in the civicrm_log table
- *
- * @var boolean
- * @static
- */
- static $_log = true;
- /**
- * unique participant status type id
- *
- * @var int unsigned
- */
- public $id;
- /**
- * non-localized name of the status type
- *
- * @var string
- */
- public $name;
- /**
- * localized label for display of this status type
- *
- * @var string
- */
- public $label;
- /**
- * the general group of status type this one belongs to
- *
- * @var enum('Positive', 'Pending', 'Waiting', 'Negative')
- */
- public $class;
- /**
- * whether this is a status type required by the system
- *
- * @var boolean
- */
- public $is_reserved;
- /**
- * whether this status type is active
- *
- * @var boolean
- */
- public $is_active;
- /**
- * whether this status type is counted against event size limit
- *
- * @var boolean
- */
- public $is_counted;
- /**
- * controls sort order
- *
- * @var int unsigned
- */
- public $weight;
- /**
- * whether the status type is visible to the public, an implicit foreign key to option_value.value related to the `visibility` option_group
- *
- * @var int unsigned
- */
- public $visibility_id;
- /**
- * class constructor
- *
- * @access public
- * @return civicrm_participant_status_type
- */
- function __construct()
- {
- parent::__construct();
- }
- /**
- * returns all the column names of this table
- *
- * @access public
- * @return array
- */
- function &fields()
- {
- if (!(self::$_fields)) {
- self::$_fields = array(
- 'id' => array(
- 'name' => 'id',
- 'type' => CRM_Utils_Type::T_INT,
- 'required' => true,
- ) ,
- 'participant_status' => array(
- 'name' => 'name',
- 'type' => CRM_Utils_Type::T_STRING,
- 'title' => ts('Participant Status') ,
- 'maxlength' => 64,
- 'size' => CRM_Utils_Type::BIG,
- 'import' => true,
- 'where' => 'civicrm_participant_status_type.name',
- 'headerPattern' => '',
- 'dataPattern' => '',
- 'export' => true,
- ) ,
- 'label' => array(
- 'name' => 'label',
- 'type' => CRM_Utils_Type::T_STRING,
- 'title' => ts('Label') ,
- 'maxlength' => 255,
- 'size' => CRM_Utils_Type::HUGE,
- ) ,
- 'class' => array(
- 'name' => 'class',
- 'type' => CRM_Utils_Type::T_ENUM,
- 'title' => ts('Class') ,
- 'enumValues' => 'Positive, Pending, Waiting, Negative',
- ) ,
- 'is_reserved' => array(
- 'name' => 'is_reserved',
- 'type' => CRM_Utils_Type::T_BOOLEAN,
- ) ,
- 'is_active' => array(
- 'name' => 'is_active',
- 'type' => CRM_Utils_Type::T_BOOLEAN,
- 'default' => '',
- ) ,
- 'is_counted' => array(
- 'name' => 'is_counted',
- 'type' => CRM_Utils_Type::T_BOOLEAN,
- ) ,
- 'weight' => array(
- 'name' => 'weight',
- 'type' => CRM_Utils_Type::T_INT,
- 'title' => ts('Weight') ,
- 'required' => true,
- ) ,
- 'visibility_id' => array(
- 'name' => 'visibility_id',
- 'type' => CRM_Utils_Type::T_INT,
- ) ,
- );
- }
- return self::$_fields;
- }
- /**
- * returns the names of this table
- *
- * @access public
- * @return string
- */
- function getTableName()
- {
- global $dbLocale;
- return self::$_tableName . $dbLocale;
- }
- /**
- * returns if this table needs to be logged
- *
- * @access public
- * @return boolean
- */
- function getLog()
- {
- return self::$_log;
- }
- /**
- * returns the list of fields that can be imported
- *
- * @access public
- * return array
- */
- function &import($prefix = false)
- {
- if (!(self::$_import)) {
- self::$_import = array();
- $fields = & self::fields();
- foreach($fields as $name => $field) {
- if (CRM_Utils_Array::value('import', $field)) {
- if ($prefix) {
- self::$_import['participant_status_type'] = & $fields[$name];
- } else {
- self::$_import[$name] = & $fields[$name];
- }
- }
- }
- }
- return self::$_import;
- }
- /**
- * returns the list of fields that can be exported
- *
- * @access public
- * return array
- */
- function &export($prefix = false)
- {
- if (!(self::$_export)) {
- self::$_export = array();
- $fields = & self::fields();
- foreach($fields as $name => $field) {
- if (CRM_Utils_Array::value('export', $field)) {
- if ($prefix) {
- self::$_export['participant_status_type'] = & $fields[$name];
- } else {
- self::$_export[$name] = & $fields[$name];
- }
- }
- }
- }
- return self::$_export;
- }
- /**
- * returns an array containing the enum fields of the civicrm_participant_status_type table
- *
- * @return array (reference) the array of enum fields
- */
- static function &getEnums()
- {
- static $enums = array(
- 'class',
- );
- return $enums;
- }
- /**
- * returns a ts()-translated enum value for display purposes
- *
- * @param string $field the enum field in question
- * @param string $value the enum value up for translation
- *
- * @return string the display value of the enum
- */
- static function tsEnum($field, $value)
- {
- static $translations = null;
- if (!$translations) {
- $translations = array(
- 'class' => array(
- 'Positive' => ts('Positive') ,
- 'Pending' => ts('Pending') ,
- 'Waiting' => ts('Waiting') ,
- 'Negative' => ts('Negative') ,
- ) ,
- );
- }
- return $translations[$field][$value];
- }
- /**
- * adds $value['foo_display'] for each $value['foo'] enum from civicrm_participant_status_type
- *
- * @param array $values (reference) the array up for enhancing
- * @return void
- */
- static function addDisplayEnums(&$values)
- {
- $enumFields = & CRM_Event_DAO_ParticipantStatusType::getEnums();
- foreach($enumFields as $enum) {
- if (isset($values[$enum])) {
- $values[$enum . '_display'] = CRM_Event_DAO_ParticipantStatusType::tsEnum($enum, $values[$enum]);
- }
- }
- }
- }