]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Refs #1362: Fixed a problem when comparing int and string values to determin the...
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Wed, 17 Mar 2010 01:39:07 +0000 (01:39 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Wed, 17 Mar 2010 01:39:07 +0000 (01:39 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@5424 36083f99-b078-4883-b0ff-0f9b5a30f544

views/default/input/pulldown.php

index b24d92b381e4cf628d4f614b3d847cbb0a912b67..54764bbd01d4b82203094336193936b9120da15c 100644 (file)
@@ -26,23 +26,29 @@ if (!isset($vars['value']) || $vars['value'] === FALSE) {
 }
 
 ?>
-
 <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) {
-               if ($value != $vars['value']) {
-                       echo "<option value=\"".htmlentities($value, ENT_QUOTES, 'UTF-8')."\">". htmlentities($option, ENT_QUOTES, 'UTF-8') ."</option>";
+               $value = htmlentities($value, ENT_QUOTES, 'UTF-8');
+               $option = htmlentities($option, ENT_QUOTES, 'UTF-8');
+
+               // use strcmp() because (0 == 'string') is true
+               if (strcmp($value, $vars['value']) == 0) {
+                       echo "<option value=\"$value\" selected=\"selected\">$option</option>";
                } else {
-                       echo "<option value=\"".htmlentities($value, ENT_QUOTES, 'UTF-8')."\" selected=\"selected\">". htmlentities($option, ENT_QUOTES, 'UTF-8') ."</option>";
+                       echo "<option value=\"$value\">$option</option>";
                }
        }
 } else {
        foreach($vars['options'] as $option) {
-               if ($option != $vars['value']) {
-                       echo "<option>". htmlentities($option, ENT_QUOTES, 'UTF-8') ."</option>";
+               $option = htmlentities($option, ENT_QUOTES, 'UTF-8');
+
+               if (strcmp($value, $vars['value']) == 0) {
+                       echo "<option selected=\"selected\">$option</option>";
                } else {
-                       echo "<option selected=\"selected\">". htmlentities($option, ENT_QUOTES, 'UTF-8') ."</option>";
+                       echo "<option>$option</option>";
                }
        }
 }