DateRange.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. class Application_Form_DateRange extends Zend_Form_SubForm
  3. {
  4. public function init()
  5. {
  6. $this->setDecorators(array(
  7. array('ViewScript', array('viewScript' => 'form/daterange.phtml'))
  8. ));
  9. // Add start date element
  10. $startDate = new Zend_Form_Element_Text('his_date_start');
  11. $startDate->class = 'input_text';
  12. $startDate->setRequired(true)
  13. ->setLabel(_('Date Start:'))
  14. ->setValue(date("Y-m-d"))
  15. ->setFilters(array('StringTrim'))
  16. ->setValidators(array(
  17. 'NotEmpty',
  18. array('date', false, array('YYYY-MM-DD'))))
  19. ->setDecorators(array('ViewHelper'));
  20. $startDate->setAttrib('alt', 'date');
  21. $this->addElement($startDate);
  22. // Add start time element
  23. $startTime = new Zend_Form_Element_Text('his_time_start');
  24. $startTime->class = 'input_text';
  25. $startTime->setRequired(true)
  26. ->setValue('00:00')
  27. ->setFilters(array('StringTrim'))
  28. ->setValidators(array(
  29. 'NotEmpty',
  30. array('date', false, array('HH:mm')),
  31. array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => _('Invalid character entered')))))
  32. ->setDecorators(array('ViewHelper'));
  33. $startTime->setAttrib('alt', 'time');
  34. $this->addElement($startTime);
  35. // Add end date element
  36. $endDate = new Zend_Form_Element_Text('his_date_end');
  37. $endDate->class = 'input_text';
  38. $endDate->setRequired(true)
  39. ->setLabel(_('Date End:'))
  40. ->setValue(date("Y-m-d"))
  41. ->setFilters(array('StringTrim'))
  42. ->setValidators(array(
  43. 'NotEmpty',
  44. array('date', false, array('YYYY-MM-DD'))))
  45. ->setDecorators(array('ViewHelper'));
  46. $endDate->setAttrib('alt', 'date');
  47. $this->addElement($endDate);
  48. // Add end time element
  49. $endTime = new Zend_Form_Element_Text('his_time_end');
  50. $endTime->class = 'input_text';
  51. $endTime->setRequired(true)
  52. ->setValue('01:00')
  53. ->setFilters(array('StringTrim'))
  54. ->setValidators(array(
  55. 'NotEmpty',
  56. array('date', false, array('HH:mm')),
  57. array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => _('Invalid character entered')))))
  58. ->setDecorators(array('ViewHelper'));
  59. $endTime->setAttrib('alt', 'time');
  60. $this->addElement($endTime);
  61. }
  62. }