소스 검색

! Again, don't allow generic number types, force it to either int or float for validation purposes. Also, when a float is expected, actually allow a float to be used.

Signed-off-by: Peter Spicer <[email protected]>
Peter Spicer 10 년 전
부모
커밋
ef57396d38
3개의 변경된 파일5개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 1
      Sources/ManageServer.php
  2. 1 1
      Themes/default/Admin.template.php
  3. 3 1
      Themes/default/Profile.template.php

+ 1 - 1
Sources/ManageServer.php

@@ -1048,7 +1048,7 @@ function saveDBSettings(&$config_vars)
 		elseif ($var[0] == 'float')
 			$setArray[$var[1]] = (float) $_POST[$var[1]];
 		// Text!
-		elseif ($var[0] == 'text' || in_array($var[0], array('color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'number', 'time')))
+		elseif ($var[0] == 'text' || in_array($var[0], array('color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'time')))
 			$setArray[$var[1]] = $_POST[$var[1]];
 		// Passwords!
 		elseif ($var[0] == 'password')

+ 1 - 1
Themes/default/Admin.template.php

@@ -794,7 +794,7 @@ function template_show_settings()
 				$subtext = !empty($config_var['subtext']) ? '<br><span class="smalltext"> ' . $config_var['subtext'] . '</span>' : '';
 				
 				// Various HTML5 input types that are basically enhanced textboxes
-				$text_types = array('color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'number', 'time');
+				$text_types = array('color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'time');
 
 				// Show the [?] button.
 				if ($config_var['help'])

+ 3 - 1
Themes/default/Profile.template.php

@@ -1392,9 +1392,11 @@ function template_edit_options()
 					$type = 'number';
 				else
 					$type = $field['type'];
+				$step = $field['type'] == 'float' ? ' step="0.1"' : '';
+					
 
 				echo '
-							<input type="', $type, '" name="', $key, '" id="', $key, '" size="', empty($field['size']) ? 30 : $field['size'], '" value="', $field['value'], '" ', $field['input_attr'], ' class="input_', $field['type'] == 'password' ? 'password' : 'text', '">';
+							<input type="', $type, '" name="', $key, '" id="', $key, '" size="', empty($field['size']) ? 30 : $field['size'], '" value="', $field['value'], '" ', $field['input_attr'], ' class="input_', $field['type'] == 'password' ? 'password' : 'text', '"', $step, '>';
 			}
 			// You "checking" me out? ;)
 			elseif ($field['type'] == 'check')