Пример #1
0
 public function addTripLines($tripCount = 1, $startDate, $buses = array())
 {
     // create subform
     $tripLinePanel = new Zend_Form_SubForm();
     $tripLinePanel->setDecorators($this->_displayGroupDecorators)->addAttribs(array('class' => 'fieldsetForm span-8'));
     for ($i = 1; $i <= $tripCount; ++$i) {
         // create bus element
         $bus = $this->_createBusElement($buses);
         // create departure time element
         $departureTime = $this->_createElement('text', 'departureTime', 'Ngày giờ đi', 'Làm ơn nhập ngày giờ đi', true);
         $departureTime->setValue($startDate . ' 00:00:00');
         $departureTime->addValidator(new TBB_Validate_DepartureTime($startDate));
         // create arrival time element
         $arrivalTime = $this->_createElement('text', 'arrivalTime', 'Ngày giờ đến', 'Làm ơn nhập ngày giờ đến', true);
         $arrivalTime->setValue($startDate . ' 00:00:00');
         $arrivalTime->addValidator(new TBB_Validate_ArrivalTime());
         $fare = $this->_createElement('text', 'fare', 'Giá vé', 'Làm ơn nhập giá vé', false, true);
         // create trip line
         $tripLine = new Zend_Form_SubForm();
         $tripLine->setDecorators($this->_displayGroupDecorators)->addAttribs(array('class' => 'span-7'))->setLegend('Chuyến #' . $i);
         // add elements to the tripline
         $tripLine->addElements(array($bus, $departureTime, $arrivalTime, $fare));
         $tripLinePanel->addSubForm($tripLine, $i);
     }
     // add submit button
     $submit = $this->_createSubmitButton();
     $tripLinePanel->addElement($submit);
     $this->addSubForm($tripLinePanel, 'tripLines');
 }
 public function init()
 {
     parent::init();
     /*
      * Translations
      */
     $subForm = new Zend_Form_SubForm('Translation');
     $langs = Model_Hm_Lang::listAll();
     foreach ($langs as $lang) {
         $subSubForm = new Zend_Form_SubForm($lang->code);
         $element = new Zend_Form_Element_Text('title');
         $element->setLabel('Titel (eigen)')->setDescription('Deze titel is voor gebruik in eigen administratie.')->setRequired(true);
         $subSubForm->addElement($element);
         $element = new Zend_Form_Element_Text('display_title');
         $element->setLabel('Titel (gebruiker)')->setDescription('Deze titel krijgen de gebruikesr van het systeem te zien.')->setRequired(true);
         $subSubForm->addElement($element);
         $element = new Zend_Form_Element_Textarea('description');
         $element->setLabel('Omschrijving')->setRequired(true)->setValidators(array(array('stringLength', false, array('min' => 40))))->setAttrib('class', 'autoexpand')->setAttrib('rows', 2);
         $subSubForm->addElement($element);
         $subSubForm->addDisplayGroup(array('title', 'display_title', 'description'), $lang->code, array('legend' => $lang->name, 'class' => 'textarea'));
         $subForm->addSubForm($subSubForm, $lang->code);
         $this->bhvkSubDecorators($subSubForm);
     }
     $this->addSubForm($subForm, 'Translation');
     $this->bhvkSubDecorators($subForm);
     /*
      * Submit
      */
     $element = new Zend_Form_Element_Submit('submit_chargeoptional');
     $element->setLabel('Verwerken')->setAttrib('class', 'submit');
     $this->addElement($element);
     $this->addDisplayGroup(array('submit_chargeoptional'), 'submit', array('class' => 'submit'));
     $this->bhvkDecorators();
     $this->bhvkDecorateSubmitElement($this->getElement('submit_chargeoptional'));
 }
Пример #3
0
 public function init()
 {
     parent::init();
     $this->setAttrib('enctype', 'multipart/form-data');
     $element = new Zend_Form_Element_File('filename');
     $element->setLabel('Foto')->setDescription('Maximale grootte van de foto is 1mb')->setRequired(true)->setValidators(array(array('Count', false, 1), array('Size', false, 1024000), array('Extension', false, 'jpg,png,gif')))->setDestination(APPLICATION_PATH . '/../public/images/uploads/holidayhome/photos');
     $this->addElement($element);
     $this->addDisplayGroup(array('filename'), 'photogroup', array('legend' => 'Foto', 'class' => 'file'));
     $subForm = new Zend_Form_SubForm('Translation');
     foreach (Model_Hm_Lang::listAll() as $lang) {
         $subSubForm = new Zend_Form_SubForm($lang->code);
         $element = new Zend_Form_Element_Text('title');
         $element->setLabel('Titel')->setRequired(true)->setValidators(array(array('stringLength', null, array('min' => 4, 'max' => 64))));
         $subSubForm->addElement($element);
         $element = new Zend_Form_Element_Textarea('description');
         $element->setLabel('Omschrijving')->setAttrib('rows', 2)->setAttrib('class', 'autoexpand')->setRequired(true)->setValidators(array(array('stringLength', null, array('min' => 40))));
         $subSubForm->addElement($element);
         $subSubForm->addDisplayGroup(array('title', 'description'), $lang->code, array('class' => 'textarea', 'legend' => $lang->name));
         $this->bhvkSubDecorators($subSubForm);
         $subForm->addSubForm($subSubForm, $lang->code);
     }
     $this->bhvkSubDecorators($subForm);
     $this->addSubForm($subForm, 'Translation');
     $element = new Zend_Form_Element_Submit('photo_submit');
     $element->setLabel('Verwerken')->setAttrib('class', 'submit');
     $this->addElement($element);
     $this->addDisplayGroup(array('photo_submit'), 'submit', array('class' => 'submit'));
     $this->bhvkDecorators();
     $this->bhvkDecorateSubmit('photo_submit');
     $this->bhvkDecorateFile($this->getElement('filename'));
 }
 public function init()
 {
     parent::init();
     $subForm = new Zend_Form_SubForm('Translation');
     $langs = Model_Hm_Lang::listAll();
     foreach ($langs as $lang) {
         $subSubForm = new Zend_Form_SubForm($lang->code);
         $element = new Zend_Form_Element_Text('name');
         $element->setLabel('Naam')->setAttrib('maxlength', 64)->setValidators(array(array('stringLength', false, array('min' => 4, 'max' => 64))))->setRequired(true);
         $subSubForm->addElement($element);
         $element = new Zend_Form_Element_Textarea('description');
         $element->setLabel('Omschrijving')->setRequired(true)->setValidators(array(array('stringLength', false, array('min' => 40))))->setAttrib('class', 'autoexpand')->setAttrib('rows', 2);
         $subSubForm->addElement($element);
         $subSubForm->addDisplayGroup(array('name', 'description'), $lang->code, array('legend' => $lang->name, 'class' => 'textarea'));
         $subForm->addSubForm($subSubForm, $lang->code);
         $this->bhvkSubDecorators($subSubForm);
     }
     $this->addSubForm($subForm, 'Translation');
     $this->bhvkSubDecorators($subForm);
     $element = new Zend_Form_Element_Submit('submit_category');
     $element->setLabel('Verwerken')->setAttrib('class', 'submit');
     $this->addElement($element)->addDisplayGroup(array('submit_category'), 'submit', array('class' => 'submit'));
     $this->bhvkDecorators();
     $this->bhvkDecorateSubmit('submit_category');
 }
 protected function getForm()
 {
     $translationKey = $this->_request->getParam('key');
     if (empty($translationKey)) {
         throw new Application_Exception('Parameters missing');
     }
     $form = new Zend_Form_SubForm();
     $form->addSubForm(new Setup_Form_LanguageKey($translationKey), $translationKey);
     return $form;
 }
Пример #6
0
 public function init()
 {
     $this->setName('addApplicant');
     $id = new Zend_Form_Element_Hidden('id');
     $id->addFilter('Int');
     $product = new Zend_Form_Element_Text('product');
     $product->setLabel('* product:')->setRequired(true)->addFilter('StripTags')->addFilter('stringTrim')->addValidators(array(array('regex', false, array('pattern' => "/^[а,б,в,г,ґ,д,е,є,ж,з,и,ы,і,ї,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ь,ю,я,А,Б,В,С,Г,Д,Е,Є,Ж,З,И,Ы,І,Ї,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ь,Ю,Я,A,a,B,b,C,c,D,d,E,e,F,f,G,g,H,h,I,i,J,j,K,k,L,l,M,m,N,n,O,o,P,p,Q,q,R,r,S,s,T,t,U,u,V,v,W,w,X,x,Y,y,Z,z,1,2,3,4,5,6,7,8,9,0'.]{2,}\$/", 'messages' => 'В полі присутні заборонені символи!!'))));
     $category = new Zend_Form_Element_Text('category');
     $category->setLabel("* category:")->setRequired(true)->addFilter('StripTags')->addFilter('stringTrim')->addValidators(array(array('regex', false, array('pattern' => "/^[а,б,в,г,ґ,д,е,є,ж,з,и,ы,і,ї,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ь,ю,я,А,Б,В,С,Г,Д,Е,Є,Ж,З,И,Ы,І,Ї,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ь,Ю,Я,A,a,B,b,C,c,D,d,E,e,F,f,G,g,H,h,I,i,J,j,K,k,L,l,M,m,N,n,O,o,P,p,Q,q,R,r,S,s,T,t,U,u,V,v,W,w,X,x,Y,y,Z,z,1,2,3,4,5,6,7,8,9,0'.]{2,}\$/", 'messages' => 'В полі присутні заборонені символи!!'))));
     $group = new Zend_Form_Element_Text('group');
     $group->setLabel("* group:")->setRequired(true)->addFilter('StripTags')->addFilter('stringTrim')->addValidators(array(array('regex', false, array('pattern' => "/^[а,б,в,г,ґ,д,е,є,ж,з,и,ы,і,ї,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ь,ю,я,А,Б,В,С,Г,Д,Е,Є,Ж,З,И,Ы,І,Ї,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ь,Ю,Я,A,a,B,b,C,c,D,d,E,e,F,f,G,g,H,h,I,i,J,j,K,k,L,l,M,m,N,n,O,o,P,p,Q,q,R,r,S,s,T,t,U,u,V,v,W,w,X,x,Y,y,Z,z,1,2,3,4,5,6,7,8,9,0'.]{2,}\$/", 'messages' => 'В полі присутні заборонені символи!!'))));
     $this->addElements(array($id, $product, $category, $group));
     //-------------------- add attr
     $institutions = new Zend_Form_SubForm();
     $institutions->setName('attr');
     $session = new Zend_Session_Namespace('form');
     foreach ($session->attr as $inst) {
         $rowForm = new Zend_Form_SubForm();
         $rowForm->setName($inst);
         if ($inst === '__template1__') {
             $rowForm->setAttrib('style', 'display: none;');
         }
         $instName = new Zend_Form_Element_Text('instName');
         $instName->setLabel('attribute')->addFilter('StripTags')->addFilter('stringTrim')->setAttrib('class', 'institution')->setAttrib('onfocus', 'institutionAutocomplete(this)');
         if ($inst !== '__template1__') {
             $instName->setRequired(true);
         }
         $inst_remove = new Zend_Form_Element_Button('remove');
         $inst_remove->setLabel('remove')->setAttrib('class', 'remove')->setAttrib('onclick', 'removeInst(this)');
         $elements = array($instName, $inst_remove);
         foreach ($elements as $element) {
             if ($inst !== '__template1__' && $element->getName() !== 'remove') {
                 $element->setRequired(true);
             }
         }
         $rowForm->addElements($elements);
         $rowForm->setElementDecorators($this->getElementDecorators());
         $rowForm->getElement('remove')->removeDecorator('Label');
         $rowForm->setDecorators($this->getSubFormDecorators());
         $institutions->addSubForm($rowForm, $inst);
     }
     $institutions->setDecorators($this->getSubFormDecorators());
     $inst_add = new Zend_Form_Element_Button('addInst');
     $inst_add->setLabel('add attribute')->setAttrib('class', 'addInst');
     $institutions->addElement($inst_add);
     $institutions->setElementDecorators($this->getElementDecorators());
     $institutions->getElement('addInst')->removeDecorator('Label');
     $this->addSubForm($institutions, 'institutions');
     $this->postSetup();
 }
Пример #7
0
 public function init()
 {
     parent::init();
     /*
      * Options 
      */
     $element = new Zend_Form_Element_Checkbox('per_person');
     $element->setLabel('Per persoon')->setDescription('Selecteer deze optie wanneer u deze kosten 
             	per nacht per persoon wilt rekenen. Laat deze optie leeg 
             	wanneer u de kosten alleen per nacht wilt rekenen.');
     $this->addElement($element);
     $element = new Zend_Form_Element_Checkbox('visible');
     $element->setLabel('Zichtbaar')->setAttrib('checked', 'checked')->setDescription('Selecteer deze optie wanneer u wilt dat de 
             	kosten onzichtbaar worden berekend.');
     $this->addElement($element);
     $this->addDisplayGroup(array('per_person', 'visible'), 'info', array('legend' => 'Opties', 'class' => 'checkbox'));
     /*
      * Text
      */
     $element = new Zend_Form_Element_Text('exp');
     $element->setLabel('Expressies')->setDescription('Waarschuwing! Het is mogelijk om hier speciale 
             	expressies in te vullen. Indien u niet weet wat dit is, laat 
             	het veld leeg. U kunt de applicatie en betaal processen 
             	ernstige schade toebrengen.');
     $this->addElement($element);
     $this->addDisplayGroup(array('exp'), 'expas', array('legend' => 'Expressies'));
     /*
      * Translations
      */
     $subForm = new Zend_Form_SubForm('Translation');
     $langs = Model_Hm_Lang::listAll();
     foreach ($langs as $lang) {
         $subSubForm = new Zend_Form_SubForm($lang->code);
         $element = new Zend_Form_Element_Text('title');
         $element->setLabel('Titel (eigen)')->setDescription('Deze titel is voor gebruik in eigen administratie.')->setRequired(true);
         $subSubForm->addElement($element);
         $element = new Zend_Form_Element_Text('display_title');
         $element->setLabel('Titel (gebruiker)')->setDescription('Deze titel krijgen de gebruikesr van het systeem te zien.')->setRequired(true);
         $subSubForm->addElement($element);
         $element = new Zend_Form_Element_Textarea('description');
         $element->setLabel('Omschrijving')->setRequired(true)->setValidators(array(array('stringLength', false, array('min' => 40))))->setAttrib('class', 'autoexpand')->setAttrib('rows', 2);
         $subSubForm->addElement($element);
         $subSubForm->addDisplayGroup(array('title', 'display_title', 'description'), $lang->code, array('legend' => $lang->name, 'class' => 'textarea'));
         $subForm->addSubForm($subSubForm, $lang->code);
         $this->bhvkSubDecorators($subSubForm);
     }
     $this->addSubForm($subForm, 'Translation');
     $this->bhvkSubDecorators($subForm);
 }
Пример #8
0
 public function init()
 {
     $translator = $this->getTranslator();
     foreach (array('de', 'en') as $lang) {
         $langForm = new Zend_Form_SubForm();
         $langForm->setLegend($translator->translate("setup_language_{$lang}"));
         $keyForm = new Zend_Form_SubForm();
         $keyForm->addElement('text', 'home_index_index_pagetitle', array('label' => $translator->translate('setup_home_index_index_pagetitle'), 'attribs' => array('size' => 90)));
         $keyForm->addElement('text', 'home_index_index_title', array('label' => $translator->translate('setup_home_index_index_title'), 'attribs' => array('size' => 90)));
         $keyForm->addElement('textarea', 'home_index_index_welcome', array('label' => $translator->translate('setup_home_index_index_welcome'), 'attribs' => array('size' => 90)));
         $keyForm->addElement('textarea', 'home_index_index_instructions', array('label' => $translator->translate('setup_home_index_index_instructions'), 'attribs' => array('size' => 90)));
         $langForm->addSubForm($keyForm, 'key');
         $this->addSubForm($langForm, $lang);
     }
 }
 protected function addItemXpathsToExtend($itemXpathsToExtend)
 {
     if (count($itemXpathsToExtend) == 0) {
         $itemXpathsToExtend = array(new Kaltura_Client_Type_String());
     }
     $mainSubForm = new Zend_Form_SubForm();
     $mainSubForm->setLegend('Item XPaths To Extend');
     $mainSubForm->setDecorators(array('FormElements', array('ViewScript', array('viewScript' => 'distribution-item-xpath-to-extend.phtml', 'placement' => 'APPEND')), 'Fieldset'));
     $i = 1;
     foreach ($itemXpathsToExtend as $stringObject) {
         $subForm = new Zend_Form_SubForm(array('disableLoadDefaultDecorators' => true));
         $subForm->setDecorators(array('FormElements'));
         $subForm->addElement('text', 'itemXpathsToExtend', array('decorators' => array('ViewHelper', array('HtmlTag', array('tag' => 'div'))), 'isArray' => true, 'value' => $stringObject->value));
         $mainSubForm->addSubForm($subForm, 'itemXpathsToExtend_subform_' . $i++);
     }
     $this->addSubForm($mainSubForm, 'itemXpathsToExtend_group');
 }
Пример #10
0
 public function init()
 {
     parent::init();
     /*
      * Code
      */
     $element = new Zend_Form_Element_Text('code');
     $element->setLabel('Landcode')->setRequired(true);
     $this->addElement($element);
     /*
      * Areacode
      */
     $element = new Zend_Form_Element_Text('area_code');
     $element->setLabel('Netnummer')->setRequired(true);
     $this->addElement($element);
     $this->addDisplayGroup(array('code', 'area_code'), 'Algemeen', array('legend' => 'Gegevens'));
     /*
      * Translations
      */
     $subForm = new Zend_Form_SubForm('Translation');
     $langs = Model_Hm_Lang::listAll();
     foreach ($langs as $lang) {
         $subSubForm = new Zend_Form_SubForm($lang->code);
         /*
          * Name field
          */
         $element = new Zend_Form_Element_Text('name');
         $element->setLabel('Naam')->setAttrib('maxlength', 64)->setValidators(array(array('stringLength', false, array('min' => 4, 'max' => 64))))->setRequired(true);
         $subSubForm->addElement($element);
         $subSubForm->addDisplayGroup(array('name'), $lang->code, array('legend' => $lang->name, 'class' => 'textarea'));
         $subForm->addSubForm($subSubForm, $lang->code);
         $this->bhvkSubDecorators($subSubForm);
     }
     $this->addSubForm($subForm, 'Translation');
     $this->bhvkSubDecorators($subForm);
     /*
      * Submit
      */
     $element = new Zend_Form_Element_Submit('submit_country');
     $element->setLabel("Verwerken")->setAttrib('class', 'submit');
     $this->addElement($element);
     $this->addDisplayGroup(array('submit_country'), 'submit', array('class' => 'submit'));
     $this->bhvkDecorators();
     $this->bhvkDecorateSubmit('submit_country');
 }
Пример #11
0
 public function init()
 {
     parent::init();
     $element = new Zend_Form_Element_Select('hm_geo_region_id');
     $element->setLabel('Regio')->setRequired(true)->addMultiOption('', '...');
     $regions = Model_Hm_Geo_Region::findAllForAdmin()->execute();
     foreach ($regions as $region) {
         $element->addMultiOption($region->id, $region->Country->translationHandler()->name . ' - ' . $region->name);
     }
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('name');
     $element->setLabel('Naam')->setRequired(true)->setAttrib('maxlength', 128)->setValidators(array(array('stringLength', false, array('min' => 4, 'max' => 128))));
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('coordinate');
     $element->setLabel('Coordinaat')->setRequired(true)->setAttrib('maxlength', 32)->setValidators(array(array('stringLength', false, array('min' => 4, 'max' => 32))));
     $this->addElement($element);
     $this->addDisplayGroup(array('hm_geo_region_id', 'name', 'coordinate'), 'info', array('legend' => 'Algemeen'));
     /*
      * Translations
      */
     $subForm = new Zend_Form_SubForm('Translation');
     $langs = Model_Hm_Lang::listAll();
     foreach ($langs as $lang) {
         $subSubForm = new Zend_Form_SubForm($lang->code);
         /*
          * Name field
          */
         $element = new Zend_Form_Element_Textarea('description');
         $element->setLabel('Omschrijving')->setAttrib('class', 'autoexpand')->setAttrib('rows', 2)->setValidators(array(array('stringLength', false, array('min' => 40))))->setRequired(true);
         $subSubForm->addElement($element);
         $subSubForm->addDisplayGroup(array('description'), $lang->code, array('legend' => $lang->name, 'class' => 'textarea'));
         $subForm->addSubForm($subSubForm, $lang->code);
         $this->bhvkSubDecorators($subSubForm);
     }
     $this->addSubForm($subForm, 'Translation');
     $this->bhvkSubDecorators($subForm);
     $element = new Zend_Form_Element_Submit('submit_city');
     $element->setLabel('Verwerken')->setAttrib('class', 'submit');
     $this->addElement($element);
     $this->addDisplayGroup(array('submit_city'), 'submit', array('class' => 'submit'));
     $this->bhvkDecorators();
     $this->bhvkDecorateSubmit('submit_city');
 }
 public function init()
 {
     parent::init();
     $subForm = new Zend_Form_SubForm('Translation');
     $langs = Model_Hm_Lang::listAll();
     foreach ($langs as $lang) {
         $element = new Zend_Form_Element_Textarea('content');
         $element->setLabel('Content')->setRequired(true)->setAttrib('class', 'autoexpand')->setAttrib('rows', 2);
         $subSubForm = new Zend_Form_SubForm($lang->code);
         $subSubForm->addElement($element)->addDisplayGroup(array('content'), $lang->code, array('legend' => $lang->name, 'class' => 'textarea'));
         $subForm->addSubForm($subSubForm, $lang->code);
         $this->bhvkSubDecorators($subSubForm);
     }
     $this->addSubForm($subForm, 'Translation');
     $this->bhvkSubDecorators($subForm);
     $element = new Zend_Form_Element_Submit('infomail_submit');
     $element->setLabel('Verwerken')->setAttrib('class', 'submit');
     $this->addElement($element);
     $this->addDisplayGroup(array('infomail_submit'), 'submit', array('class' => 'submit'));
     $this->bhvkDecorators();
     $this->bhvkDecorateSubmit('infomail_submit');
 }
Пример #13
0
 public function init()
 {
     parent::init();
     $subForm = new Zend_Form_SubForm('Translation');
     foreach (Model_Hm_Lang::listAll() as $lang) {
         $subSubForm = new Zend_Form_SubForm($lang->code);
         $element = new Zend_Form_Element_Textarea('content');
         $element->setLabel('Commentaar')->setAttrib('rows', 2)->setAttrib('class', 'autoexpand')->setRequired(true)->setValidators(array(array('stringLength', null, array('min' => 40))));
         $subSubForm->addElement($element);
         $subSubForm->addDisplayGroup(array('content'), $lang->code, array('class' => 'textarea', 'legend' => $lang->name));
         $this->bhvkSubDecorators($subSubForm);
         $subForm->addSubForm($subSubForm, $lang->code);
     }
     $this->bhvkSubDecorators($subForm);
     $this->addSubForm($subForm, 'Translation');
     $element = new Zend_Form_Element_Submit('submit_comment');
     $element->setLabel('Verwerken')->setAttrib('class', 'submit');
     $this->addElement($element);
     $this->addDisplayGroup(array('submit_comment'), 'submit', array('class' => 'submit'));
     $this->bhvkDecorators();
     $this->bhvkDecorateSubmit('submit_comment');
 }
 public function init()
 {
     parent::init();
     $element = new Zend_Form_Element_Text('date');
     $element->setLabel('Datum')->setDescription('De datum wanneer deze uitgave in rekening 
         	gebracht dient te worden. Voorbeeld: 24-08-1985')->setValidators(array(array('date', false, array('format' => 'dd-MM-YYYY')), array('stringLength', false, array('max' => 10))))->setAttribs(array('class' => 'datepicker', 'maxLength' => 10))->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('price');
     $element->setLabel('Prijs')->setRequired(true)->setValidators(array(array('float')));
     $this->addElement($element);
     $this->addDisplayGroup(array('date', 'price'), 'algemeen', array('legend' => 'Algemeen'));
     /*
      * Translations
      */
     $subForm = new Zend_Form_SubForm('Translation');
     $langs = Model_Hm_Lang::listAll();
     foreach ($langs as $lang) {
         $subSubForm = new Zend_Form_SubForm($lang->code);
         $element = new Zend_Form_Element_Textarea('description');
         $element->setLabel('Omschrijving')->setRequired(true)->setValidators(array(array('stringLength', false, array('min' => 40))))->setFilters(array('stripTags', 'htmlEntities'))->setAttrib('class', 'autoexpand')->setAttrib('rows', 2);
         $subSubForm->addElement($element);
         $subSubForm->addDisplayGroup(array('description'), $lang->code, array('legend' => $lang->name, 'class' => 'textarea'));
         $subForm->addSubForm($subSubForm, $lang->code);
         $this->bhvkSubDecorators($subSubForm);
     }
     $this->addSubForm($subForm, 'Translation');
     $this->bhvkSubDecorators($subForm);
     /*
      * 
      */
     $element = new Zend_Form_Element_Submit('submit_invoicecharge');
     $element->setLabel('Verwerken')->setAttrib('class', 'submit');
     $this->addElement($element);
     $this->addDisplayGroup(array('submit_invoicecharge'), 'submit', array('class' => 'submit'));
     $this->bhvkDecorators();
     $this->bhvkDecorateSubmit('submit_invoicecharge');
 }
 protected function addItemXpathsToExtend($itemXpathsToExtend)
 {
     if (count($itemXpathsToExtend) == 0) {
         $itemXpathsToExtend = array(new Kaltura_Client_Type_ExtendingItemMrssParameter());
     }
     $mainSubForm = new Zend_Form_SubForm();
     $mainSubForm->setLegend('Item XPaths To Extend');
     $mainSubForm->setDecorators(array('FormElements', array('ViewScript', array('viewScript' => 'distribution-item-xpath-to-extend.phtml', 'placement' => 'APPEND')), 'Fieldset'));
     $i = 1;
     $extendCategory = false;
     $extendParentCategory = false;
     foreach ($itemXpathsToExtend as $itemXPath) {
         /* @var $itemXPath Kaltura_Client_Type_ExtendingItemMrssParameter */
         //if it a category identifier
         if ($itemXPath->identifier instanceof Kaltura_Client_Type_CategoryIdentifier) {
             /* @var $identifier Kaltura_Client_Type_CategoryIdentifier */
             $identifier = $itemXPath->identifier;
             //if the parameters are set exactly as the admin console sets.
             if ($itemXPath->xpath == '//category' && $itemXPath->extensionMode == Kaltura_Client_Enum_MrssExtensionMode::REPLACE && $identifier->identifier == Kaltura_Client_Enum_CategoryIdentifierField::FULL_NAME) {
                 foreach (explode(',', $identifier->extendedFeatures) as $extendedFeature) {
                     if ($extendedFeature == Kaltura_Client_Enum_ObjectFeatureType::METADATA) {
                         $extendCategory = true;
                     } elseif ($extendedFeature == Kaltura_Client_Enum_ObjectFeatureType::ANCESTOR_RECURSIVE) {
                         $extendParentCategory = true;
                     }
                 }
             }
             continue;
         }
         $subForm = new Zend_Form_SubForm(array('disableLoadDefaultDecorators' => true));
         $subForm->setDecorators(array('FormElements'));
         $subForm->addElement('text', 'itemXpathsToExtend', array('decorators' => array('ViewHelper', array('HtmlTag', array('tag' => 'div'))), 'isArray' => true, 'value' => $itemXPath->xpath));
         $mainSubForm->addSubForm($subForm, 'itemXpathsToExtend_subform_' . $i++);
     }
     //set the extend category metadata checkbox
     $subForm = new Zend_Form_SubForm(array('disableLoadDefaultDecorators' => true));
     $subForm->setDecorators(array('FormElements'));
     $subForm->addElement('checkbox', 'includeCategoryInMrss', array('label' => 'Include category-level custom metadata in MRSS', 'isArray' => true, 'value' => $extendCategory));
     $subForm->getElement('includeCategoryInMrss')->getDecorator('Label')->setOption('placement', 'APPEND');
     $subForm->getElement('includeCategoryInMrss')->setChecked($extendCategory);
     $mainSubForm->addSubForm($subForm, 'itemXpathsToExtend_subform_' . $i++, 99);
     //set the extend category parent metadata checkbox
     $subForm = new Zend_Form_SubForm(array('disableLoadDefaultDecorators' => true));
     $subForm->setDecorators(array('FormElements'));
     $subForm->addElement('checkbox', 'includeCategoryParentInMrss', array('label' => 'Include parent categories', 'isArray' => true, 'value' => $extendParentCategory));
     $subForm->getElement('includeCategoryParentInMrss')->getDecorator('Label')->setOption('placement', 'APPEND');
     $subForm->getElement('includeCategoryParentInMrss')->setChecked($extendParentCategory);
     $mainSubForm->addSubForm($subForm, 'itemXpathsToExtend_subform_' . $i++, 100);
     $this->addSubForm($mainSubForm, 'itemXpathsToExtend_group');
 }
Пример #16
0
    public function testCanValidatePartialNestedFormsWithElementsBelongingToArrays()
    {
        $form = new Zend_Form();
        $form->setElementsBelongTo('foobar');

        $form->addElement('text', 'firstName')
             ->getElement('firstName')
             ->setRequired(false);

        $form->addElement('text', 'lastName')
             ->getElement('lastName')
             ->setRequired(true);

        $subForm = new Zend_Form_SubForm();
        $subForm->setElementsBelongTo('foobar[baz]');
        $subForm->addElement('text', 'email')
                ->getElement('email')
                ->setRequired(true)
                ->addValidator('NotEmpty');

        $subSubForm = new Zend_Form_SubForm();
        $subSubForm->setElementsBelongTo('foobar[baz][bat]');
        $subSubForm->addElement('checkbox', 'home')
                   ->getElement('home')
                   ->setRequired(true)
                   ->addValidator('NotEmpty');

        $subForm->addSubForm($subSubForm, 'subSub');

        $form->addSubForm($subForm, 'sub')
             ->addElement('submit', 'save', array('value' => 'submit'));


        $data = array('foobar' => array(
            'lastName'  => 'Cow',
        ));
        $this->assertTrue($form->isValidPartial($data));
        $this->assertEquals('Cow', $form->lastName->getValue());
        $firstName = $form->firstName->getValue();
        $email     = $form->sub->email->getValue();
        $home      = $form->sub->subSub->home->getValue();
        $this->assertTrue(empty($firstName));
        $this->assertTrue(empty($email));
        $this->assertTrue(empty($home));

        $form->sub->subSub->home->addValidator('StringLength', false, array(4, 6));
        $data['foobar']['baz'] = array('bat' => array('home' => 'ab'));

        $this->assertFalse($form->isValidPartial($data), var_export($form->sub->subSub->home, 1));
        $this->assertEquals('1', $form->sub->subSub->home->getValue());
        $messages = $form->getMessages();
        $this->assertFalse(empty($messages));
        $this->assertTrue(isset($messages['foobar']['baz']['bat']['home']), var_export($messages, 1));
        $this->assertTrue(isset($messages['foobar']['baz']['bat']['home']['stringLengthTooShort']));
    }
Пример #17
0
 public function testCanGetMessagesOfNestedFormsWithMultiLevelElementsBelongingToArrays()
 {
     $this->_checkZf2794();
     $form = new Zend_Form();
     $form->setElementsBelongTo('foo[bar]');
     $form->addElement('text', 'firstName')->getElement('firstName')->setRequired(false);
     $form->addElement('text', 'lastName')->getElement('lastName')->setRequired(true);
     $subForm = new Zend_Form_SubForm();
     $subForm->setElementsBelongTo('baz');
     $subForm->addElement('text', 'email')->getElement('email')->setRequired(true)->addValidator('NotEmpty');
     $subSubForm = new Zend_Form_SubForm();
     $subSubForm->setElementsBelongTo('bat[quux]');
     $subSubForm->addElement('checkbox', 'home')->getElement('home')->setRequired(true)->addValidator('InArray', false, array(array('1')));
     $subForm->addSubForm($subSubForm, 'subSub');
     $form->addSubForm($subForm, 'sub')->addElement('submit', 'save', array('value' => 'submit'));
     $data = array('foo' => array('bar' => array('lastName' => 'Cow')));
     $form->sub->subSub->home->addValidator('StringLength', false, array(4, 6));
     $data['foo']['bar']['baz'] = array('bat' => array('quux' => array('home' => 'ab')));
     $form->isValidPartial($data);
     $messages = $form->getMessages();
     $this->assertFalse(empty($messages));
     $this->assertTrue(isset($messages['foo']['bar']['baz']['bat']['quux']['home']), var_export($messages, 1));
     $this->assertTrue(isset($messages['foo']['bar']['baz']['bat']['quux']['home']['notInArray']), var_export($messages, 1));
 }
 public function init()
 {
     /*
      * 
      * Settings
      * 
      */
     $this->setName('holidayhome');
     $this->setMethod('post');
     /*
      * 
      * Elements
      * 
      */
     $element = new Zend_Form_Element_Select('hm_geo_city_id');
     $element->setLabel('Plaats')->addMultiOption('', '...')->setRequired(true);
     $geo = Doctrine_Query::create()->from('Model_Hm_Geo_City c')->leftJoin('c.Region r, r.Country y, y.Translation tr')->where('tr.lang = ?', Model_Lang::getCurrent())->orderBy('tr.name, r.name, c.name')->execute();
     foreach ($geo as $city) {
         $element->addMultiOption($city->id, $city->Region->Country->translationHandler()->name . " - " . $city->Region->name . " - " . $city->name);
     }
     $this->addElement($element);
     $element = new Zend_Form_Element_Select('hm_owner_id');
     $element->setLabel('Eigenaar')->addMultiOption('', '...')->setRequired(true);
     $owners = Doctrine_Query::create()->from('Model_Hm_Owner o')->leftJoin('o.User u')->orderBy('u.surname')->select('o.id')->execute();
     foreach ($owners as $owner) {
         $label = $owner->User->surname . ', ' . $owner->User->initials . ' ' . $owner->User->insertion . ' - (' . $owner->debtor_no . ')';
         $element->addMultiOption($owner->id, $label);
     }
     $this->addElement($element);
     $element = new Zend_Form_Element_Select('active');
     $element->setLabel('Actief')->setRequired(true)->addMultiOption('', '...')->addMultiOption('true', 'Actief')->addMultiOption('false', 'Niet actief');
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('name');
     $element->setLabel('Naam')->setValidators(array(array('stringLength', null, array('min' => 4, 'max' => 128))))->setAttrib('maxlength', 128)->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('address');
     $element->setLabel('Straat')->setValidators(array(array('stringLength', null, array('min' => 4, 'max' => 128))))->setAttrib('maxlength', 128)->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('number');
     $element->setLabel('Huisnummer')->setValidators(array(array('stringLength', null, array('max' => 128))))->setAttrib('maxlength', 128)->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('code');
     $element->setLabel('Code')->setValidators(array(array('stringLength', null, array('max' => 128))))->setAttrib('maxlength', 128)->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('zipcode');
     $element->setLabel('Postcode')->setValidators(array(array('stringLength', null, array('min' => 2, 'max' => 8))))->setAttrib('maxlength', 8)->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('surface_lot');
     $element->setLabel('Kavel')->setValidators(array(array('digits')))->setFilters(array(array('int')))->setAttrib('maxlength', 6);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('surface_build');
     $element->setLabel('Bebouwd')->setValidators(array(array('digits')))->setFilters(array(array('int')))->setAttrib('maxlength', 6);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('persons');
     $element->setLabel('Personen')->setValidators(array(array('digits')))->setFilters(array(array('int')))->setAttrib('maxlength', 6)->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('bedrooms');
     $element->setLabel('Slaapkamers')->setValidators(array(array('digits')))->setFilters(array(array('int')))->setAttrib('maxlength', 6)->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('toilets');
     $element->setLabel('Toiletten')->setValidators(array(array('digits')))->setFilters(array(array('int')))->setAttrib('maxlength', 6)->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('showers');
     $element->setLabel('Badkamers')->setValidators(array(array('digits')))->setFilters(array(array('int')))->setAttrib('maxlength', 6)->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('coordinate');
     $element->setLabel('Coordinaat')->setValidators(array(array('stringLength', null, array('min' => 8, 'max' => 32))))->setAttrib('maxlength', 32)->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('price');
     $element->setLabel('Basisprijs')->setAttrib('maxlength', 20)->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('extra_percentage');
     $element->setLabel('Gebroken week percentage')->setAttrib('maxlength', 20)->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('maintenance_central_heating');
     $element->setLabel('Onderhoud centrale verwarming')->setValidators(array(array('stringLength', null, array('max' => 128))))->setAttrib('maxlength', 128);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('maintenance_garden');
     $element->setLabel('Onderhoud tuin')->setValidators(array(array('stringLength', null, array('max' => 128))))->setAttrib('maxlength', 128);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('insurance_name');
     $element->setLabel('Verzekerinig')->setValidators(array(array('stringLength', null, array('max' => 128))))->setAttrib('maxlength', 128);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('wifi_password');
     $element->setLabel('Wifi wachtwoord')->setValidators(array(array('stringLength', null, array('max' => 128))))->setAttrib('maxlength', 128);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('insurance_policy_no');
     $element->setLabel('Polisnummer')->setValidators(array(array('stringLength', null, array('max' => 128))))->setAttrib('maxlength', 128);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('insurance_agent');
     $element->setLabel('Contactpersoon')->setValidators(array(array('stringLength', null, array('max' => 128))))->setAttrib('maxlength', 128);
     $this->addElement($element);
     $element = new Zend_Form_Element_Text('insurance_phone_no');
     $element->setLabel('Telefoonnummer')->setValidators(array(array('stringLength', null, array('max' => 128))))->setAttrib('maxlength', 128);
     $this->addElement($element);
     $element = new Zend_Form_Element_Select('vat_publish');
     $element->setLabel('Belasting plichtig')->addMultiOption(null, '..')->addMultiOption('true', 'Ja')->addMultiOption('false', 'Nee')->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_Select('vat_outside');
     $element->setLabel('Belasting buitenland')->addMultiOption(null, '..')->addMultiOption('true', 'Ja')->addMultiOption('false', 'Nee')->setRequired(true);
     $this->addElement($element);
     $element = new Zend_Form_Element_MultiCheckbox('Categories');
     $element->setLabel('Categorieen waar woning in hoort');
     $categories = Model_Hm_Category::listAll()->execute();
     foreach ($categories as $category) {
         $element->addMultiOption($category->id, $category->translationHandler()->name);
     }
     $this->addElement($element);
     $element = new Zend_Form_Element_MultiCheckbox('Options');
     $element->setLabel('Kenmerken van deze woning');
     $options = Model_Hm_Op_Option::listAll()->execute();
     foreach ($options as $option) {
         $element->addMultiOption($option->id, $option->Category->translationHandler()->name . ' - ' . $option->translationHandler()->name);
     }
     $this->addElement($element);
     $element = new Zend_Form_Element_Submit('holidayhome_submit');
     $element->setLabel('Verwerken')->setAttrib('class', 'submit');
     $this->addElement($element);
     /*
      * 
      * Translations
      * 
      */
     // Create new translations subform
     $subForm = new Zend_Form_SubForm('Translation');
     // Run all languages
     foreach (Model_Hm_Lang::listAll() as $lang) {
         // Create subform for language
         $subSubForm = new Zend_Form_SubForm($lang->code);
         // Create description field
         $element = new Zend_Form_Element_Textarea('description');
         $element->setLabel('Omschrijving')->setAttrib('class', 'autoexpand')->setAttrib('rows', 2)->setAttrib('cols', 24)->setRequired(true)->setValidators(array(array('stringLength', false, array('min' => 40))));
         $subSubForm->addElement($element);
         // Add description field to language subform
         // Put each language in different fieldset
         $subSubForm->addDisplayGroup(array('description'), $lang->code, array('class' => 'textarea', 'legend' => 'Vertaling - ' . $lang->name));
         // Add language subform to Translation subform
         $subForm->addSubForm($subSubForm, $lang->code);
     }
     // Add Translation subform to normal form
     $this->addSubForm($subForm, 'Translation', 19);
     /*
      * 
      * Display groups
      * 
      */
     $this->addDisplayGroup(array('Options'), 'OptionsGroup', array('class' => 'checkboxes', 'legend' => 'Kenmerken', 'order' => 17));
     $this->addDisplayGroup(array('address', 'number', 'zipcode', 'code', 'hm_geo_city_id'), 'Adres', array('legend' => 'Adres', 'order' => 2));
     $this->addDisplayGroup(array('persons', 'bedrooms', 'toilets', 'showers'), 'Indeling', array('legend' => 'Indeling', 'order' => 3));
     $this->addDisplayGroup(array('surface_lot', 'surface_build'), 'Oppervlakte', array('legend' => 'Oppervlakte', 'order' => 6));
     $this->addDisplayGroup(array('vat_publish', 'vat_outside'), 'Belasting', array('legend' => 'Belasting', 'order' => 5));
     $this->addDisplayGroup(array('price', 'extra_percentage'), 'Prijscalculatie', array('legend' => 'Prijscalculatie', 'order' => 4));
     $this->addDisplayGroup(array('maintenance_central_heating', 'maintenance_garden', 'wifi_password'), 'hulpdiensten', array('legend' => 'Overige', 'order' => 11));
     $this->addDisplayGroup(array('insurance_name', 'insurance_policy_no', 'insurance_agent', 'insurance_phone_no'), 'verzekering', array('legend' => 'Verzekering', 'order' => 10));
     $this->addDisplayGroup(array('Categories'), 'categoriesgroup', array('legend' => 'Categorieen', 'class' => 'checkboxes', 'order' => 12));
     $this->addDisplayGroup(array('hm_owner_id', 'active', 'name', 'coordinate'), 'algemeen', array('legend' => 'Algemeen', 'order' => 1));
     $this->addDisplayGroup(array('holidayhome_submit'), 'submit', array('order' => 20, 'class' => 'submit'));
     /*
      * 
      * Decorators
      * 
      */
     $decorators = array('FormElements', 'Form');
     $displayGroupDecorators = array('Description', 'FormElements', 'Fieldset');
     $elementDecorators = array('Description', 'ViewHelper', 'Errors', array(array('p' => 'HtmlTag'), array('tag' => 'p')), array('Label', array('tag' => 'p')));
     $subDecorators = array('FormElements');
     $subDisplayGroupDecorators = array('Description', 'FormElements', 'Fieldset', array('HtmlTag', array('tag' => 'div')));
     $subElementDecorators = array('Description', 'ViewHelper', 'Errors', array(array('p' => 'HtmlTag'), array('tag' => 'p')), array('Label', array('tag' => 'p')));
     /*
      * 
      * Set decorators
      * 
      */
     $this->setDecorators($decorators)->setElementDecorators($elementDecorators)->setDisplayGroupDecorators($displayGroupDecorators);
     $translation = $this->getSubForm('Translation')->setDecorators($subDecorators)->setDisplayGroupDecorators($subDisplayGroupDecorators)->setElementDecorators($subElementDecorators);
     $subsubforms = $translation->getSubForms();
     foreach ($subsubforms as $subsubform) {
         $subsubform->setDecorators($subDecorators)->setDisplayGroupDecorators($subDisplayGroupDecorators)->setElementDecorators($subElementDecorators);
     }
     $submit = $this->getElement('holidayhome_submit');
     $submit->setDecorators(array('ViewHelper'));
 }
Пример #19
0
 public function addDistributionAssetRules($optionalDistributionAssetRules, $requiredDistributionAssetRules)
 {
     if (!is_array($optionalDistributionAssetRules)) {
         $optionalDistributionAssetRules = array();
     }
     if (!is_array($requiredDistributionAssetRules)) {
         $requiredDistributionAssetRules = array();
     }
     $assetDistributionRules = array_merge($requiredDistributionAssetRules, $optionalDistributionAssetRules);
     $assetDistributionRulesSubForm = new Zend_Form_SubForm(array('DisableLoadDefaultDecorators' => true));
     $assetDistributionRulesSubForm->addDecorator('ViewScript', array('viewScript' => 'asset-distribution-rules-sub-form.phtml'));
     foreach ($assetDistributionRules as $assetDistributionRule) {
         $assetDistributionRuleSubForm = new Form_AssetDistributionRuleSubForm();
         $assetDistributionRuleSubForm->populateFromObject($assetDistributionRule);
         if (in_array($assetDistributionRule, $requiredDistributionAssetRules)) {
             $assetDistributionRuleSubForm->setIsRequired(true);
         }
         $assetDistributionRulesSubForm->addSubForm($assetDistributionRuleSubForm, 'asset_distribution_rule_' . spl_object_hash($assetDistributionRule));
     }
     $this->addSubForm($assetDistributionRulesSubForm, 'asset_distribution_rules');
 }
Пример #20
0
 /**
  * (non-PHPdoc)
  * @see Zend_Form::addSubForm()
  */
 public function addSubForm(Zend_Form $form, $name, $order = null)
 {
     if ($form instanceof Base_Form_Abstract) {
         $form->setParentForm($this);
     }
     return parent::addSubForm($form, $name, $order);
 }