class BatEvent in Booking and Availability Management Tools for Drupal 7
The class used for Event entities.
Hierarchy
- class \Entity implements EntityInterface
- class \BatEvent
Expanded class hierarchy of BatEvent
1 string reference to 'BatEvent'
- bat_event_entity_info in modules/
bat_event/ bat_event.module - Implements hook_entity_info().
File
- modules/
bat_event/ bat_event.module, line 1055 - Manage Events - Events store the EventValue of a Unit over a period of time.
View source
class BatEvent extends Entity {
/**
* DateTime object calculated from start date.
*
* @var DateTime
*/
public $start_date_object;
/**
* DateTime object calculated from end date.
*
* @var DateTime
*/
public $end_date_object;
/**
*
*/
public function __construct($values = array()) {
parent::__construct($values, 'bat_event');
if (isset($this->start_date)) {
$this->start_date_object = new DateTime($this->start_date);
}
if (isset($this->end_date)) {
$this->end_date_object = new DateTime($this->end_date);
}
}
/**
*
*/
public function delete_event() {
entity_get_controller($this->entityType)
->delete_event($this);
}
/**
* Return the event label.
*/
protected function defaultLabel() {
// If the user has configured a field to store the event name, return that
// field's value.
$event_type = bat_event_type_load($this->type);
if (isset($event_type->default_event_label_field_name) && $event_type->default_event_label_field_name != '') {
$event_wrapper = entity_metadata_wrapper('bat_event', $this);
$value = $event_wrapper->{$event_type->default_event_label_field_name}
->value(array(
'sanitize' => TRUE,
));
// Handle entity reference fields - if this is an object, return its
// label.
if (is_object($value)) {
$field_info = field_info_field($event_type->default_event_label_field_name);
// TODO: Support other field types?
if ($field_info['type'] == 'entityreference') {
return entity_label($field_info['settings']['target_type'], $value);
}
}
elseif ($value) {
return $value;
}
}
// If we got this far, a field is not configured, we don't support its
// type, or the field is empty. Return the state name for the event, if
// it has a state set.
if ($state_info = bat_event_load_state($this
->getEventValue())) {
return $state_info['label'];
}
return '';
}
/**
*
*/
protected function defaultUri() {
return array(
'path' => 'event/' . $this->event_id,
);
}
/**
* Returns the value stored for this event in a way that BAT can work with it.
* @return mixed
*/
public function getEventValue() {
if ($field = $this
->getEventValueField()) {
$field_info = field_info_field($field);
$values = field_get_items('bat_event', $this, $field);
if (!empty($values)) {
if ($field_info['type'] == 'bat_event_state_reference') {
return $values[0]['state_id'];
}
elseif ($field_info['type'] == 'commerce_price') {
return $values[0]['amount'];
}
elseif ($field_info['type'] == 'text' || $field_info['type'] == 'number_integer' || $field_info['type'] == 'number_decimal') {
return $values[0]['value'];
}
}
else {
return FALSE;
}
}
}
/**
* Returns the formatter that can format the event value.
*
* @return string|false
*/
public function getEventValueFormatter() {
if ($field = $this
->getEventValueDefaultField()) {
$field_info_instance = field_info_instance('bat_event_type', $field, $this->type);
if (isset($field_info_instance['display']['default']['type'])) {
return $field_info_instance['display']['default']['type'];
}
}
return FALSE;
}
/**
* Determines which field holds the event value.
*
* @return string|false
*/
public function getEventValueField() {
$type_bundle = bat_event_type_load($this->type);
if (isset($type_bundle->default_event_value_field_ids[$this->type])) {
return $type_bundle->default_event_value_field_ids[$this->type];
}
if ($type_bundle->fixed_event_states == 1) {
return 'event_state_reference';
}
return FALSE;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
BatEvent:: |
public | property | DateTime object calculated from end date. | |
BatEvent:: |
public | property | DateTime object calculated from start date. | |
BatEvent:: |
protected | function |
Return the event label. Overrides Entity:: |
|
BatEvent:: |
protected | function |
Override this in order to implement a custom default URI and specify
'entity_class_uri' as 'uri callback' hook_entity_info(). Overrides Entity:: |
|
BatEvent:: |
public | function | ||
BatEvent:: |
public | function | Returns the value stored for this event in a way that BAT can work with it. | |
BatEvent:: |
public | function | Determines which field holds the event value. | |
BatEvent:: |
public | function | Returns the formatter that can format the event value. | |
BatEvent:: |
public | function |
Overrides Entity:: |
|
Entity:: |
protected | property | 1 | |
Entity:: |
protected | property | ||
Entity:: |
protected | property | ||
Entity:: |
protected | property | ||
Entity:: |
protected | property | ||
Entity:: |
public | function |
Builds a structured array representing the entity's content. Overrides EntityInterface:: |
1 |
Entity:: |
public | function |
Returns the bundle of the entity. Overrides EntityInterface:: |
|
Entity:: |
public | function |
Permanently deletes the entity. Overrides EntityInterface:: |
|
Entity:: |
public | function |
Returns the info of the type of the entity. Overrides EntityInterface:: |
|
Entity:: |
public | function |
Returns the type of the entity. Overrides EntityInterface:: |
|
Entity:: |
public | function |
Exports the entity. Overrides EntityInterface:: |
|
Entity:: |
public | function |
Gets the raw, translated value of a property or field. Overrides EntityInterface:: |
|
Entity:: |
public | function |
Checks if the entity has a certain exportable status. Overrides EntityInterface:: |
|
Entity:: |
public | function |
Returns the entity identifier, i.e. the entities name or numeric id. Overrides EntityInterface:: |
|
Entity:: |
public | function |
Returns the internal, numeric identifier. Overrides EntityInterface:: |
|
Entity:: |
public | function |
Checks whether the entity is the default revision. Overrides EntityInterface:: |
|
Entity:: |
public | function |
Returns the label of the entity. Overrides EntityInterface:: |
|
Entity:: |
public | function |
Permanently saves the entity. Overrides EntityInterface:: |
|
Entity:: |
protected | function | Set up the object instance on construction or unserializiation. | |
Entity:: |
public | function |
Returns the uri of the entity just as entity_uri(). Overrides EntityInterface:: |
|
Entity:: |
public | function |
Generate an array for rendering the entity. Overrides EntityInterface:: |
|
Entity:: |
public | function |
Returns the EntityMetadataWrapper of the entity. Overrides EntityInterface:: |
|
Entity:: |
public | function | Magic method to only serialize what's necessary. | |
Entity:: |
public | function | Magic method to invoke setUp() on unserialization. |