Changeset 576
- Timestamp:
- 05/01/08 13:17:46 (7 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/AkActionView/helpers/date_helper.php
r378 r576 297 297 } 298 298 299 return DateHelper::_select_for('month', explode(',',$month_details),'n',(empty($date) ? Ak::getDate() : $date), $options,'_add_one'); 299 $date = !empty($options['include_blank']) ? (!empty($date) ? $date : 0) : (!empty($date) ? $date : Ak::getDate()); 300 301 return DateHelper::_select_for('month', explode(',',$month_details),'n', $date, $options,'_add_one'); 300 302 } 301 303 … … 327 329 { 328 330 $options_array = array(); 329 $datetime = empty($datetime) ? Ak::getDate() : $datetime; 330 $datetime_unit = Ak::getDate(Ak::getTimestamp($datetime),$date_format); 331 332 if (!empty($options['include_blank']) && $datetime == 0) { 333 $datetime_unit = ""; 334 $date_blank = true; 335 } else { 336 $datetime = empty($datetime) ? Ak::getDate() : $datetime; 337 $datetime_unit = Ak::getDate(Ak::getTimestamp($datetime),$date_format); 338 $date_blank = false; 339 } 331 340 332 341 foreach ($range as $k=>$time_unit){ … … 340 349 } 341 350 return DateHelper::_select_html(empty($options['field_name']) ? $select_type : $options['field_name'], 342 $options_array, @$options['prefix'], @$options['include_blank'], @$options['discard_type'], @$options['disabled'] );343 } 344 345 function _select_html($type, $options, $prefix = null, $include_blank = false, $discard_type = false, $disabled = false )351 $options_array, @$options['prefix'], @$options['include_blank'], @$options['discard_type'], @$options['disabled'], $date_blank); 352 } 353 354 function _select_html($type, $options, $prefix = null, $include_blank = false, $discard_type = false, $disabled = false, $date_blank = false) 346 355 { 347 356 return '<select name="'.(empty($prefix) ? AK_DATE_HELPER_DEFAULT_PREFIX : $prefix). 348 357 ($discard_type ? '' : $type).'"'. 349 358 ($disabled ? ' disabled="disabled"' : '').">\n". 350 ($include_blank ? "<option value=\"\"></option>\n" : ''). 359 ($include_blank && $date_blank ? "<option value=\"\" selected=\"selected\"></option>\n" : ''). 360 ($include_blank && !$date_blank ? "<option value=\"\"></option>\n" : ''). 351 361 (!empty($options) ? join("\n",$options) : '')."\n</select>\n"; 352 362 } trunk/test/unit/lib/AkActionView/helpers/date_helper.php
r217 r576 4 4 require_once(AK_LIB_DIR.DS.'AkActionView'.DS.'helpers'.DS.'date_helper.php'); 5 5 6 class DateHelperTests extends HelpersUnitTester 7 { 6 class DateHelperTests extends HelpersUnitTester 7 { 8 8 function setUp() 9 9 { … … 117 117 $this->assertEqual(DateHelper::locale_date($this->date), '1978-06-16'); 118 118 } 119 120 function test_should_select_blank() 121 { 122 $this->blank_date = ""; 123 $this->assertEqual($this->date_helper->date_select('person','blank_date',array('include_blank'=>true, 'start_year'=>1973, 'end_year'=>1983)), file_get_contents(AK_TEST_HELPERS_DIR.DS.'date_helper_'.__FUNCTION__.'.txt')); 124 } 119 125 } 120 126
