diff options
Diffstat (limited to 'views/default/input/pulldown.php')
-rw-r--r-- | views/default/input/pulldown.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/views/default/input/pulldown.php b/views/default/input/pulldown.php new file mode 100644 index 000000000..49c126c77 --- /dev/null +++ b/views/default/input/pulldown.php @@ -0,0 +1,55 @@ +<?php + +/** + * Elgg pulldown input + * Displays a pulldown input field + * + * @package Elgg + * @subpackage Core + * @author Curverider Ltd + * @link http://elgg.org/ + * + * @uses $vars['value'] The current value, if any + * @uses $vars['js'] Any Javascript to enter into the input tag + * @uses $vars['internalname'] The name of the input field + * @uses $vars['options'] An array of strings representing the options for the pulldown field + * @uses $vars['options_values'] An associative array of "value" => "option" where "value" is an internal name and "option" is + * the value displayed on the button. Replaces $vars['options'] when defined. + */ + +$defaults = array( + 'class' => 'input-pulldown', +); + +$overrides = array( + 'tag' => 'select', +); + +$args = array_merge($defaults, $vars, $overrides); + +$body = ''; + +if ($vars['options_values']) { + foreach($vars['options_values'] as $value => $option) { + $option_args = array( + 'value' => $value, + 'body' => $option, + 'selected' => ($value == $args['value']), + ); + + $body .= elgg_view('input/option', $option_args); + } +} else { + foreach($vars['options'] as $option) { + $option_args = array( + 'body' => $option, + 'selected' => ($option == $args['value']), + ); + + $body .= elgg_view('input/option', $option_args); + } +} + +$args['body'] = $body; + +echo elgg_view('html/tag', $args); |