| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Abstraction of the selection logic of an entity reference field.
 
-  *
 
-  * Implementations that wish to provide an implementation of this should
 
-  * register it using CTools' plugin system.
 
-  */
 
- interface EntityReference_SelectionHandler {
 
-   /**
 
-    * Factory function: create a new instance of this handler for a given field.
 
-    *
 
-    * @param $field
 
-    *   A field datastructure.
 
-    * @return EntityReferenceHandler
 
-    */
 
-   public static function getInstance($field, $instance = NULL, $entity_type = NULL, $entity = NULL);
 
-   /**
 
-    * Return a list of referencable entities.
 
-    *
 
-    * @return
 
-    *   An array of referencable entities, which keys are entity ids and
 
-    *   values (safe HTML) labels to be displayed to the user.
 
-    */
 
-   public function getReferencableEntities($match = NULL, $match_operator = 'CONTAINS', $limit = 0);
 
-   /**
 
-    * Count entities that are referencable by a given field.
 
-    */
 
-   public function countReferencableEntities($match = NULL, $match_operator = 'CONTAINS');
 
-   /**
 
-    * Validate that entities can be referenced by this field.
 
-    *
 
-    * @return
 
-    *   An array of entity ids that are valid.
 
-    */
 
-   public function validateReferencableEntities(array $ids);
 
-   /**
 
-    * Validate Input from autocomplete widget that has no Id.
 
-    *
 
-    * @see _entityreference_autocomplete_validate()
 
-    *
 
-    * @param $input
 
-    * 	 Single string from autocomplete widget.
 
-    * @param $element
 
-    *   The form element to set a form error.
 
-    * @return
 
-    *   Value of a matching entity id, or NULL if none.
 
-    */
 
-   public function validateAutocompleteInput($input, &$element, &$form_state, $form);
 
-   /**
 
-    * Give the handler a chance to alter the SelectQuery generated by EntityFieldQuery.
 
-    */
 
-   public function entityFieldQueryAlter(SelectQueryInterface $query);
 
-   /**
 
-    * Return the label of a given entity.
 
-    */
 
-   public function getLabel($entity);
 
-   /**
 
-    * Generate a settings form for this handler.
 
-    */
 
-   public static function settingsForm($field, $instance);
 
- }
 
- /**
 
-  * A null implementation of EntityReference_SelectionHandler.
 
-  */
 
- class EntityReference_SelectionHandler_Broken implements EntityReference_SelectionHandler {
 
-   public static function getInstance($field, $instance = NULL, $entity_type = NULL, $entity = NULL) {
 
-     return new EntityReference_SelectionHandler_Broken($field, $instance, $entity_type, $entity);
 
-   }
 
-   protected function __construct($field, $instance) {
 
-     $this->field = $field;
 
-     $this->instance = $instance;
 
-   }
 
-   public static function settingsForm($field, $instance) {
 
-     $form['selection_handler'] = array(
 
-       '#markup' => t('The selected selection handler is broken.'),
 
-     );
 
-     return $form;
 
-   }
 
-   public function getReferencableEntities($match = NULL, $match_operator = 'CONTAINS', $limit = 0) {
 
-     return array();
 
-   }
 
-   public function countReferencableEntities($match = NULL, $match_operator = 'CONTAINS') {
 
-     return 0;
 
-   }
 
-   public function validateReferencableEntities(array $ids) {
 
-     return array();
 
-   }
 
-   public function validateAutocompleteInput($input, &$element, &$form_state, $form) {
 
-     return NULL;
 
-   }
 
-   public function entityFieldQueryAlter(SelectQueryInterface $query) {}
 
-   public function getLabel($entity) {
 
-     return '';
 
-   }
 
- }
 
 
  |