aboutsummaryrefslogtreecommitdiff
path: root/views/default/input/dropdown.php
diff options
context:
space:
mode:
Diffstat (limited to 'views/default/input/dropdown.php')
-rw-r--r--views/default/input/dropdown.php58
1 files changed, 58 insertions, 0 deletions
diff --git a/views/default/input/dropdown.php b/views/default/input/dropdown.php
new file mode 100644
index 000000000..b4d38fb00
--- /dev/null
+++ b/views/default/input/dropdown.php
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Elgg dropdown input
+ * Displays a dropdown (select) input field
+ *
+ * NB: Default values of FALSE or NULL will match '' (empty string) and not 0.
+ *
+ * @package Elgg
+ * @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
+ * the value displayed on the button. Replaces
+ * $vars['options'] when defined.
+ */
+
+$class = $vars['class'];
+if (!$class) {
+ $class = "elgg-input-dropdown";
+}
+
+if (!isset($vars['value'])) {
+ $vars['value'] = elgg_get_sticky_value($vars['internalname']);
+}
+
+?>
+<select name="<?php echo $vars['internalname']; ?>" <?php if (isset($vars['internalid'])) echo "id=\"{$vars['internalid']}\""; ?> <?php echo $vars['js']; ?> <?php if ($vars['disabled']) echo ' disabled="yes" '; ?> class="<?php echo $class; ?>">
+<?php
+
+if ($vars['options_values']) {
+ foreach($vars['options_values'] as $value => $option) {
+
+ $encoded_value = htmlentities($value, ENT_QUOTES, 'UTF-8');
+ $encoded_option = htmlentities($option, ENT_QUOTES, 'UTF-8');
+
+ if ((string)$value == (string)$vars['value']) {
+ echo "<option value=\"$encoded_value\" selected=\"selected\">$encoded_option</option>";
+ } else {
+ echo "<option value=\"$encoded_value\">$encoded_option</option>";
+ }
+ }
+} else {
+ foreach($vars['options'] as $option) {
+ $encoded_option = htmlentities($option, ENT_QUOTES, 'UTF-8');
+
+ if ((string)$option == (string)$vars['value']) {
+ echo "<option selected=\"selected\">$encoded_option</option>";
+ } else {
+ echo "<option>$encoded_option</option>";
+ }
+ }
+}
+?>
+</select>