You are here

class CRMCoreContactEntity in CRM Core 7

CRM Contact Entity Class.

Hierarchy

Expanded class hierarchy of CRMCoreContactEntity

1 string reference to 'CRMCoreContactEntity'
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 6
Controller class for contacts.

View source
class CRMCoreContactEntity extends Entity {
  protected function defaultLabel() {
    return crm_core_contact_label($this);
  }
  protected function defaultUri() {
    return array(
      'path' => 'crm-core/contact/' . $this
        ->identifier(),
      'options' => array(
        'absolute' => TRUE,
      ),
    );
  }

  /**
   * Method for de-duplicating contacts.
   *
   * Allows various modules to identify duplicate contact records through
   * hook_crm_core_contact_match. This function should implement it's
   * own contact matching scheme.
   *
   * @return array
   *   Array of matched contact IDs.
   */
  public function match() {
    $checks =& drupal_static(__FUNCTION__);
    $matches = array();
    if (!isset($checks->processed)) {
      $checks = new stdClass();
      $checks->engines = module_implements('crm_core_contact_match');
      $checks->processed = 1;
    }

    // Pass in the contact and the matches array as references.
    // This will allow various matching tools to modify the contact
    // and the list of matches.
    $values = array(
      'contact' => &$this,
      'matches' => &$matches,
    );
    foreach ($checks->engines as $module) {
      module_invoke($module, 'crm_core_contact_match', $values);
    }

    // It's up to implementing modules to handle the matching logic.
    // Most often, the match to be used should be the one
    // at the top of the stack.
    return $matches;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CRMCoreContactEntity::defaultLabel protected function Defines the entity label if the 'entity_class_label' callback is used. Overrides Entity::defaultLabel
CRMCoreContactEntity::defaultUri 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::defaultUri
CRMCoreContactEntity::match public function Method for de-duplicating contacts.
Entity::$defaultLabel protected property 1
Entity::$entityInfo protected property
Entity::$entityType protected property
Entity::$idKey protected property
Entity::$wrapper protected property
Entity::buildContent public function Builds a structured array representing the entity's content. Overrides EntityInterface::buildContent 1
Entity::bundle public function Returns the bundle of the entity. Overrides EntityInterface::bundle
Entity::delete public function Permanently deletes the entity. Overrides EntityInterface::delete
Entity::entityInfo public function Returns the info of the type of the entity. Overrides EntityInterface::entityInfo
Entity::entityType public function Returns the type of the entity. Overrides EntityInterface::entityType
Entity::export public function Exports the entity. Overrides EntityInterface::export
Entity::getTranslation public function Gets the raw, translated value of a property or field. Overrides EntityInterface::getTranslation
Entity::hasStatus public function Checks if the entity has a certain exportable status. Overrides EntityInterface::hasStatus
Entity::identifier public function Returns the entity identifier, i.e. the entities name or numeric id. Overrides EntityInterface::identifier
Entity::internalIdentifier public function Returns the internal, numeric identifier. Overrides EntityInterface::internalIdentifier
Entity::isDefaultRevision public function Checks whether the entity is the default revision. Overrides EntityInterface::isDefaultRevision
Entity::label public function Returns the label of the entity. Overrides EntityInterface::label
Entity::save public function Permanently saves the entity. Overrides EntityInterface::save
Entity::setUp protected function Set up the object instance on construction or unserializiation.
Entity::uri public function Returns the uri of the entity just as entity_uri(). Overrides EntityInterface::uri
Entity::view public function Generate an array for rendering the entity. Overrides EntityInterface::view
Entity::wrapper public function Returns the EntityMetadataWrapper of the entity. Overrides EntityInterface::wrapper
Entity::__construct public function 1
Entity::__sleep public function Magic method to only serialize what's necessary.
Entity::__wakeup public function Magic method to invoke setUp() on unserialization.