From 26dd8f6f14179882e88a2180bdbcf35868ad23ca Mon Sep 17 00:00:00 2001 From: ewinslow Date: Sat, 12 Feb 2011 06:38:18 +0000 Subject: Refs #2143: DRYed up input/dropdown -- probably could be better still git-svn-id: http://code.elgg.org/elgg/trunk@8144 36083f99-b078-4883-b0ff-0f9b5a30f544 --- views/default/input/dropdown.php | 53 ++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/views/default/input/dropdown.php b/views/default/input/dropdown.php index 99657d983..6fd97d3b5 100644 --- a/views/default/input/dropdown.php +++ b/views/default/input/dropdown.php @@ -9,8 +9,6 @@ * @subpackage Core * * @uses $vars['value'] The current value, if any - * @uses $vars['js'] Any Javascript to enter into the select tag - * @uses $vars['internalname'] The name of the select field * @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 an internal name and "option" is @@ -18,37 +16,44 @@ * $vars['options'] when defined. */ -$class = $vars['class']; -if (!$class) { - $class = "elgg-input-dropdown"; -} +$defaults = array( + 'class' => 'elgg-input-dropdown', + 'disabled' => FALSE, +); + +$options_values = $vars['options_values']; +unset($vars['options_values']); + +$options = $vars['options']; +unset($vars['options']); +$value = $vars['value']; +unset($vars['value']); + +$attrs = array_merge($defaults, $vars); ?> -> $option) { +if ($options_values) { + foreach ($options_values as $opt_value => $option) { - $encoded_value = htmlentities($value, ENT_QUOTES, 'UTF-8'); - $encoded_option = htmlentities($option, ENT_QUOTES, 'UTF-8'); + $option_attrs = elgg_format_attributes(array( + 'value' => $opt_value, + 'selected' => (string)$opt_value == (string)$value, + )); - if ((string)$value == (string)$vars['value']) { - echo ""; - } else { - echo ""; - } + echo ""; } } else { - foreach($vars['options'] as $option) { - $encoded_option = htmlentities($option, ENT_QUOTES, 'UTF-8'); - - if ((string)$option == (string)$vars['value']) { - echo ""; - } else { - echo ""; - } + foreach ($options as $option) { + + $option_attrs = elgg_format_attributes(array( + 'selected' => (string)$option == (string)$value + )); + + echo ""; } } ?> -- cgit v1.2.3