membershiplist = $membershiplist; return $this; } public function getMembershiplist(){ return $this->membershiplist; } public function setBootoslist($bootoslist){ $this->bootoslist = $bootoslist; return $this; } public function getBootoslist(){ return $this->bootoslist; } public function setPoollist($poollist){ $this->poollist = $poollist; return $this; } public function getPoollist(){ return $this->poollist; } public function getEventcategorylist() { return $this->eventcategorylist; } public function setEventcategorylist($eventcategorylist) { $this->eventcategorylist = $eventcategorylist; return $this; } public function getStart() { return $this->start; } public function setStart($start) { $this->start = $start; return $this; } public function getEnd() { return $this->end; } public function setEnd($end) { $this->end = $end; return $this; } public function getDefaultEventCategoryID() { return $this->defaultEventCategoryID; } public function setDefaultEventCategoryID($defaultEventCategoryID) { $this->defaultEventCategoryID = $defaultEventCategoryID; return $this; } public function getPoolID() { return $this->poolID; } public function setPoolID($poolID) { $this->poolID = $poolID; return $this; } public function init() { $this->setName('EventAdd'); $this->setMethod('post'); $eventcategoryfield = $this->createElement('select','category'); $eventcategoryfield ->setLabel('Category:'); if(count($this->eventcategorylist)>0){ foreach($this->eventcategorylist as $category => $c){ $title = $c->getTitle(); $id = $c->getID(); $eventcategoryfield->addMultiOption($id, $title); } } $eventcategoryfield->setRegisterInArrayValidator(false); $eventcategoryfield->setAttrib('onchange', "addeventcategoryfieldChanged('category');"); if(isset($this->defaultEventCategoryID)) { $eventcategoryfield->setValue($this->defaultEventCategoryID); } $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:', )); $this->getElement('title')->addPrefixPath('Poolctrl_Validate', 'Poolctrl/Validator/', 'validate'); $this->addElement('checkbox', 'immediate', array( 'onchange' => 'immediateChanged("immediate")', 'required' => false, 'label' => 'Immediate Event:', 'value' => array(0,1), )); $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' => $this->start, )); $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' => $this->end, )); $this->getElement('end')->addPrefixPath('Poolctrl_Validate', 'Poolctrl/Validator/', 'validate'); $this->addElement('checkbox', 'repeat', array( 'onchange' => 'repeatChanged("repeat")', 'required' => false, 'label' => 'Repeat:', 'value'=>array(0,1), )); $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:', )); /* * This is the multiCheckbox to select special days. * To do: create a css-file... * $this->addElement('multiCheckbox', 'repeatDays', array( 'multiOptions' => array( 'mon' => 'Monday', 'tue' => 'Thuestay', 'wed' => 'Wednesday', 'thu' => 'Thursday', 'fri' => 'Friday', 'sat' => 'Saturday', 'sun' => 'Sunday', ), 'onchange' => '', 'required' => false, 'label' => 'Repeat days:', 'value'=>array(0,1), )); */ $this->addElement('select', 'repeatOption', array( 'multioptions' => array( 'after' => 'After', 'date' => 'Date', ), 'required' => false, 'label' => 'Repeat End:', 'onchange' => 'repeatOptionChanged("repeatOption");', )); $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', )); $this->addElement('text', 'repeatings', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 16)), ), 'required' => false, 'label' => 'Repeatings:', 'value' => '1', )); $this->addElement('text', 'participants', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 40)), ), 'required' => false, 'label' => 'Participants:', )); $this->addElement('text', 'note', array( 'filters' => array('StringTrim'), 'validators' => array( array('StringLength', false, array(0, 140)), ), 'required' => false, 'label' => 'Note:', )); if(!isset($this->poolID)) { $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); $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); $this->addElement($bootosfield); $this->addElement('submit', 'add', array( 'required' => false, 'ignore' => true, 'label' => 'Create Event' )); $this->addElement('button', 'cancel', array( 'required' => false, 'ignore' => true, 'label' => 'Cancel', 'onclick' => 'location.href="/event/"', )); echo ''; } }