sintonia/airtime_mvc/application/forms/AddShowRepeats.php

90 lines
2.3 KiB
PHP
Raw Normal View History

<?php
class Application_Form_AddShowRepeats extends Zend_Form_SubForm
{
public function init()
{
//Add type select
$this->addElement('select', 'add_show_repeat_type', array(
'required' => true,
'label' => 'Repeat Type:',
'class' => ' input_select',
'multiOptions' => array(
"0" => "weekly",
"1" => "bi-weekly",
"2" => "monthly"
),
));
// Add days checkboxes
$this->addElement(
'multiCheckbox',
2011-01-21 19:25:12 +01:00
'add_show_day_check',
array(
'label' => 'Select Days:',
'required' => false,
'multiOptions' => array(
"0" => "Sun",
"1" => "Mon",
"2" => "Tue",
"3" => "Wed",
"4" => "Thu",
"5" => "Fri",
"6" => "Sat",
),
));
// Add end date element
2011-01-21 19:25:12 +01:00
$this->addElement('text', 'add_show_end_date', array(
'label' => 'Date End:',
2011-01-31 02:11:18 +01:00
'class' => 'input_text',
'value' => date("Y-m-d"),
'required' => false,
'filters' => array('StringTrim'),
'validators' => array(
'NotEmpty',
array('date', false, array('YYYY-MM-DD'))
)
));
// Add no end element
2011-01-21 19:25:12 +01:00
$this->addElement('checkbox', 'add_show_no_end', array(
'label' => 'No End?',
'required' => false,
'checked' => true,
));
}
public function disable(){
$elements = $this->getElements();
foreach ($elements as $element)
{
if ($element->getType() != 'Zend_Form_Element_Hidden')
{
$element->setAttrib('disabled','disabled');
}
}
}
2011-01-31 02:11:18 +01:00
public function checkReliantFields($formData) {
if (!$formData['add_show_no_end']){
$start_timestamp = $formData['add_show_start_date'];
$end_timestamp = $formData['add_show_end_date'];
$start_epoch = strtotime($start_timestamp);
$end_epoch = strtotime($end_timestamp);
2011-01-31 02:11:18 +01:00
if($end_epoch < $start_epoch) {
$this->getElement('add_show_end_date')->setErrors(array('End date must be after start date'));
return false;
}
2011-01-31 02:11:18 +01:00
}
2011-01-31 02:11:18 +01:00
return true;
}
}