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 setConfiglist($configlist){ $this->configlist = $configlist; return $this; } public function getConfiglist(){ return $this->configlist; } public function setRepeattypelist($repeattypelist){ $this->repeattypelist = $repeattypelist; return $this; } public function getRepeattypelist(){ return $this->repeattypelist; } public function setRepeatendlist($repeatendlist){ $this->repeatendlist = $repeatendlist; return $this; } public function getRepeatendlist(){ return $this->repeatendlist; } public function getEventcategorylist() { return $this->eventcategorylist; } public function setEventcategorylist($eventcategorylist) { $this->eventcategorylist = $eventcategorylist; } public function setOldtitle($oldtitle){ $this->oldtitle = $oldtitle; } public function getOldtitle(){ return $this->oldtitle; } public function getParams() { return $this->params; } public function setParams($params) { $this->params = $params; } public function init() { $this->setName('EventEdit'); $this->setMethod('post'); $this->setAttrib('onsubmit', "return editEnableOnSubmit();"); $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); if(isset($this->params['category'])) { $eventcategoryfield->setValue($this->params['category']); } $eventcategoryfield->setAttrib("disabled", true); $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('title' => $this->oldtitle)), ), 'required' => true, 'label' => 'Title:', 'value' => $this->params['title'], )); $this->getElement('title')->addPrefixPath('Poolctrl_Validate', 'Poolctrl/Validate/', 'validate'); if(isset($this->params['force'])) { $this->addElement('checkbox', 'force', array( 'required' => false, 'label' => 'Force event:', 'value' => array(0,1), 'checked' => 'checked', )); } else { $this->addElement('checkbox', 'force', array( 'required' => false, 'label' => 'Force event:', 'value' => array(0,1), )); } $this->addElement('text', 'start', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 19)), array('Date', false, array('format' => 'mm/dd/yyyy h:i a')), ), 'required' => true, 'label' => 'Start:', 'value' => date ('m/d/Y h:i a', strtotime( $this->params['start'])), )); if(isset($this->params['end'])) { $this->addElement('text', 'end', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 19)), array('Date', false, array('format' => 'mm/dd/yyyy h:i a')), array('DateGreaterThan', false, array('element' => 'End', 'compare' => 'Start', 'min' => $this->getElement('start')->getValue())), array('EventOverlapping', false, array('poolID' => $this->params['pbs_poolID'], 'start' => $this->getElement('start')->getValue(), 'eventID' => $this->params['eventID'])), ), 'required' => false, 'label' => 'End:', 'value' => date ('m/d/Y h:i a', strtotime( $this->params['end'])), )); $this->getElement('end')->addPrefixPath('Poolctrl_Validate', 'Poolctrl/Validate/', 'validate'); } else if(isset($this->params['categoryLabel']) && $this->params['categoryLabel'] != "Boot" && $this->params['categoryLabel'] != "Shutdown") { $this->addElement('text', 'end', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 19)), array('Date', false, array('format' => 'mm/dd/yyyy h:i a')), array('DateGreaterThan', false, array('element' => 'End', 'compare' => 'Start', 'min' => $this->getElement('start')->getValue())), array('EventOverlapping', false, array('poolID' => $this->params['pbs_poolID'], 'start' => $this->getElement('start')->getValue())), ), 'required' => false, 'label' => 'End:', 'value' => 'mm/dd/yyyy h:min am/pm', )); $this->getElement('end')->addPrefixPath('Poolctrl_Validate', 'Poolctrl/Validate/', 'validate'); } if( $this->params['repeat'] == 1) { $this->addElement('checkbox', 'repeat', array( 'required' => false, 'label' => 'Repeat:', 'value'=>array(0,1), 'checked' => 'checked', 'readOnly' => true, )); } else { $this->addElement('checkbox', 'repeat', array( 'required' => false, 'label' => 'Repeat:', 'value'=>array(0,1), 'readOnly' => true, )); } if($this->params['repeat'] == 1) { $repeattypefield = $this->createElement('select','repeattype'); $repeattypefield ->setLabel('Repeat Type:'); if(count($this->repeattypelist)>0){ foreach($this->repeattypelist as $type => $t){ $title = $t->getTitle(); $id = $t->getID(); $repeattypefield->addMultiOption($id, $title); } } $repeattypefield->setRegisterInArrayValidator(false); $repeattypefield->setAttrib("disabled", true); if(isset($this->params['repeattype'])) { $repeattypefield->setValue($this->params['repeattype']); } $this->addElement($repeattypefield); } if($this->params['repeat'] == 1) { $repeatendfield = $this->createElement('select','repeatend'); $repeatendfield ->setLabel('Repeat End:'); if(count($this->repeatendlist)>0){ foreach($this->repeatendlist as $end => $e){ $title = $e->getTitle(); $id = $e->getID(); $repeatendfield->addMultiOption($id, $title); } } $repeatendfield->setRegisterInArrayValidator(false); $repeatendfield->setAttrib("disabled", true); if(isset($this->params['repeatend'])) { $repeatendfield->setValue($this->params['repeatend']); } $this->addElement($repeatendfield); } if(isset($this->params['repeatend']) && $this->params['repeatend'] == 2) { if(isset($this->params['repeatdate'])) { $this->addElement('text', 'repeatdate', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 16)), array('Date', false, array('format' => 'mm/dd/yyyy h:i a')), ), 'required' => false, 'label' => 'Repeat End Date:', 'value' => date('m/d/Y h:i a', strtotime($this->params['repeatdate'])), 'readOnly' => true, )); } else { $this->addElement('text', 'repeatdate', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 19)), array('Date', false, array('format' => 'mm/dd/yyyy h:i a')), ), 'required' => false, 'label' => 'Repeat End Date:', 'value' => 'mm/dd/yyyy h:min am/pm', 'readOnly' => true, )); } } if(isset($this->params['repeatend']) && $this->params['repeatend'] == 1) { 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'], 'readOnly' => true, )); } else { $this->addElement('text', 'repeatings', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 5)), ), 'required' => false, 'label' => 'Repeatings:', 'value' => '1', 'readOnly' => true, )); } } 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->setAttrib('onchange', "bootosfieldChanged('pbs_bootosID', bootosIDs);"); $bootosfield->setValue( $this->params['pbs_bootosID']); $this->addElement($bootosfield); foreach($this->configlist as $id => $bootosConfigs) { $configfield = $this->createElement('select','pbs_configID_' . $id); $configfield->setLabel('Config:'); if(count($bootosConfigs)>0){ foreach($bootosConfigs as $config => $c){ $configfield->addMultiOption($c->getID(), $c->getTitle()); } $configfield->setRegisterInArrayValidator(false); $configName = 'pbs_configID_' . $this->params['pbs_bootosID']; if(isset( $this->params[$configName])) { $configfield->setValue($this->params[$configName]); } $this->addElement($configfield); } } $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/"', )); } }