annotate sites/all/modules/features/features.api.php @ 9:830c812b520f

added smtp module
author root <root@paio.local>
date Mon, 28 Oct 2013 15:34:27 +0000
parents ce11bbd8f642
children
rev   line source
danielebarchiesi@4 1 <?php
danielebarchiesi@4 2
danielebarchiesi@4 3 /**
danielebarchiesi@4 4 * Main info hook that features uses to determine what components are provided
danielebarchiesi@4 5 * by the implementing module.
danielebarchiesi@4 6 *
danielebarchiesi@4 7 * @return array
danielebarchiesi@4 8 * An array of components, keyed by the component name. Each component can
danielebarchiesi@4 9 * define several keys:
danielebarchiesi@4 10 *
danielebarchiesi@4 11 * 'file': Optional path to a file to include which contains the rest
danielebarchiesi@4 12 * of the features API hooks for this module.
danielebarchiesi@4 13 *
danielebarchiesi@4 14 * 'default_hook': The defaults hook for your component that is called
danielebarchiesi@4 15 * when the cache of default components is generated. Examples include
danielebarchiesi@4 16 * hook_views_default_views() or hook_context_default_contexts().
danielebarchiesi@4 17 *
danielebarchiesi@4 18 * 'default_file': The file-writing behavior to use when exporting this
danielebarchiesi@4 19 * component. May be one of 3 constant values:
danielebarchiesi@4 20 *
danielebarchiesi@4 21 * FEATURES_DEFAULTS_INCLUDED_COMMON: write hooks/components to
danielebarchiesi@4 22 * `.features.inc` with other components. This is the default behavior
danielebarchiesi@4 23 * if this key is not defined.
danielebarchiesi@4 24 *
danielebarchiesi@4 25 * FEATURES_DEFAULTS_INCLUDED: write hooks/components to a component-
danielebarchiesi@4 26 * specific include named automatically by features.
danielebarchiesi@4 27 *
danielebarchiesi@4 28 * FEATURES_DEFAULTS_CUSTOM: write hooks/components to a component-
danielebarchiesi@4 29 * specific include with a custom name provided. If your module provides
danielebarchiesi@4 30 * large amounts of code that should not be parsed often (only on specific
danielebarchiesi@4 31 * cache clears/rebuilds, for example) you should use the 2nd or 3rd
danielebarchiesi@4 32 * options to split your component into its own include.
danielebarchiesi@4 33 *
danielebarchiesi@4 34 * 'default_filename': The filename to use when 'default_file' is set to
danielebarchiesi@4 35 * FEATURES_DEFAULTS_CUSTOM.
danielebarchiesi@4 36 *
danielebarchiesi@4 37 * 'feature_source': Boolean value for whether this component should be
danielebarchiesi@4 38 * offered as an option on the initial feature creation form.
danielebarchiesi@4 39 *
danielebarchiesi@4 40 * 'base': Optional. An alternative base key to use when calling features
danielebarchiesi@4 41 * hooks for this component. Can be used for features component types that
danielebarchiesi@4 42 * are declared "dynamically" or are part of a family of components.
danielebarchiesi@4 43 *
danielebarchiesi@4 44 * 'alter_type': What type of alter hook this hook uses. 'normal' is called
danielebarchiesi@4 45 * after the main hook is called. 'inline' is embeded within the default hook
danielebarchiesi@4 46 * and may not be implemented by some default hooks.
danielebarchiesi@4 47 * 'none' is no alter hook exists. Defaults to 'normal'
danielebarchiesi@4 48 *
danielebarchiesi@4 49 * 'alter_hook': What the name of the alter hook for this component is.
danielebarchiesi@4 50 * Do not include the '_alter' part. Defaults to 'default_hook'.
danielebarchiesi@4 51 */
danielebarchiesi@4 52 function hook_features_api() {
danielebarchiesi@4 53 return array(
danielebarchiesi@4 54 'mycomponent' => array(
danielebarchiesi@4 55 'default_hook' => 'mycomponent_defaults',
danielebarchiesi@4 56 'default_file' => FEATURES_DEFAULTS_INCLUDED,
danielebarchiesi@4 57 'feature_source' => TRUE,
danielebarchiesi@4 58 'file' => drupal_get_path('module', 'mycomponent') . '/mycomponent.features.inc',
danielebarchiesi@4 59 ),
danielebarchiesi@4 60 );
danielebarchiesi@4 61 }
danielebarchiesi@4 62
danielebarchiesi@4 63 /**
danielebarchiesi@4 64 * Component hook. The hook should be implemented using the name of the
danielebarchiesi@4 65 * component, not the module, eg. [component]_features_export() rather than
danielebarchiesi@4 66 * [module]_features_export().
danielebarchiesi@4 67 *
danielebarchiesi@4 68 * Process the export array for a given component. Implementations of this hook
danielebarchiesi@4 69 * have three key tasks:
danielebarchiesi@4 70 *
danielebarchiesi@4 71 * 1. Determine module dependencies for any of the components passed to it
danielebarchiesi@4 72 * e.g. the views implementation iterates over each views' handlers and
danielebarchiesi@4 73 * plugins to determine which modules need to be added as dependencies.
danielebarchiesi@4 74 *
danielebarchiesi@4 75 * 2. Correctly add components to the export array. In general this is usually
danielebarchiesi@4 76 * adding all of the items in $data to $export['features']['my_key'], but
danielebarchiesi@4 77 * can become more complicated if components are shared between features
danielebarchiesi@4 78 * or modules.
danielebarchiesi@4 79 *
danielebarchiesi@4 80 * 3. Delegating further detection and export tasks to related or derivative
danielebarchiesi@4 81 * components.
danielebarchiesi@4 82 *
danielebarchiesi@4 83 * Each export processor can kickoff further export processors by returning a
danielebarchiesi@4 84 * keyed array (aka the "pipe") where the key is the next export processor hook
danielebarchiesi@4 85 * to call and the value is an array to be passed to that processor's $data
danielebarchiesi@4 86 * argument. This allows an export process to start simply at a few objects:
danielebarchiesi@4 87 *
danielebarchiesi@4 88 * [context]
danielebarchiesi@4 89 *
danielebarchiesi@4 90 * And then branch out, delegating each component to its appropriate hook:
danielebarchiesi@4 91 *
danielebarchiesi@4 92 * [context]--------+------------+
danielebarchiesi@4 93 * | | |
danielebarchiesi@4 94 * [node] [block] [views]
danielebarchiesi@4 95 * |
danielebarchiesi@4 96 * [CCK]
danielebarchiesi@4 97 * |
danielebarchiesi@4 98 * [imagecache]
danielebarchiesi@4 99 *
danielebarchiesi@4 100 * @param array $data
danielebarchiesi@4 101 * An array of machine names for the component in question to be exported.
danielebarchiesi@4 102 * @param array &$export
danielebarchiesi@4 103 * By reference. An array of all components to be exported with a given
danielebarchiesi@4 104 * feature. Component objects that should be exported should be added to
danielebarchiesi@4 105 * this array.
danielebarchiesi@4 106 * @param string $module_name
danielebarchiesi@4 107 * The name of the feature module to be generated.
danielebarchiesi@4 108 * @return array
danielebarchiesi@4 109 * The pipe array of further processors that should be called.
danielebarchiesi@4 110 */
danielebarchiesi@4 111 function hook_features_export($data, &$export, $module_name) {
danielebarchiesi@4 112 // The following is the simplest implementation of a straight object export
danielebarchiesi@4 113 // with no further export processors called.
danielebarchiesi@4 114 foreach ($data as $component) {
danielebarchiesi@4 115 $export['features']['mycomponent'][$component] = $component;
danielebarchiesi@4 116 }
danielebarchiesi@4 117 return array();
danielebarchiesi@4 118 }
danielebarchiesi@4 119
danielebarchiesi@4 120 /**
danielebarchiesi@4 121 * Component hook. The hook should be implemented using the name of the
danielebarchiesi@4 122 * component, not the module, eg. [component]_features_export() rather than
danielebarchiesi@4 123 * [module]_features_export().
danielebarchiesi@4 124 *
danielebarchiesi@4 125 * List all objects for a component that may be exported.
danielebarchiesi@4 126 *
danielebarchiesi@4 127 * @return array
danielebarchiesi@4 128 * A keyed array of items, suitable for use with a FormAPI select or
danielebarchiesi@4 129 * checkboxes element.
danielebarchiesi@4 130 */
danielebarchiesi@4 131 function hook_features_export_options() {
danielebarchiesi@4 132 $options = array();
danielebarchiesi@4 133 foreach (mycomponent_load() as $mycomponent) {
danielebarchiesi@4 134 $options[$mycomponent->name] = $mycomponent->title;
danielebarchiesi@4 135 }
danielebarchiesi@4 136 return $options;
danielebarchiesi@4 137 }
danielebarchiesi@4 138
danielebarchiesi@4 139 /**
danielebarchiesi@4 140 * Component hook. The hook should be implemented using the name of the
danielebarchiesi@4 141 * component, not the module, eg. [component]_features_export() rather than
danielebarchiesi@4 142 * [module]_features_export().
danielebarchiesi@4 143 *
danielebarchiesi@4 144 * Render one or more component objects to code.
danielebarchiesi@4 145 *
danielebarchiesi@4 146 * @param string $module_name
danielebarchiesi@4 147 * The name of the feature module to be exported.
danielebarchiesi@4 148 * @param array $data
danielebarchiesi@4 149 * An array of machine name identifiers for the objects to be rendered.
danielebarchiesi@4 150 * @param array $export
danielebarchiesi@4 151 * The full export array of the current feature being exported. This is only
danielebarchiesi@4 152 * passed when hook_features_export_render() is invoked for an actual feature
danielebarchiesi@4 153 * update or recreate, not during state checks or other operations.
danielebarchiesi@4 154 * @return array
danielebarchiesi@4 155 * An associative array of rendered PHP code where the key is the name of the
danielebarchiesi@4 156 * hook that should wrap the PHP code. The hook should not include the name
danielebarchiesi@4 157 * of the module, e.g. the key for `hook_example` should simply be `example`
danielebarchiesi@4 158 * The values in the array can also be in the form of an associative array
danielebarchiesi@4 159 * with the required key of 'code' and optional key of 'args', if 'args' need
danielebarchiesi@4 160 * to be added to the hook.
danielebarchiesi@4 161 */
danielebarchiesi@4 162 function hook_features_export_render($module_name, $data, $export = NULL) {
danielebarchiesi@4 163 $code = array();
danielebarchiesi@4 164 $code[] = '$mycomponents = array();';
danielebarchiesi@4 165 foreach ($data as $name) {
danielebarchiesi@4 166 $code[] = " \$mycomponents['{$name}'] = " . features_var_export(mycomponent_load($name)) .";";
danielebarchiesi@4 167 }
danielebarchiesi@4 168 $code[] = "return \$mycomponents;";
danielebarchiesi@4 169 $code = implode("\n", $code);
danielebarchiesi@4 170 return array('mycomponent_defaults' => $code);
danielebarchiesi@4 171 }
danielebarchiesi@4 172
danielebarchiesi@4 173 /**
danielebarchiesi@4 174 * Component hook. The hook should be implemented using the name of the
danielebarchiesi@4 175 * component, not the module, eg. [component]_features_export() rather than
danielebarchiesi@4 176 * [module]_features_export().
danielebarchiesi@4 177 *
danielebarchiesi@4 178 * Revert all component objects for a given feature module.
danielebarchiesi@4 179 *
danielebarchiesi@4 180 * @param string $module_name
danielebarchiesi@4 181 * The name of the feature module whose components should be reverted.
danielebarchiesi@4 182 * @return boolean
danielebarchiesi@4 183 * TRUE or FALSE for whether the components were successfully reverted.
danielebarchiesi@4 184 * NOTE: This return value is no longer used in the latest Features so
danielebarchiesi@4 185 * modules should no longer count on this value
danielebarchiesi@4 186 */
danielebarchiesi@4 187 function hook_features_revert($module_name) {
danielebarchiesi@4 188 $mycomponents = module_invoke($module_name, 'mycomponent_defaults');
danielebarchiesi@4 189 if (!empty($mycomponents)) {
danielebarchiesi@4 190 foreach ($mycomponents as $mycomponent) {
danielebarchiesi@4 191 mycomponent_delete($mycomponent);
danielebarchiesi@4 192 }
danielebarchiesi@4 193 }
danielebarchiesi@4 194 }
danielebarchiesi@4 195
danielebarchiesi@4 196 /**
danielebarchiesi@4 197 * Component hook. The hook should be implemented using the name of the
danielebarchiesi@4 198 * component, not the module, eg. [component]_features_export() rather than
danielebarchiesi@4 199 * [module]_features_export().
danielebarchiesi@4 200 *
danielebarchiesi@4 201 * Rebuild all component objects for a given feature module. Should only be
danielebarchiesi@4 202 * implemented for 'faux-exportable' components.
danielebarchiesi@4 203 *
danielebarchiesi@4 204 * This hook is called at points where Features determines that it is safe
danielebarchiesi@4 205 * (ie. the feature is in state `FEATURES_REBUILDABLE`) for your module to
danielebarchiesi@4 206 * replace objects in the database with defaults that you collect from your
danielebarchiesi@4 207 * own defaults hook. See API.txt for how Features determines whether a
danielebarchiesi@4 208 * rebuild of components is possible.
danielebarchiesi@4 209 *
danielebarchiesi@4 210 * @param string $module_name
danielebarchiesi@4 211 * The name of the feature module whose components should be rebuilt.
danielebarchiesi@4 212 */
danielebarchiesi@4 213 function hook_features_rebuild($module_name) {
danielebarchiesi@4 214 $mycomponents = module_invoke($module_name, 'mycomponent_defaults');
danielebarchiesi@4 215 if (!empty($mycomponents)) {
danielebarchiesi@4 216 foreach ($mycomponents as $mycomponent) {
danielebarchiesi@4 217 mycomponent_save($mycomponent);
danielebarchiesi@4 218 }
danielebarchiesi@4 219 }
danielebarchiesi@4 220 }
danielebarchiesi@4 221
danielebarchiesi@4 222 /**
danielebarchiesi@4 223 * Alter the final array of Component names to be exported, just prior to
danielebarchiesi@4 224 * the rendering of defaults. Allows modules a final say in whether or not
danielebarchiesi@4 225 * certain Components are exported (the Components' actual data, however,
danielebarchiesi@4 226 * cannot be altered by this hook).
danielebarchiesi@4 227 *
danielebarchiesi@4 228 * @param array &$export
danielebarchiesi@4 229 * By reference. An array of all component names to be exported with a given
danielebarchiesi@4 230 * feature.
danielebarchiesi@4 231 * @param array $module_name
danielebarchiesi@4 232 * The name of the feature module to be generated.
danielebarchiesi@4 233 */
danielebarchiesi@4 234 function hook_features_export_alter(&$export, $module_name) {
danielebarchiesi@4 235 // Example: do not allow the page content type to be exported, ever.
danielebarchiesi@4 236 if (!empty($export['features']['node']['page'])) {
danielebarchiesi@4 237 unset($export['features']['node']['page']);
danielebarchiesi@4 238 }
danielebarchiesi@4 239 }
danielebarchiesi@4 240
danielebarchiesi@4 241 /**
danielebarchiesi@4 242 * Alter the pipe array for a given component. This hook should be implemented
danielebarchiesi@4 243 * with the name of the component type in place of `component` in the function
danielebarchiesi@4 244 * name, e.g. `features_pipe_views_alter()` will alter the pipe for the Views
danielebarchiesi@4 245 * component.
danielebarchiesi@4 246 *
danielebarchiesi@4 247 * @param array &$pipe
danielebarchiesi@4 248 * By reference. The pipe array of further processors that should be called.
danielebarchiesi@4 249 * @param array $data
danielebarchiesi@4 250 * An array of machine names for the component in question to be exported.
danielebarchiesi@4 251 * @param array &$export
danielebarchiesi@4 252 * By reference. An array of all components to be exported with a given
danielebarchiesi@4 253 * feature.
danielebarchiesi@4 254 */
danielebarchiesi@4 255 function hook_features_pipe_COMPONENT_alter(&$pipe, $data, $export) {
danielebarchiesi@4 256 if (in_array($data, 'my-node-type')) {
danielebarchiesi@4 257 $pipe['dependencies'][] = 'mymodule';
danielebarchiesi@4 258 }
danielebarchiesi@4 259 }
danielebarchiesi@4 260
danielebarchiesi@4 261 /**
danielebarchiesi@4 262 * Alter the pipe array for a given component.
danielebarchiesi@4 263 *
danielebarchiesi@4 264 * @param array &$pipe
danielebarchiesi@4 265 * By reference. The pipe array of further processors that should be called.
danielebarchiesi@4 266 * @param array $data
danielebarchiesi@4 267 * An array of machine names for the component in question to be exported.
danielebarchiesi@4 268 * @param array &$export
danielebarchiesi@4 269 * By reference. An array of all components to be exported with a given
danielebarchiesi@4 270 * feature.
danielebarchiesi@4 271 *
danielebarchiesi@4 272 * The component being exported is contained in $export['component'].
danielebarchiesi@4 273 * The module being exported contained in $export['module_name'].
danielebarchiesi@4 274 */
danielebarchiesi@4 275 function hook_features_pipe_alter(&$pipe, $data, $export) {
danielebarchiesi@4 276 if ($export['component'] == 'node' && in_array($data, 'my-node-type')) {
danielebarchiesi@4 277 $pipe['dependencies'][] = 'mymodule';
danielebarchiesi@4 278 }
danielebarchiesi@4 279 }
danielebarchiesi@4 280
danielebarchiesi@4 281 /**
danielebarchiesi@4 282 * @defgroup features_component_alter_hooks Feature's component alter hooks
danielebarchiesi@4 283 * @{
danielebarchiesi@4 284 * Hooks to modify components defined by other features. These come in the form
danielebarchiesi@4 285 * hook_COMPONENT_alter where COMPONENT is the default_hook declared by any of
danielebarchiesi@4 286 * components within features.
danielebarchiesi@4 287 *
danielebarchiesi@4 288 * CTools also has a variety of hook_FOO_alters.
danielebarchiesi@4 289 *
danielebarchiesi@4 290 * Note: While views is a component of features, it declares it's own alter
danielebarchiesi@4 291 * function which takes a similar form:
danielebarchiesi@4 292 * hook_views_default_views_alter(&$views)
danielebarchiesi@4 293 */
danielebarchiesi@4 294
danielebarchiesi@4 295 /**
danielebarchiesi@4 296 * Alter the default fields right before they are cached into the database.
danielebarchiesi@4 297 *
danielebarchiesi@4 298 * @param &$fields
danielebarchiesi@4 299 * By reference. The fields that have been declared by another feature.
danielebarchiesi@4 300 */
danielebarchiesi@4 301 function hook_field_default_fields_alter(&$fields) {
danielebarchiesi@4 302 }
danielebarchiesi@4 303
danielebarchiesi@4 304 /**
danielebarchiesi@4 305 * Alter the default fieldgroup groups right before they are cached into the
danielebarchiesi@4 306 * database.
danielebarchiesi@4 307 *
danielebarchiesi@4 308 * @param &$groups
danielebarchiesi@4 309 * By reference. The fieldgroup groups that have been declared by another
danielebarchiesi@4 310 * feature.
danielebarchiesi@4 311 */
danielebarchiesi@4 312 function hook_fieldgroup_default_groups_alter(&$groups) {
danielebarchiesi@4 313 }
danielebarchiesi@4 314
danielebarchiesi@4 315 /**
danielebarchiesi@4 316 * Alter the default filter formats right before they are cached into the
danielebarchiesi@4 317 * database.
danielebarchiesi@4 318 *
danielebarchiesi@4 319 * @param &$formats
danielebarchiesi@4 320 * By reference. The formats that have been declared by another feature.
danielebarchiesi@4 321 */
danielebarchiesi@4 322 function hook_filter_default_formats_alter(&$formats) {
danielebarchiesi@4 323 }
danielebarchiesi@4 324
danielebarchiesi@4 325 /**
danielebarchiesi@4 326 * Alter the default menus right before they are cached into the database.
danielebarchiesi@4 327 *
danielebarchiesi@4 328 * @param &$menus
danielebarchiesi@4 329 * By reference. The menus that have been declared by another feature.
danielebarchiesi@4 330 */
danielebarchiesi@4 331 function hook_menu_default_menu_custom_alter(&$menus) {
danielebarchiesi@4 332 }
danielebarchiesi@4 333
danielebarchiesi@4 334 /**
danielebarchiesi@4 335 * Alter the default menu links right before they are cached into the database.
danielebarchiesi@4 336 *
danielebarchiesi@4 337 * @param &$links
danielebarchiesi@4 338 * By reference. The menu links that have been declared by another feature.
danielebarchiesi@4 339 */
danielebarchiesi@4 340 function hook_menu_default_menu_links_alter(&$links) {
danielebarchiesi@4 341 }
danielebarchiesi@4 342
danielebarchiesi@4 343 /**
danielebarchiesi@4 344 * Alter the default menu items right before they are cached into the database.
danielebarchiesi@4 345 *
danielebarchiesi@4 346 * @param &$items
danielebarchiesi@4 347 * By reference. The menu items that have been declared by another feature.
danielebarchiesi@4 348 */
danielebarchiesi@4 349 function hook_menu_default_items_alter(&$items) {
danielebarchiesi@4 350 }
danielebarchiesi@4 351
danielebarchiesi@4 352 /**
danielebarchiesi@4 353 * Alter the default vocabularies right before they are cached into the
danielebarchiesi@4 354 * database.
danielebarchiesi@4 355 *
danielebarchiesi@4 356 * @param &$vocabularies
danielebarchiesi@4 357 * By reference. The vocabularies that have been declared by another feature.
danielebarchiesi@4 358 */
danielebarchiesi@4 359 function hook_taxonomy_default_vocabularies_alter(&$vocabularies) {
danielebarchiesi@4 360 }
danielebarchiesi@4 361
danielebarchiesi@4 362 /**
danielebarchiesi@4 363 * Alter the default permissions right before they are cached into the
danielebarchiesi@4 364 * database.
danielebarchiesi@4 365 *
danielebarchiesi@4 366 * @param &$permissions
danielebarchiesi@4 367 * By reference. The permissions that have been declared by another feature.
danielebarchiesi@4 368 */
danielebarchiesi@4 369 function hook_user_default_permissions_alter(&$permissions) {
danielebarchiesi@4 370 }
danielebarchiesi@4 371
danielebarchiesi@4 372 /**
danielebarchiesi@4 373 * Alter the default roles right before they are cached into the database.
danielebarchiesi@4 374 *
danielebarchiesi@4 375 * @param &$roles
danielebarchiesi@4 376 * By reference. The roles that have been declared by another feature.
danielebarchiesi@4 377 */
danielebarchiesi@4 378 function hook_user_default_roles_alter(&$roles) {
danielebarchiesi@4 379 }
danielebarchiesi@4 380
danielebarchiesi@4 381 /**
danielebarchiesi@4 382 * @}
danielebarchiesi@4 383 */
danielebarchiesi@4 384
danielebarchiesi@4 385
danielebarchiesi@4 386 /**
danielebarchiesi@4 387 * @defgroup features_module_hooks Feature module hooks
danielebarchiesi@4 388 * @{
danielebarchiesi@4 389 * Hooks invoked on Feature modules when that module is enabled, disabled,
danielebarchiesi@4 390 * rebuilt, or reverted. These are ONLY invoked on the Features module on
danielebarchiesi@4 391 * which these actions are taken.
danielebarchiesi@4 392 */
danielebarchiesi@4 393
danielebarchiesi@4 394 /**
danielebarchiesi@4 395 * Feature module hook. Invoked on a Feature module before that module is
danielebarchiesi@4 396 * reverted.
danielebarchiesi@4 397 *
danielebarchiesi@4 398 * @param $component
danielebarchiesi@4 399 * String name of the component that is about to be reverted.
danielebarchiesi@4 400 */
danielebarchiesi@4 401 function hook_pre_features_revert($component) {
danielebarchiesi@4 402 }
danielebarchiesi@4 403
danielebarchiesi@4 404 /**
danielebarchiesi@4 405 * Feature module hook. Invoked on a Feature module after that module is
danielebarchiesi@4 406 * reverted.
danielebarchiesi@4 407 *
danielebarchiesi@4 408 * @param $component
danielebarchiesi@4 409 * String name of the component that has just been reverted.
danielebarchiesi@4 410 */
danielebarchiesi@4 411 function hook_post_features_revert($component) {
danielebarchiesi@4 412 }
danielebarchiesi@4 413
danielebarchiesi@4 414 /**
danielebarchiesi@4 415 * Feature module hook. Invoked on a Feature module before that module is
danielebarchiesi@4 416 * rebuilt.
danielebarchiesi@4 417 *
danielebarchiesi@4 418 * @param $component
danielebarchiesi@4 419 * String name of the component that is about to be rebuilt.
danielebarchiesi@4 420 */
danielebarchiesi@4 421 function hook_pre_features_rebuild($component) {
danielebarchiesi@4 422 }
danielebarchiesi@4 423
danielebarchiesi@4 424 /**
danielebarchiesi@4 425 * Feature module hook. Invoked on a Feature module after that module is
danielebarchiesi@4 426 * rebuilt.
danielebarchiesi@4 427 *
danielebarchiesi@4 428 * @param $component
danielebarchiesi@4 429 * String name of the component that has just been rebuilt.
danielebarchiesi@4 430 */
danielebarchiesi@4 431 function hook_post_features_rebuild($component) {
danielebarchiesi@4 432 }
danielebarchiesi@4 433
danielebarchiesi@4 434 /**
danielebarchiesi@4 435 * Feature module hook. Invoked on a Feature module before that module is
danielebarchiesi@4 436 * disabled.
danielebarchiesi@4 437 *
danielebarchiesi@4 438 * @param $component
danielebarchiesi@4 439 * String name of the component that is about to be disabled.
danielebarchiesi@4 440 */
danielebarchiesi@4 441 function hook_pre_features_disable_feature($component) {
danielebarchiesi@4 442 }
danielebarchiesi@4 443
danielebarchiesi@4 444 /**
danielebarchiesi@4 445 * Feature module hook. Invoked on a Feature module after that module is
danielebarchiesi@4 446 * disabled.
danielebarchiesi@4 447 *
danielebarchiesi@4 448 * @param $component
danielebarchiesi@4 449 * String name of the component that has just been disabled.
danielebarchiesi@4 450 */
danielebarchiesi@4 451 function hook_post_features_disable_feature($component) {
danielebarchiesi@4 452 }
danielebarchiesi@4 453
danielebarchiesi@4 454 /**
danielebarchiesi@4 455 * Feature module hook. Invoked on a Feature module before that module is
danielebarchiesi@4 456 * enabled.
danielebarchiesi@4 457 *
danielebarchiesi@4 458 * @param $component
danielebarchiesi@4 459 * String name of the component that is about to be enabled.
danielebarchiesi@4 460 */
danielebarchiesi@4 461 function hook_pre_features_enable_feature($component) {
danielebarchiesi@4 462 }
danielebarchiesi@4 463
danielebarchiesi@4 464 /**
danielebarchiesi@4 465 * Feature module hook. Invoked on a Feature module after that module is
danielebarchiesi@4 466 * enabled.
danielebarchiesi@4 467 *
danielebarchiesi@4 468 * @param $component
danielebarchiesi@4 469 * String name of the component that has just been enabled.
danielebarchiesi@4 470 */
danielebarchiesi@4 471 function hook_post_features_enable_feature($component) {
danielebarchiesi@4 472 }
danielebarchiesi@4 473
danielebarchiesi@4 474 /**
danielebarchiesi@4 475 * @}
danielebarchiesi@4 476 */