You are here

class CRMCoreContactController in CRM Core 7

@file Controller class for contacts.

This extends the DrupalDefaultEntityController class, adding required special handling for contact objects.

Hierarchy

Expanded class hierarchy of CRMCoreContactController

1 string reference to 'CRMCoreContactController'
crm_core_contact_entity_info in modules/crm_core_contact/crm_core_contact.module
Implements hook_entity_info().

File

modules/crm_core_contact/includes/crm_core_contact.controller.inc, line 67
Controller class for contacts.

View source
class CRMCoreContactController extends EntityAPIController {
  public $revisionKey = 'vid';
  public $revisionTable = 'crm_core_contact_revision';

  /**
   * Create a basic contact object.
   */
  public function create(array $values = array()) {
    global $user;
    $values += array(
      'contact_id' => '',
      'vid' => '',
      'uid' => $user->uid,
      'created' => REQUEST_TIME,
      'changed' => REQUEST_TIME,
    );
    return parent::create($values);
  }

  /**
   * Update contact object before saving revision.
   */
  protected function saveRevision($entity) {
    if (!isset($entity->log)) {
      $entity->log = '';
    }
    $entity->is_new_revision = TRUE;
    $entity->uid = $GLOBALS['user']->uid;
    return parent::saveRevision($entity);
  }

  /**
   * Updates 'changed' property on save.
   */
  public function save($contact, DatabaseTransaction $transaction = NULL) {
    $contact->changed = REQUEST_TIME;

    // Storing formatted contact label for autocomplete lookups.
    $contact->name = crm_core_contact_label($contact);
    return parent::save($contact);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CRMCoreContactController::$revisionKey public property Name of entity's revision database table field, if it supports revisions. Overrides DrupalDefaultEntityController::$revisionKey
CRMCoreContactController::$revisionTable public property The table that stores revisions, if the entity supports revisions. Overrides DrupalDefaultEntityController::$revisionTable
CRMCoreContactController::create public function Create a basic contact object. Overrides EntityAPIController::create
CRMCoreContactController::save public function Updates 'changed' property on save. Overrides EntityAPIController::save
CRMCoreContactController::saveRevision protected function Update contact object before saving revision. Overrides EntityAPIController::saveRevision
DrupalDefaultEntityController::$cache protected property Whether this entity type should use the static cache.
DrupalDefaultEntityController::$entityCache protected property Static cache of entities, keyed by entity ID.
DrupalDefaultEntityController::$entityInfo protected property Array of information about the entity.
DrupalDefaultEntityController::$entityType protected property Entity type for this controller instance.
DrupalDefaultEntityController::$hookLoadArguments protected property Additional arguments to pass to hook_TYPE_load().
DrupalDefaultEntityController::$idKey protected property Name of the entity's ID field in the entity database table.
DrupalDefaultEntityController::attachLoad protected function Attaches data to entities upon loading. 4
DrupalDefaultEntityController::cacheGet protected function Gets entities from the static cache. 1
DrupalDefaultEntityController::cacheSet protected function Stores entities in the static entity cache.
DrupalDefaultEntityController::cleanIds protected function Ensures integer entity IDs are valid.
DrupalDefaultEntityController::filterId protected function Callback for array_filter that removes non-integer IDs.
EntityAPIController::$bundleKey protected property
EntityAPIController::$cacheComplete protected property
EntityAPIController::$defaultRevisionKey protected property
EntityAPIController::buildContent public function Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface::buildContent
EntityAPIController::buildQuery protected function Overrides DrupalDefaultEntityController::buildQuery(). Overrides DrupalDefaultEntityController::buildQuery 1
EntityAPIController::delete public function Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface::delete 1
EntityAPIController::deleteRevision public function Implements EntityAPIControllerRevisionableInterface::deleteRevision(). Overrides EntityAPIControllerRevisionableInterface::deleteRevision
EntityAPIController::export public function Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface::export 1
EntityAPIController::import public function Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface::import
EntityAPIController::invoke public function Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface::invoke 1
EntityAPIController::load public function Overridden. Overrides DrupalDefaultEntityController::load 1
EntityAPIController::query public function Builds and executes the query for loading.
EntityAPIController::renderEntityProperty protected function Renders a single entity property.
EntityAPIController::resetCache public function Overrides DrupalDefaultEntityController::resetCache(). Overrides DrupalDefaultEntityController::resetCache 1
EntityAPIController::view public function Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface::view 1
EntityAPIController::__construct public function Overridden. Overrides DrupalDefaultEntityController::__construct 1