class BrightcoveClientEntityController in Brightcove Video Connect 7.7
Same name and namespace in other branches
- 7.6 brightcove.client.inc \BrightcoveClientEntityController
Entity controller class for Brightcove client.
Hierarchy
- class \DrupalDefaultEntityController implements DrupalEntityControllerInterface
- class \EntityAPIController implements EntityAPIControllerRevisionableInterface
Expanded class hierarchy of BrightcoveClientEntityController
1 string reference to 'BrightcoveClientEntityController'
- brightcove_entity_info in ./
brightcove.module - Implements hook_entity_info().
File
- ./
brightcove.client.inc, line 90 - Client related code.
View source
class BrightcoveClientEntityController extends EntityAPIControllerExportable {
/**
* Overrides EntityAPIController::save()
*/
public function save($client, DatabaseTransaction $transaction = NULL) {
global $user;
// Hardcode the changed time.
$client->changed = REQUEST_TIME;
if (empty($client->{$this->idKey}) || !empty($client->is_new)) {
// Set the creation timestamp if not set, for new entities.
if (empty($client->created)) {
$client->created = REQUEST_TIME;
}
}
else {
// Otherwise if the client is not new but comes from an entity_create()
// or similar function call that initializes the created timestamp and uid
// value to empty strings, unset them to prevent destroying existing data
// in those properties on update.
if ($client->created === '') {
unset($client->created);
}
if ($client->uid === '') {
unset($client->uid);
}
}
// Determine if we will be inserting a new client.
$client->is_new = empty($client->bcid);
$return = parent::save($client, $transaction);
if (!(($default_client = variable_get('brightcove_client_default')) && (bool) brightcove_client_load($default_client))) {
variable_set('brightcove_client_default', $client->bcid);
}
return $return;
}
public function delete($ids, DatabaseTransaction $transaction = NULL) {
parent::delete($ids, $transaction);
$default_client = variable_get('brightcove_client_default');
if (!in_array($default_client, $ids)) {
$default_client = db_query('SELECT bcid FROM {brightcove_client} ORDER BY bcid ASC LIMIT 1')
->fetchField();
if ($default_client) {
variable_set('brightcove_client_default', $default_client);
}
}
}
/**
* Overridden.
*/
public function export($entity, $prefix = '') {
$vars = get_object_vars($entity);
unset($vars[$this->statusKey], $vars[$this->moduleKey], $vars['is_new'], $vars['changed']);
if ($this->nameKey != $this->idKey) {
unset($vars[$this->idKey]);
}
return entity_var_json_export($vars, $prefix);
}
}