Permalink
Browse files

Fix infinite loop when minYear/maxYear are not int.

Refs #2361
  • Loading branch information...
1 parent 205bfb5 commit 8bb6f8803c60d68e110f208e5e6276b1a524cb22 @markstory markstory committed Dec 12, 2011
Showing with 5 additions and 10 deletions.
  1. +3 −0 lib/Cake/Test/Case/View/Helper/FormHelperTest.php
  2. +2 −10 lib/Cake/View/Helper/FormHelper.php
@@ -5624,6 +5624,9 @@ public function testYear() {
'/select',
);
$this->assertTags($result, $expected);
+
+ $result = $this->Form->year('published', array(), array(), array('empty' => false));
+ $this->assertContains('data[Contact][published][year]', $result);
}
/**
@@ -2461,17 +2461,9 @@ protected function _generateOptions($name, $options = array()) {
case 'year':
$current = intval(date('Y'));
- if (!isset($options['min'])) {
- $min = $current - 20;
- } else {
- $min = $options['min'];
- }
+ $min = !isset($options['min']) ? $current - 20 : (int)$options['min'];
+ $max = !isset($options['max']) ? $current + 20 : (int)$options['max'];
- if (!isset($options['max'])) {
- $max = $current + 20;
- } else {
- $max = $options['max'];
- }
if ($min > $max) {
list($min, $max) = array($max, $min);
}

0 comments on commit 8bb6f88

Please sign in to comment.