annotate sites/all/modules/entityreference/plugins/behavior/abstract.inc @ 4:ce11bbd8f642

added modules
author danieleb <danielebarchiesi@me.com>
date Thu, 19 Sep 2013 10:38:44 +0100
parents
children
rev   line source
danielebarchiesi@4 1 <?php
danielebarchiesi@4 2
danielebarchiesi@4 3 /**
danielebarchiesi@4 4 * Additional behaviors for a Entity Reference field.
danielebarchiesi@4 5 *
danielebarchiesi@4 6 * Implementations that wish to provide an implementation of this should
danielebarchiesi@4 7 * register it using CTools' plugin system.
danielebarchiesi@4 8 */
danielebarchiesi@4 9 interface EntityReference_BehaviorHandler {
danielebarchiesi@4 10
danielebarchiesi@4 11 /**
danielebarchiesi@4 12 * Constructor for the behavior.
danielebarchiesi@4 13 *
danielebarchiesi@4 14 * @param $behavior
danielebarchiesi@4 15 * The name of the behavior plugin.
danielebarchiesi@4 16 */
danielebarchiesi@4 17 public function __construct($behavior);
danielebarchiesi@4 18
danielebarchiesi@4 19 /**
danielebarchiesi@4 20 * Alter the field schema.
danielebarchiesi@4 21 *
danielebarchiesi@4 22 * @see hook_field_schema()
danielebarchiesi@4 23 */
danielebarchiesi@4 24 public function schema_alter(&$schema, $field);
danielebarchiesi@4 25
danielebarchiesi@4 26 /**
danielebarchiesi@4 27 * Alter the properties information of a field instance.
danielebarchiesi@4 28 *
danielebarchiesi@4 29 * @see entity_hook_field_info()
danielebarchiesi@4 30 */
danielebarchiesi@4 31 public function property_info_alter(&$info, $entity_type, $field, $instance, $field_type);
danielebarchiesi@4 32
danielebarchiesi@4 33 /**
danielebarchiesi@4 34 * Alter the views data of a field.
danielebarchiesi@4 35 *
danielebarchiesi@4 36 * @see entityreference_field_views_data()
danielebarchiesi@4 37 */
danielebarchiesi@4 38 public function views_data_alter(&$data, $field);
danielebarchiesi@4 39
danielebarchiesi@4 40 /**
danielebarchiesi@4 41 * Act on loading entity reference fields of entities.
danielebarchiesi@4 42 *
danielebarchiesi@4 43 * @see hook_field_load()
danielebarchiesi@4 44 */
danielebarchiesi@4 45 public function load($entity_type, $entities, $field, $instances, $langcode, &$items);
danielebarchiesi@4 46
danielebarchiesi@4 47 /**
danielebarchiesi@4 48 * Alter the empty status of a field item.
danielebarchiesi@4 49 *
danielebarchiesi@4 50 * @see hook_field_is_empty()
danielebarchiesi@4 51 */
danielebarchiesi@4 52 public function is_empty_alter(&$empty, $item, $field);
danielebarchiesi@4 53
danielebarchiesi@4 54 /**
danielebarchiesi@4 55 * Act on validating an entity reference field.
danielebarchiesi@4 56 *
danielebarchiesi@4 57 * @see hook_field_validate()
danielebarchiesi@4 58 */
danielebarchiesi@4 59 public function validate($entity_type, $entity, $field, $instance, $langcode, $items, &$errors);
danielebarchiesi@4 60
danielebarchiesi@4 61 /**
danielebarchiesi@4 62 * Act on presaving an entity reference field.
danielebarchiesi@4 63 *
danielebarchiesi@4 64 * @see hook_field_presave()
danielebarchiesi@4 65 */
danielebarchiesi@4 66 public function presave($entity_type, $entity, $field, $instance, $langcode, &$items);
danielebarchiesi@4 67
danielebarchiesi@4 68 /**
danielebarchiesi@4 69 * Act before inserting an entity reference field.
danielebarchiesi@4 70 *
danielebarchiesi@4 71 * @see hook_field_insert()
danielebarchiesi@4 72 */
danielebarchiesi@4 73 public function insert($entity_type, $entity, $field, $instance, $langcode, &$items);
danielebarchiesi@4 74
danielebarchiesi@4 75 /**
danielebarchiesi@4 76 * Act after inserting an entity reference field.
danielebarchiesi@4 77 *
danielebarchiesi@4 78 * @see hook_field_attach_insert()
danielebarchiesi@4 79 */
danielebarchiesi@4 80 public function postInsert($entity_type, $entity, $field, $instance);
danielebarchiesi@4 81
danielebarchiesi@4 82 /**
danielebarchiesi@4 83 * Act before updating an entity reference field.
danielebarchiesi@4 84 *
danielebarchiesi@4 85 * @see hook_field_update()
danielebarchiesi@4 86 */
danielebarchiesi@4 87 public function update($entity_type, $entity, $field, $instance, $langcode, &$items);
danielebarchiesi@4 88
danielebarchiesi@4 89 /**
danielebarchiesi@4 90 * Act after updating an entity reference field.
danielebarchiesi@4 91 *
danielebarchiesi@4 92 * @see hook_field_attach_update()
danielebarchiesi@4 93 */
danielebarchiesi@4 94 public function postUpdate($entity_type, $entity, $field, $instance);
danielebarchiesi@4 95
danielebarchiesi@4 96 /**
danielebarchiesi@4 97 * Act before deleting an entity with an entity reference field.
danielebarchiesi@4 98 *
danielebarchiesi@4 99 * @see hook_field_delete()
danielebarchiesi@4 100 */
danielebarchiesi@4 101 public function delete($entity_type, $entity, $field, $instance, $langcode, &$items);
danielebarchiesi@4 102
danielebarchiesi@4 103 /**
danielebarchiesi@4 104 * Act after deleting an entity with an entity reference field.
danielebarchiesi@4 105 *
danielebarchiesi@4 106 * @see hook_field_attach_delete()
danielebarchiesi@4 107 */
danielebarchiesi@4 108 public function postDelete($entity_type, $entity, $field, $instance);
danielebarchiesi@4 109
danielebarchiesi@4 110 /**
danielebarchiesi@4 111 * Act after inserting an entity.
danielebarchiesi@4 112 *
danielebarchiesi@4 113 * @see hook_entity_insert()
danielebarchiesi@4 114 */
danielebarchiesi@4 115 public function entityPostInsert($entity_type, $entity, $field, $instance);
danielebarchiesi@4 116
danielebarchiesi@4 117 /**
danielebarchiesi@4 118 * Act after updating an entity.
danielebarchiesi@4 119 *
danielebarchiesi@4 120 * @see hook_entity_update()
danielebarchiesi@4 121 */
danielebarchiesi@4 122 public function entityPostUpdate($entity_type, $entity, $field, $instance);
danielebarchiesi@4 123
danielebarchiesi@4 124 /**
danielebarchiesi@4 125 * Act after deleting an entity.
danielebarchiesi@4 126 *
danielebarchiesi@4 127 * @see hook_entity_delete()
danielebarchiesi@4 128 */
danielebarchiesi@4 129 public function entityPostDelete($entity_type, $entity, $field, $instance);
danielebarchiesi@4 130
danielebarchiesi@4 131 /**
danielebarchiesi@4 132 * Generate a settings form for this handler.
danielebarchiesi@4 133 */
danielebarchiesi@4 134 public function settingsForm($field, $instance);
danielebarchiesi@4 135
danielebarchiesi@4 136 /**
danielebarchiesi@4 137 * Determine if handler should appear.
danielebarchiesi@4 138 */
danielebarchiesi@4 139 public function access($field, $instance);
danielebarchiesi@4 140 }
danielebarchiesi@4 141
danielebarchiesi@4 142 /**
danielebarchiesi@4 143 * An abstract implementation of EntityReference_BehaviorHandler.
danielebarchiesi@4 144 */
danielebarchiesi@4 145 abstract class EntityReference_BehaviorHandler_Abstract implements EntityReference_BehaviorHandler {
danielebarchiesi@4 146
danielebarchiesi@4 147 /**
danielebarchiesi@4 148 * The name of the behavior plugin.
danielebarchiesi@4 149 */
danielebarchiesi@4 150 protected $behavior;
danielebarchiesi@4 151
danielebarchiesi@4 152 /**
danielebarchiesi@4 153 * The plugin definition.
danielebarchiesi@4 154 */
danielebarchiesi@4 155 protected $plugin;
danielebarchiesi@4 156
danielebarchiesi@4 157 public function __construct($behavior) {
danielebarchiesi@4 158 $this->behavior = $behavior;
danielebarchiesi@4 159
danielebarchiesi@4 160 ctools_include('plugins');
danielebarchiesi@4 161 $plugin = ctools_get_plugins('entityreference', 'behavior', $behavior);
danielebarchiesi@4 162 $this->plugin = $plugin;
danielebarchiesi@4 163 }
danielebarchiesi@4 164
danielebarchiesi@4 165 public function schema_alter(&$schema, $field) {}
danielebarchiesi@4 166
danielebarchiesi@4 167 public function property_info_alter(&$info, $entity_type, $field, $instance, $field_type) {}
danielebarchiesi@4 168
danielebarchiesi@4 169 public function views_data_alter(&$data, $field) {}
danielebarchiesi@4 170
danielebarchiesi@4 171 public function load($entity_type, $entities, $field, $instances, $langcode, &$items) {}
danielebarchiesi@4 172
danielebarchiesi@4 173 public function is_empty_alter(&$empty, $item, $field) {}
danielebarchiesi@4 174
danielebarchiesi@4 175 public function validate($entity_type, $entity, $field, $instance, $langcode, $items, &$errors) {}
danielebarchiesi@4 176
danielebarchiesi@4 177 public function presave($entity_type, $entity, $field, $instance, $langcode, &$items) {}
danielebarchiesi@4 178
danielebarchiesi@4 179 public function insert($entity_type, $entity, $field, $instance, $langcode, &$items) {}
danielebarchiesi@4 180
danielebarchiesi@4 181 public function postInsert($entity_type, $entity, $field, $instance) {}
danielebarchiesi@4 182
danielebarchiesi@4 183 public function update($entity_type, $entity, $field, $instance, $langcode, &$items) {}
danielebarchiesi@4 184
danielebarchiesi@4 185 public function postUpdate($entity_type, $entity, $field, $instance) {}
danielebarchiesi@4 186
danielebarchiesi@4 187 public function delete($entity_type, $entity, $field, $instance, $langcode, &$items) {}
danielebarchiesi@4 188
danielebarchiesi@4 189 public function postDelete($entity_type, $entity, $field, $instance) {}
danielebarchiesi@4 190
danielebarchiesi@4 191 public function entityPostInsert($entity_type, $entity, $field, $instance) {}
danielebarchiesi@4 192
danielebarchiesi@4 193 public function entityPostUpdate($entity_type, $entity, $field, $instance) {}
danielebarchiesi@4 194
danielebarchiesi@4 195 public function entityPostDelete($entity_type, $entity, $field, $instance) {}
danielebarchiesi@4 196
danielebarchiesi@4 197 public function settingsForm($field, $instance) {}
danielebarchiesi@4 198
danielebarchiesi@4 199 public function access($field, $instance) {
danielebarchiesi@4 200 return TRUE;
danielebarchiesi@4 201 }
danielebarchiesi@4 202 }
danielebarchiesi@4 203
danielebarchiesi@4 204 /**
danielebarchiesi@4 205 * A broken implementation of EntityReference_BehaviorHandler.
danielebarchiesi@4 206 */
danielebarchiesi@4 207 class EntityReference_BehaviorHandler_Broken extends EntityReference_BehaviorHandler_Abstract {
danielebarchiesi@4 208 public function settingsForm($field, $instance) {
danielebarchiesi@4 209 $form['behavior_handler'] = array(
danielebarchiesi@4 210 '#markup' => t('The selected behavior handler is broken.'),
danielebarchiesi@4 211 );
danielebarchiesi@4 212 return $form;
danielebarchiesi@4 213 }
danielebarchiesi@4 214 }