summaryrefslogtreecommitdiff
path: root/includes/form.inc
diff options
context:
space:
mode:
Diffstat (limited to 'includes/form.inc')
-rw-r--r--includes/form.inc21
1 files changed, 21 insertions, 0 deletions
diff --git a/includes/form.inc b/includes/form.inc
index 4c95ce22a..4aac8d1a9 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -942,6 +942,27 @@ function form_select_options($element, $choices = NULL) {
}
/**
+ * Traverses a select element's #option array looking for the object that
+ * holds the given key. Returns FALSE if not found. As usual with functions
+ * that can return 0 or FALSE do not forget to use === and !== if needed.
+ *
+ * @param $element
+ * The select element.
+ * @param $key
+ * The key to look for.
+ * @return
+ * The index of the object that held the $key with some value, or FALSE.
+ */
+function form_get_option_key($element, $key) {
+ foreach ($element['#options'] as $index => $object) {
+ if (isset($object->option[$key])) {
+ return $index;
+ }
+ }
+ return FALSE;
+}
+
+/**
* Format a group of form items.
*
* @param $element