You are here

class SalesforceMapping in Salesforce Suite 7.3

Entity class for Salesforce Mappings

Hierarchy

Expanded class hierarchy of SalesforceMapping

1 string reference to 'SalesforceMapping'
salesforce_mapping_entity_info in modules/salesforce_mapping/salesforce_mapping.module
Implements hook_entity_info().

File

modules/salesforce_mapping/includes/salesforce_mapping.entity.inc, line 11
Contains SalesforceMapping.

View source
class SalesforceMapping extends Entity {

  // Only one bundle type for now.
  public $type = 'salesforce_mapping';

  /**
   * Constructor for SalesforceMapping.
   *
   * @param array $values
   *   Associated array of values for the fields the entity should start with.
   */
  public function __construct(array $values = array()) {
    parent::__construct($values, 'salesforce_mapping');
  }

  /**
   * Save the entity.
   *
   * @return object
   *   The newly saved version of the entity.
   */
  public function save() {
    if (isset($this->is_new) && $this->is_new) {
      $this->created = REQUEST_TIME;
    }
    return parent::save();
  }

  /**
   * Return an array of Salesforce Field Names included in this mapping.
   *
   * @param array $directions
   *   If given, only include fields mapped in this or these directions.
   *   Possible values are:
   *     SALESFORCE_MAPPING_DIRECTION_SYNC
   *     SALESFORCE_MAPPING_DIRECTION_SF_DRUPAL
   *     SALESFORCE_MAPPING_DIRECTION_DRUPAL_SF
   *   @see salesforce_mapping.module
   * @return array $mapped_fields
   *   Indexes and keys are both Salesforce Field (machine) Name
   */
  public function getMappedFields(array $directions = NULL) {
    $mapped_fields = array();
    foreach ($this->field_mappings as $field_map) {
      if (empty($directions) || in_array($field_map['direction'], $directions)) {

        // Some field map types (Relation) store a collection of SF objects.
        if (is_array($field_map['salesforce_field']) && !isset($field_map['salesforce_field']['name'])) {
          foreach ($field_map['salesforce_field'] as $sf_field) {
            $mapped_fields[$sf_field['name']] = $sf_field['name'];
          }
        }
        else {
          $mapped_fields[$field_map['salesforce_field']['name']] = $field_map['salesforce_field']['name'];
        }
      }
    }
    if (!empty($this
      ->getMappedRecordTypes())) {
      $mapped_fields['RecordTypeId'] = 'RecordTypeId';
    }
    return $mapped_fields;
  }
  public function getMappedRecordTypes() {
    return $this->salesforce_record_type_default == SALESFORCE_MAPPING_DEFAULT_RECORD_TYPE ? array() : array_filter($this->salesforce_record_types_allowed);
  }

  /**
   * Retreive the default URI.
   *
   * @return array
   *   Associated array with the default URI on the 'path' key.
   */
  protected function defaultUri() {
    return array(
      'path' => 'admin/structure/salesforce/mappings/manage/' . $this
        ->identifier(),
    );
  }

}

Members

Namesort descending Modifiers Type Description Overrides
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::defaultLabel protected function Defines the entity label if the 'entity_class_label' callback is used. 1
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::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::__sleep public function Magic method to only serialize what's necessary.
Entity::__wakeup public function Magic method to invoke setUp() on unserialization.
SalesforceMapping::$type public property
SalesforceMapping::defaultUri protected function Retreive the default URI. Overrides Entity::defaultUri
SalesforceMapping::getMappedFields public function Return an array of Salesforce Field Names included in this mapping.
SalesforceMapping::getMappedRecordTypes public function
SalesforceMapping::save public function Save the entity. Overrides Entity::save
SalesforceMapping::__construct public function Constructor for SalesforceMapping. Overrides Entity::__construct