CerPresetSelectionHandler.class.php in Corresponding Entity References 7.3
File
extensions/cer_entity_settings/plugins/entityreference/selection/CerPresetSelectionHandler.class.php
View source
<?php
class CerPresetSelectionHandler implements EntityReference_SelectionHandler {
private $entity;
public static function getInstance($field, $instance = NULL, $entity_type = NULL, $entity = NULL) {
return new CerPresetSelectionHandler($entity_type, $entity);
}
public function __construct($entity_type, $entity) {
if ($entity_type && $entity) {
$this->entity = new EntityDrupalWrapper($entity_type, $entity);
}
}
public function getReferencableEntities($match = NULL, $match_operator = 'CONTAINS', $limit = 0) {
$options = array();
if ($this->entity) {
$finder = new CerPresetFinder($this->entity);
$finder
->execute();
foreach ($finder->result['cer'] as $preset) {
$options['cer'][$preset->pid] = $preset->label_variables['@right'];
}
foreach ($finder->result['cer__invert'] as $preset) {
$options['cer'][$preset->pid] = $preset->label_variables['@left'];
}
}
return $options;
}
public function countReferencableEntities($match = NULL, $match_operator = 'CONTAINS') {
return sizeof($this
->getReferencableEntities());
}
public function validateReferencableEntities(array $IDs) {
return $IDs;
}
public function validateAutocompleteInput($input, &$element, &$form_state, $form) {
return NULL;
}
public function entityFieldQueryAlter(SelectQueryInterface $query) {
}
public function getLabel($entity) {
return entity_label('cer', $entity);
}
public static function settingsForm($field, $instance) {
return array();
}
}