summaryrefslogblamecommitdiffstats
path: root/application/forms/EventEdit.php
blob: fcacf9af6c344b79e465a547f9162994b62319cc (plain) (tree)
1
2
3
4
5
6
7
8
9
     
 
                                                  
 




                                   
 



























                                                           
         
                                                
         
 
                                                                
         
                                                              
         
 
                                   
         
                                     
         
 
                                          
         
                                        
         
 
                              
         

                                            










                                                                                                 
                                                                         
                                                                                                         
                                                       



                                                            
                                                           
                                                     




                                                             
                                                                                                                  
                        


                                                            
                                                           
                                                                          

                                              
                                                  


                                                                                             

                                                               

                                                            



                                                                                                                                                          
                                               
                                                
                                                                                           









                                                                                                                                                          


                                                                                         


                                                                                                                        


                                                                      




                                                                                            
                           
                        
                                                                      
                                                                                                


                                                                            


                           















































                                                                             

                                                                     

                                                         

                                                                   
                                            

                                                           







                                                                     

                                                         

                           
 























                                                                        

                                                           

                                                                  
                                              
                                                     
                                                                    










                                                                        
 

                                                                

                                                           

                                                                    


                                                            










                                                                    













                                                                                        






















                                                                                          
                                                                   

                             
                                                               
                                                                          





                                                                         
         
 
<?php

class Application_Form_EventEdit extends Zend_Form
{
	private $membershiplist;
	private $bootoslist;
	private $poollist;
	private $eventcategorylist;
	private $params;

	public function setMembershiplist($membershiplist){
		$this->membershiplist = $membershiplist;
			
	}

	public function getMembershiplist(){
		return $this->membershiplist;
	}

	public function setBootoslist($bootoslist){
		$this->bootoslist = $bootoslist;
			
	}

	public function getBootoslist(){
		return $this->bootoslist;
	}

	public function setPoollist($poollist){
		$this->poollist = $poollist;
			
	}

	public function getPoollist(){
		return $this->poollist;
	}

	public function getEventcategorylist()
	{
		return $this->eventcategorylist;
	}

	public function setEventcategorylist($eventcategorylist)
	{
		$this->eventcategorylist = $eventcategorylist;
	}

	public function getParams()
	{
		return $this->params;
	}

	public function setParams($params)
	{
		$this->params = $params;
	}

	public function init()
	{
		$this->setName('EventEdit');
		$this->setMethod('post');

		$eventcategoryfield = $this->createElement('select','category');
		$eventcategoryfield ->setLabel('Category:');

		if(count($this->eventcategorylist)>0){
			foreach($this->eventcategorylist as $category => $c){
				$eventcategoryfield->addMultiOption($c->getID(), $c->getTitle());
			}
		}

		$eventcategoryfield->setRegisterInArrayValidator(false);
		$eventcategoryfield->setValue($this->params['category']);
		$eventcategoryfield->setAttrib('onchange', "editeventcategoryfieldChanged('category');");
		$this->addElement($eventcategoryfield);
			
		$this->addElement('text', 'title', array(
                           'filters' => array('StringTrim'),
                           'validators' => array(
		array('StringLength', false, array(0, 30)),
		array('TitleUnique', false, array()),
		),
                           'required' => true,
                           'label'    => 'Title:',
                           'value' => $this->params['title'],
		));
		$this->getElement('title')->addPrefixPath('Poolctrl_Validate', 'Poolctrl/Validator/', 'validate');
			
		$this->addElement('text', 'start', array(
                           'filters' => array('StringTrim'),
                           'validators' => array(
		array('StringLength', false, array(0, 16)),
		array('Date', false, array('format' => 'mm/dd/yyyy H:i')),
		),
                           'required' => true,
                           'label'    => 'Start:',
                           'value' => date ('m/d/Y H:i', strtotime( $this->params['start'])),
		));
			
		if(isset($this->params['end'])) {
			$this->addElement('text', 'end', array(
                           'filters' => array('StringTrim'),
                           'validators' => array(
			array('StringLength', false, array(0, 16)),
			array('Date', false, array('format' => 'mm/dd/yyyy H:i')),
			array('DateGreaterThan', false, array('element' => 'End', 'compare' => 'Start', 'min' => $this->getElement('start')->getValue())),
			),
                           'required' => false,
                           'label'    => 'End:',
                           'value' => date ('m/d/Y H:i', strtotime( $this->params['end'])),
			));
			$this->getElement('end')->addPrefixPath('Poolctrl_Validate', 'Poolctrl/Validator/', 'validate');
		} else {
			$this->addElement('text', 'end', array(
                           'filters' => array('StringTrim'),
                           'validators' => array(
			array('StringLength', false, array(0, 16)),
			array('Date', false, array('format' => 'mm/dd/yyyy H:i')),
			array('DateGreaterThan', false, array('element' => 'End', 'compare' => 'Start', 'min' => $this->getElement('start')->getValue())),
			),
                            'required' => false,
                            'label'    => 'End:',
							'value'    => 'mm/dd/yyyy H:min',
			));
			$this->getElement('end')->addPrefixPath('Poolctrl_Validate', 'Poolctrl/Validator/', 'validate');
		}

		if( $this->params['repeat'] == 1) {
			$this->addElement('checkbox', 'repeat', array(
                            'required' => false,
						    'onchange' => 'repeatChanged("repeat")',
                            'label' => 'Repeat:',
							'value'=>array(0,1),
							'checked' => 'checked',
			));
		} else {
			$this->addElement('checkbox', 'repeat', array(
						  	'onchange' => 'repeatChanged("repeat")',
							'required' => false,
                          	'label' => 'Repeat:',
                          	'value'=>array(0,1),
			));
		}

		if(isset($this->params['repeatType'])) {
			$this->addElement('select', 'repeatType', array(
			'multioptions' => array(
			'day' => 'Daily',
			'week' => 'Once a week',
			'week2' => 'Every couple of weeks',
			'month' => 'Every month',
			),
			'required' => false,
			'value' => $this->params['repeatType'],
			'label' => 'Repeat Type:',
			));
		} else {
			$this->addElement('select', 'repeatType', array(
			'multioptions' => array(
			'day' => 'Daily',
			'week' => 'Once a week',
			'week2' => 'Every couple of weeks',
			'month' => 'Every month',
			),
			'required' => false,
			'label' => 'Repeat Type:',
			));
		}

		if(isset($this->params['repeatOption'])) {
			$this->addElement('select', 'repeatOption', array(
			'multioptions' => array(
			'after' => 'After',
			'date' => 'Date',
			),
			'required' => false,
			'label' => 'Repeat End:',
			'value' => $this->params['repeatOption'],
			'onchange' => 'repeatOptionChanged("repeatOption");',
			));
		} else {
			$this->addElement('select', 'repeatOption', array(
			'multioptions' => array(
			'after' => 'After',
			'date' => 'Date',
			),
			'required' => false,
			'label' => 'Repeat End:',
			'onchange' => 'repeatOptionChanged("repeatOption");',
			));
		}

		if(isset($this->params['repeatEnd'])) {
			$this->addElement('text', 'repeatEnd', array(
			'filters' => array('StringTrim'),
			'validators' => array(
			array('StringLength', false, array(0, 16)),
			),
			'required' => false,
			'label'    => 'Repeat End Date:',
		    'value' =>  $this->params['repeatEnd'],
			));
		} else {
			$this->addElement('text', 'repeatEnd', array(
			'filters' => array('StringTrim'),
			'validators' => array(
			array('StringLength', false, array(0, 16)),
			),
			'required' => false,
			'label'    => 'Repeat End Date:',
		    'value' =>  'mm/dd/yyyy H:min',
			));
		}

		if(isset($this->params['repeatings'])) {
			$this->addElement('text', 'repeatings', array(
			'filters' => array('StringTrim'),
			'validators' => array(
			array('StringLength', false, array(0, 16)),
			),
			'required' => false,
			'label'    => 'Repeatings:',
		  	'value' =>  $this->params['repeatings'],
			));
		} else {
			$this->addElement('text', 'repeatings', array(
			'filters' => array('StringTrim'),
			'validators' => array(
			array('StringLength', false, array(0, 16)),
			),
			'required' => false,
			'label'    => 'Repeatings:',
		  	'value' =>  '1',
			));
		}

		if(isset($this->params['participants'])) {
			$this->addElement('text', 'participants', array(
                          'filters' => array('StringTrim'),
                          'validators' => array(
			array('StringLength', false, array(0, 4)),
			),
                          'required' => false,
                          'label' => 'Participants:',
                          'value' =>  $this->params['participants'],
			));
		} else {
			$this->addElement('text', 'participants', array(
                          'filters' => array('StringTrim'),
                          'validators' => array(
			array('StringLength', false, array(0, 4)),
			),
                          'required' => false,
                          'label' => 'Participants:',
			));
		}

		if(isset($this->params['note'])) {
			$this->addElement('text', 'note', array(
                          'filters' => array('StringTrim'),
                          'validators' => array(
			array('StringLength', false, array(0, 140)),
			),
                          'required' => false,
                          'label' => 'Note:',
                          'value' =>  $this->params['note'],
			));
		} else {
			$this->addElement('text', 'note', array(
                          'filters' => array('StringTrim'),
                          'validators' => array(
			array('StringLength', false, array(0, 140)),
			),
                          'required' => false,
                          'label' => 'Note:',
			));
		}

		$poolfield = $this->createElement('select','pbs_poolID');
		$poolfield ->setLabel('Pool:');

		if(count($this->poollist)>0){
			foreach($this->poollist as $pool => $p){
				$poolfield->addMultiOption($p->getID(), $p->getTitle());
			}
		}

		$poolfield->setRegisterInArrayValidator(false);
		$poolfield->setValue( $this->params['pbs_poolID']);
		$this->addElement($poolfield);

		$bootosfield = $this->createElement('select','pbs_bootosID');
		$bootosfield ->setLabel('BootOS:');

		if(count($this->bootoslist)>0){
			foreach($this->bootoslist as $bootos => $b){
				$bootosfield->addMultiOption($b->getID(), $b->getTitle());
			}
		}

		$bootosfield->setRegisterInArrayValidator(false);
		$bootosfield->setValue( $this->params['pbs_bootosID']);
		$this->addElement($bootosfield);

		$this->addElement('submit', 'save', array(
                          'required' => false,
                          'ignore'   => true,
                          'label'    => 'Save Event'
                          ));

                          $this->addElement('button', 'cancel', array(
                          'required' => false,
                          'ignore'   => true,
                          'label'    => 'Cancel',
                          'onclick'   => 'location.href="/event/"',
                          ));

                          echo '<script type="text/javascript">
				editeventcategoryfieldChanged("category");
				$(function() {
					$("#start").datetimepicker();
					$("#end").datetimepicker();
					$("#repeatEnd").datetimepicker();
				});
			</script>';
	}
}