summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--globals.pl17
-rwxr-xr-xshowvotes.cgi14
2 files changed, 25 insertions, 6 deletions
diff --git a/globals.pl b/globals.pl
index 1654738e5..09c9934bf 100644
--- a/globals.pl
+++ b/globals.pl
@@ -21,6 +21,7 @@
# Dan Mosedale <dmose@mozilla.org>
# Jake <jake@acutex.net>
# Bradley Baetz <bbaetz@cs.mcgill.ca>
+# Christopher Aillon <christopher@aillon.com>
# Contains some global variables and routines used throughout bugzilla.
@@ -1502,6 +1503,22 @@ sub PerformSubsts {
return $str;
}
+# Min and max routines.
+sub min {
+ my $min = shift(@_);
+ foreach my $val (@_) {
+ $min = $val if $val < $min;
+ }
+ return $min;
+}
+
+sub max {
+ my $max = shift(@_);
+ foreach my $val (@_) {
+ $max = $val if $val > $max;
+ }
+ return $max;
+}
# Trim whitespace from front and back.
diff --git a/showvotes.cgi b/showvotes.cgi
index bb87848f0..a6928bf84 100755
--- a/showvotes.cgi
+++ b/showvotes.cgi
@@ -20,6 +20,7 @@
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Stephan Niemz <st.n@gmx.net>
+# Christopher Aillon <christopher@aillon.com>
use diagnostics;
use strict;
@@ -138,13 +139,14 @@ if (defined $::FORM{'bug_id'}) {
$summary = html_quote($summary);
$sum += $count;
if ($canedit) {
- my $min = $maxvotesperbug{$product}; # minimum of these two
- $min = $::prodmaxvotes{$product} if $::prodmaxvotes{$product} < $min;
- if( $min < 2 ) { # checkbox
- my $checked = $count ? ' checked' : '';
+ my $min = min($::prodmaxvotes{$product}, $maxvotesperbug{$product});
+ if ($min < 2) { # checkbox
+ my $checked = $count ? ' checked="checked"' : '';
$count = qq{<input type="checkbox" name="$id" value="1"$checked>};
- }else { # normal input
- $count = qq{<input name="$id" value="$count" size="5">};
+ }
+ else { # text input
+ my $maxlength = length $min;
+ $count = qq{<input name="$id" value="$count" size="$maxlength" maxlength="$maxlength">};
}
}
print qq{