You are here

abstract class CerHandlerBase in Corresponding Entity References 7.2

@class Base class for CER handlers. All this does is parse the preset and store instance info about the local and remote fields.

Hierarchy

Expanded class hierarchy of CerHandlerBase

File

./handler.inc, line 101
Contains base code for CER handlers, which are objects responsible for creating, updating and deleting corresponding references between entities.

View source
abstract class CerHandlerBase {

  /**
   * Local field instance definition.
   */
  protected $local;

  /**
   * Remote field instance definition.
   */
  protected $remote;
  public function __construct($preset) {
    $keys = explode('*', $preset);
    if (sizeof($keys) != 6) {
      throw new CerException(t('Invalid configuration: @preset', array(
        '@preset' => $preset,
      )));
    }
    $this->local = field_info_instance($keys[0], $keys[2], $keys[1]);
    if ($this->local) {
      $this->local['field'] = field_info_field($keys[2]);
    }
    else {
      throw new CerException(t('Local field instance does not exist.'));
    }
    $this->remote = field_info_instance($keys[3], $keys[5], $keys[4]);
    if ($this->remote) {
      $this->remote['field'] = field_info_field($keys[5]);
    }
    else {
      throw new CerException(t('Remote field instance does not exist.'));
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CerHandlerBase::$local protected property Local field instance definition.
CerHandlerBase::$remote protected property Remote field instance definition.
CerHandlerBase::__construct public function 1