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')); }
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; }
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(); }
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); }
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'); }
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'); }
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'); }
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'); }
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'])); }
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')); }
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'); }
/** * (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); }