2012-02-15 00:39:27 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
class Application_Form_ShowBuilder extends Zend_Form_SubForm
|
|
|
|
{
|
|
|
|
public function init()
|
|
|
|
{
|
2012-07-11 00:51:32 +02:00
|
|
|
$user = Application_Model_User::getCurrentUser();
|
2012-02-15 00:39:27 +01:00
|
|
|
|
2021-10-11 16:10:47 +02:00
|
|
|
$this->setDecorators([
|
|
|
|
['ViewScript', ['viewScript' => 'form/showbuilder.phtml']],
|
|
|
|
]);
|
2012-02-15 00:39:27 +01:00
|
|
|
|
|
|
|
// Add start date element
|
|
|
|
$startDate = new Zend_Form_Element_Text('sb_date_start');
|
|
|
|
$startDate->class = 'input_text';
|
|
|
|
$startDate->setRequired(true)
|
2021-10-11 16:10:47 +02:00
|
|
|
->setLabel(_('Date Start:'))
|
|
|
|
->setValue(date('Y-m-d'))
|
|
|
|
->setFilters(['StringTrim'])
|
|
|
|
->setValidators([
|
|
|
|
'NotEmpty',
|
2022-07-07 20:01:15 +02:00
|
|
|
['date', false, ['YYYY-MM-DD']],
|
|
|
|
])
|
2022-01-23 19:15:55 +01:00
|
|
|
->setDecorators(['ViewHelper']);
|
2012-02-15 00:39:27 +01:00
|
|
|
$startDate->setAttrib('alt', 'date');
|
|
|
|
$this->addElement($startDate);
|
|
|
|
|
|
|
|
// Add start time element
|
|
|
|
$startTime = new Zend_Form_Element_Text('sb_time_start');
|
|
|
|
$startTime->class = 'input_text';
|
|
|
|
$startTime->setRequired(true)
|
2021-10-11 16:10:47 +02:00
|
|
|
->setValue('00:00')
|
|
|
|
->setFilters(['StringTrim'])
|
|
|
|
->setValidators([
|
|
|
|
'NotEmpty',
|
|
|
|
['date', false, ['HH:mm']],
|
2022-07-07 20:01:15 +02:00
|
|
|
['regex', false, ['/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => _('Invalid character entered')]],
|
|
|
|
])
|
2022-01-23 19:15:55 +01:00
|
|
|
->setDecorators(['ViewHelper']);
|
2012-02-15 00:39:27 +01:00
|
|
|
$startTime->setAttrib('alt', 'time');
|
|
|
|
$this->addElement($startTime);
|
|
|
|
|
|
|
|
// Add end date element
|
|
|
|
$endDate = new Zend_Form_Element_Text('sb_date_end');
|
|
|
|
$endDate->class = 'input_text';
|
|
|
|
$endDate->setRequired(true)
|
2021-10-11 16:10:47 +02:00
|
|
|
->setLabel(_('Date End:'))
|
|
|
|
->setValue(date('Y-m-d'))
|
|
|
|
->setFilters(['StringTrim'])
|
|
|
|
->setValidators([
|
|
|
|
'NotEmpty',
|
2022-07-07 20:01:15 +02:00
|
|
|
['date', false, ['YYYY-MM-DD']],
|
|
|
|
])
|
2022-01-23 19:15:55 +01:00
|
|
|
->setDecorators(['ViewHelper']);
|
2012-02-15 00:39:27 +01:00
|
|
|
$endDate->setAttrib('alt', 'date');
|
|
|
|
$this->addElement($endDate);
|
|
|
|
|
|
|
|
// Add end time element
|
|
|
|
$endTime = new Zend_Form_Element_Text('sb_time_end');
|
|
|
|
$endTime->class = 'input_text';
|
|
|
|
$endTime->setRequired(true)
|
2021-10-11 16:10:47 +02:00
|
|
|
->setValue('01:00')
|
|
|
|
->setFilters(['StringTrim'])
|
|
|
|
->setValidators([
|
|
|
|
'NotEmpty',
|
|
|
|
['date', false, ['HH:mm']],
|
2022-07-07 20:01:15 +02:00
|
|
|
['regex', false, ['/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => _('Invalid character entered')]],
|
|
|
|
])
|
2022-01-23 19:15:55 +01:00
|
|
|
->setDecorators(['ViewHelper']);
|
2012-02-15 00:39:27 +01:00
|
|
|
$endTime->setAttrib('alt', 'time');
|
|
|
|
$this->addElement($endTime);
|
|
|
|
|
|
|
|
// add a select to choose a show.
|
2021-10-11 16:10:47 +02:00
|
|
|
$showSelect = new Zend_Form_Element_Select('sb_show_filter');
|
|
|
|
$showSelect->setLabel(_('Filter by Show'));
|
2012-02-15 00:39:27 +01:00
|
|
|
$showSelect->setMultiOptions($this->getShowNames());
|
|
|
|
$showSelect->setValue(null);
|
2021-10-11 16:10:47 +02:00
|
|
|
$showSelect->setDecorators(['ViewHelper']);
|
2012-02-15 00:39:27 +01:00
|
|
|
$this->addElement($showSelect);
|
|
|
|
|
|
|
|
if ($user->getType() === 'H') {
|
|
|
|
$myShows = new Zend_Form_Element_Checkbox('sb_my_shows');
|
2012-11-15 16:59:06 +01:00
|
|
|
$myShows->setLabel(_('All My Shows:'))
|
2022-01-23 19:15:55 +01:00
|
|
|
->setDecorators(['ViewHelper']);
|
2012-02-15 00:39:27 +01:00
|
|
|
$this->addElement($myShows);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-08-29 05:04:55 +02:00
|
|
|
private function getShowNames()
|
|
|
|
{
|
2015-09-30 17:38:33 +02:00
|
|
|
$user = Application_Model_User::getCurrentUser();
|
2021-10-11 16:10:47 +02:00
|
|
|
$showNames = ['0' => _('Filter by Show')];
|
2015-09-30 17:38:33 +02:00
|
|
|
if ($user->getType() === 'H') {
|
2021-10-11 16:10:47 +02:00
|
|
|
$showNames['-1'] = _('My Shows');
|
2015-09-30 17:38:33 +02:00
|
|
|
}
|
2012-02-15 00:39:27 +01:00
|
|
|
|
|
|
|
$shows = CcShowQuery::create()
|
|
|
|
->setFormatter(ModelCriteria::FORMAT_ON_DEMAND)
|
|
|
|
->orderByDbName()
|
2022-01-23 19:15:55 +01:00
|
|
|
->find();
|
2012-02-15 00:39:27 +01:00
|
|
|
|
|
|
|
foreach ($shows as $show) {
|
|
|
|
$showNames[$show->getDbId()] = $show->getDbName();
|
|
|
|
}
|
|
|
|
|
|
|
|
return $showNames;
|
|
|
|
}
|
2012-04-25 18:07:58 +02:00
|
|
|
}
|