aboutsummaryrefslogtreecommitdiff
path: root/mod/cool_theme/views/default/input/dropdown.php
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2014-03-15 14:46:48 -0300
committerSilvio Rhatto <rhatto@riseup.net>2014-03-15 14:46:48 -0300
commita89ba6df7133bc7f0b8ea96d4a5673887b267af4 (patch)
treee6850ce6c3f894b3867d172cbdea6cd75031ab26 /mod/cool_theme/views/default/input/dropdown.php
parent0d860aca4fda73fce303dad41003e61f040acca8 (diff)
parent5041c6c48153453ed597206d08eeff37cf20e676 (diff)
downloadelgg-a89ba6df7133bc7f0b8ea96d4a5673887b267af4.tar.gz
elgg-a89ba6df7133bc7f0b8ea96d4a5673887b267af4.tar.bz2
Merge commit '5041c6c48153453ed597206d08eeff37cf20e676' as 'mod/cool_theme'
Diffstat (limited to 'mod/cool_theme/views/default/input/dropdown.php')
-rw-r--r--mod/cool_theme/views/default/input/dropdown.php71
1 files changed, 71 insertions, 0 deletions
diff --git a/mod/cool_theme/views/default/input/dropdown.php b/mod/cool_theme/views/default/input/dropdown.php
new file mode 100644
index 000000000..9f07874f1
--- /dev/null
+++ b/mod/cool_theme/views/default/input/dropdown.php
@@ -0,0 +1,71 @@
+<?php
+/**
+ * Elgg dropdown input
+ * Displays a dropdown (select) input field
+ *
+ * @warning Default values of FALSE or NULL will match '' (empty string) but not 0.
+ *
+ * @package Elgg
+ * @subpackage Core
+ *
+ * @uses $vars['value'] The current value, if any
+ * @uses $vars['options'] An array of strings representing the options for the dropdown field
+ * @uses $vars['options_values'] An associative array of "value" => "option"
+ * where "value" is the name and "option" is
+ * the value displayed on the button. Replaces
+ * $vars['options'] when defined.
+ * @uses $vars['class'] Additional CSS class
+ */
+
+if (isset($vars['class'])) {
+ $vars['class'] = "elgg-input-dropdown {$vars['class']}";
+} else {
+ $vars['class'] = "elgg-input-dropdown";
+}
+
+$defaults = array(
+ 'disabled' => false,
+ 'value' => '',
+ 'options_values' => array(),
+ 'options' => array(),
+);
+
+$vars = array_merge($defaults, $vars);
+
+$options_values = $vars['options_values'];
+unset($vars['options_values']);
+
+$options = $vars['options'];
+unset($vars['options']);
+
+$value = $vars['value'];
+unset($vars['value']);
+
+?>
+<select <?php echo elgg_format_attributes($vars); ?>>
+<?php
+
+if ($options_values) {
+ foreach ($options_values as $opt_value => $option) {
+
+ $option_attrs = elgg_format_attributes(array(
+ 'value' => $opt_value,
+ 'selected' => (string)$opt_value == (string)$value,
+ ));
+
+ echo "<option $option_attrs>$option</option>";
+ }
+} else {
+ if (is_array($options)) {
+ foreach ($options as $option) {
+
+ $option_attrs = elgg_format_attributes(array(
+ 'selected' => (string)$option == (string)$value
+ ));
+
+ echo "<option $option_attrs>$option</option>";
+ }
+ }
+}
+?>
+</select>