From cf50cbdd9d40595a2cd32768888467fe5c374d99 Mon Sep 17 00:00:00 2001 From: mark_story Date: Sat, 5 Feb 2011 06:43:00 -0500 Subject: [PATCH] Fixing issue in FormHelper where CURRENT_TIMESTAMP or other invalid data could cause a notice error. Fixes #1508 --- cake/libs/view/helpers/form.php | 7 +++++-- cake/tests/cases/libs/view/helpers/form.test.php | 10 ++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/cake/libs/view/helpers/form.php b/cake/libs/view/helpers/form.php index 7026d5afb..7b6dd35a5 100644 --- a/cake/libs/view/helpers/form.php +++ b/cake/libs/view/helpers/form.php @@ -1843,8 +1843,11 @@ class FormHelper extends AppHelper { if ($time[0] == 0 && $timeFormat == '12') { $time[0] = 12; } - $hour = $time[0]; - $min = $time[1]; + $hour = $min = null; + if (isset($time[1])) { + $hour = $time[0]; + $min = $time[1]; + } } } } diff --git a/cake/tests/cases/libs/view/helpers/form.test.php b/cake/tests/cases/libs/view/helpers/form.test.php index 27815a8b0..3aea5e665 100644 --- a/cake/tests/cases/libs/view/helpers/form.test.php +++ b/cake/tests/cases/libs/view/helpers/form.test.php @@ -4494,6 +4494,16 @@ class FormHelperTest extends CakeTestCase { $this->assertPattern('/]+value="06"[^<>]+selected="selected"[^>]*>June<\/option>/', $result); } +/** + * test that bogus non-date time data doesn't cause errors. + * + * @return void + */ + function testDateTimeWithBogusData() { + $result = $this->Form->dateTime('Contact.updated', 'DMY', '12', 'CURRENT_TIMESTAMP'); + $this->assertNoPattern('/selected="selected">\d/', $result); + } + /** * testFormDateTimeMulti method *