summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/common.inc2
-rw-r--r--modules/system/system.api.php18
2 files changed, 20 insertions, 0 deletions
diff --git a/includes/common.inc b/includes/common.inc
index 2de18d1fe..2a84bffd1 100644
--- a/includes/common.inc
+++ b/includes/common.inc
@@ -3987,6 +3987,8 @@ function element_info($type) {
$cache[$element_type]['#type'] = $element_type;
}
}
+ // Allow modules to alter the element type defaults.
+ drupal_alter('element_info', $cache);
}
return $cache[$type];
diff --git a/modules/system/system.api.php b/modules/system/system.api.php
index 7aead6c9b..8986270b2 100644
--- a/modules/system/system.api.php
+++ b/modules/system/system.api.php
@@ -116,6 +116,24 @@ function hook_elements() {
}
/**
+ * Alter the element type information returned from modules.
+ *
+ * A module may implement this hook in order to alter the element type defaults
+ * defined by a module.
+ *
+ * @param &$type
+ * All element type defaults as collected by hook_elements().
+ *
+ * @see hook_elements()
+ */
+function hook_element_info_alter(&$type) {
+ // Decrease the default size of textfields.
+ if (isset($type['textfield']['#size'])) {
+ $type['textfield']['#size'] = 40;
+ }
+}
+
+/**
* Perform cleanup tasks.
*
* This hook is run at the end of each page request. It is often used for