Ejemplo n.º 1
0
 public function init()
 {
     $this->setName('send-tweet');
     $e = new Zend_Form_Element_Text('latitude');
     $e->setLabel('Latitude');
     $e->addFilter('StringTrim');
     $e->setAttrib('onblur', 'setMarkerFromForm()');
     $e->addValidator(new Zend_Validate_Regex('/[-+0-9.]/'));
     $e->setTranslator(new Zend_Translate_Adapter_Array(array('regexNotMatch' => 'Latitude is not valid'), 'en'));
     $this->addElement($e);
     $e = new Zend_Form_Element_Text('longitude');
     $e->setLabel('Longitude');
     $e->addFilter('StringTrim');
     $e->setAttrib('onblur', 'setMarkerFromForm()');
     $e->addValidator(new Zend_Validate_Regex('/[-+0-9.]/'));
     $e->setTranslator(new Zend_Translate_Adapter_Array(array('regexNotMatch' => 'Longitude is not valid'), 'en'));
     $this->addElement($e);
     $e = new Zend_Form_Element_Textarea('tweet');
     $e->setLabel('Tweet');
     $e->setRequired(true);
     $e->addFilter('StripTags');
     $e->addFilter('StringTrim');
     $e->addValidator(new Zend_Validate_StringLength(array('max' => 140)));
     $e->setTranslator(new Zend_Translate_Adapter_Array(array('isEmpty' => 'Please supply the message to be tweeted', 'stringLengthTooLong' => 'No more than 140 characters please!'), 'en'));
     $this->addElement($e);
     $e = new Zend_Form_Element_Submit('send');
     $e->setIgnore(true);
     $e->setLabel('Tweet!');
     $this->addElement($e);
 }
Ejemplo n.º 2
0
 protected function _motivo()
 {
     $e = new Zend_Form_Element_Textarea('motivo');
     $e->setLabel(_('Reason') . ':');
     $e->setRequired(true);
     $e->setAttrib('rows', 4);
     $e->setAttrib("data-parsley-required", "true");
     $e->setAttrib('placeholder', _('Describe why you want to change your e-mail address...'));
     $e->addFilter('StripTags');
     $e->addFilter('StringTrim');
     $e->addValidator('StringLength', false, array(10));
     $e->setAttrib('class', 'form-control');
     return $e;
 }
Ejemplo n.º 3
0
 public function init()
 {
     $media_library_model = new Cms_Model_MediaLibraries();
     $media_library = $media_library_model->getByPath($this->_attribs['media_library_path']);
     $title = new Zend_Form_Element_Text('title');
     $title->setLabel('Title');
     $title->setRequired(true);
     $title->addFilter('StringTrim');
     $title->addValidator('Alnum', false, array('allowWhiteSpace' => true));
     $this->addElement($title);
     $description = new Zend_Form_Element_Textarea('description');
     $description->setLabel('Description');
     $description->addFilter('StringTrim');
     $description->addValidator('Alnum', false, array('allowWhiteSpace' => true));
     $this->addElement($description);
     $original = new Zend_Form_Element_File('original');
     $original->addValidator('Count', false, 1);
     $original->addValidator('Extension', false, 'jpeg,jpg,png');
     $original->addFilter('Rename', $this->_attribs['file_name']);
     $original->setDestination(My_Utilities::getUploadMediaPathDiffSizes($this->_attribs['file_name'], $this->_attribs['media_library_path'], 'original'));
     $original->setLabel('Image:');
     $this->addElement($original);
     $submit = new Zend_Form_Element_Submit('save');
     $submit->setAttrib('class', 'btn btn-primary');
     $submit->setLabel('Potvrdi');
     $this->setAction('')->setMethod('post')->addElement($submit);
     $cancel = new Zend_Form_Element_Button('cancel');
     $cancel->setLabel('Cancel');
     $cancel->setAttrib('class', 'btn btn-gold')->setAttrib('style', 'color:black');
     $cancel->setAttrib("onClick", "window.location = window.location.origin+'/cms/medias/index/library_id/" . $media_library->id . "'");
     $this->addElement($cancel);
 }
Ejemplo n.º 4
0
 public function init()
 {
     $this->setName('manufacturer');
     $id = new Zend_Form_Element_Hidden('id');
     $id->addFilter('Int');
     $column = new Zend_Form_Element_Text('column');
     $column->setRequired(true)->addFilter('Int')->addValidator('NotEmpty');
     $text = new Zend_Form_Element_Textarea('text');
     $text->addFilter('StripTags')->addFilter('StringTrim')->setAttrib('cols', '20')->setAttrib('rows', '5');
     $width = new Zend_Form_Element_Text('width');
     $width->addFilter('Int');
     $this->addElements(array($id, $column, $text, $width));
     $this->setElementDecorators(array('ViewHelper'));
 }
 public function __construct($options = null)
 {
     $this->_disabledDefaultActions = true;
     parent::__construct($options);
     // email
     $regexValidate = new Cible_Validate_Email();
     $regexValidate->setMessage($this->getView()->getCibleText('validation_message_emailAddressInvalid'), 'regexNotMatch');
     $email = new Zend_Form_Element_Text('email');
     $this->setAttrib('class', 'zendFormNewsletter');
     $email->setLabel($this->getView()->getCibleText('form_label_email'))->setRequired(true)->addFilter('StripTags')->addFilter('StringTrim')->addFilter('StringToLower')->addValidator('NotEmpty', true, array('messages' => array('isEmpty' => $this->getView()->getCibleText('validation_message_empty_field'))))->addValidator($regexValidate)->setAttrib('class', 'stdTextInput');
     $this->addElement($email);
     //unsubscription reason
     $reason = new Zend_Form_Element_Select('reason');
     $this->setAttrib('class', 'zendFormNewsletter');
     $reason->setLabel($this->getView()->getCibleText('form_label_unsubscribe_reason'))->setDecorators(array('ViewHelper', array('label', array('placement' => 'prepend')), array('Errors', array('placement' => 'append')), array(array('row' => 'HtmlTag'), array('tag' => 'dd', 'class' => 'reasonSelect', 'id' => ''))))->setAttrib('class', 'stdSelect');
     $selectoptions = array();
     $oRef = new ReferencesObject();
     $options = $oRef->getRefByType('unsubscrArg');
     foreach ($options as $option) {
         $value = $option['R_TypeRef'] . '-' . $option['R_ID'];
         $selectoptions[$option['R_ID']] = $option['RI_Value'];
     }
     $reason->addMultiOptions($selectoptions);
     $reason->addMultiOption(0, 'Autre');
     $this->addElement($reason);
     //unsubscription reason
     $reasonOther = new Zend_Form_Element_Textarea('reasonOther');
     $this->setAttrib('class', 'zendFormNewsletter');
     $reasonOther->addFilter('StripTags')->addFilter('StringTrim')->addFilter('StringToLower')->setDecorators(array('ViewHelper', array('label', array('placement' => 'prepend')), array('Errors', array('placement' => 'append')), array(array('row' => 'HtmlTag'), array('tag' => 'dd', 'class' => 'reasonOther hidden', 'id' => ''))))->setAttrib('class', 'reasonTextarea');
     $this->addElement($reasonOther);
     $unsubscribeButton = new Zend_Form_Element_Submit('unsubscribe');
     $unsubscribeButton->setLabel($this->getView()->getCibleText('newsletter_title_desabonnement_text'))->setAttrib('id', 'unsubmitSave')->setAttrib('class', 'unsubscribeButton1')->removeDecorator('Label')->removeDecorator('DtDdWrapper');
     $this->addElement($unsubscribeButton);
     $this->addDisplayGroup(array('unsubscribe'), 'actions');
     $actions = $this->getDisplayGroup('actions');
     $this->setDisplayGroupDecorators(array('formElements', 'fieldset', array(array('outerHtmlTag' => 'HtmlTag'), array('tag' => 'dd', 'class' => 'dd-unsubscribe-button'))));
     $requiredFields = new Zend_Form_Element_Hidden('RequiredFields');
     $requiredFields->setLabel('<span class="field_required">*</span>' . $this->getView()->getCibleText('form_field_required_label') . '<br /><br />');
     $requiredFields->setDecorators(array('ViewHelper', array('label', array('placement' => 'append')), array(array('row' => 'HtmlTag'), array('tag' => 'dd', 'class' => 'label_required_fields'))));
     $this->addElement($requiredFields);
     $this->setDecorators(array('FormElements', 'Form'));
 }
 /**
  * Inicializace formulare
  *
  */
 public function init()
 {
     $this->setMethod(self::METHOD_POST);
     // ################## FIRST COLUMN ###################
     // datum pohovoru
     $elem = new Zend_Form_Element_Text('datum_pohovoru');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', array('form-control', 'date-picker'));
     $elem->setAttrib('placeholder', 'Pick a date…');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'datum_pohovoru');
     // Multi select (perzonalista – pokročilé informace)
     $elem = new Zend_Form_Element_Multiselect('perzonalista_informace');
     $elem->removeDecorator('Label');
     $elem->setAttrib('placeholder', 'Pick an interviewers…');
     $elem->setAttrib('class', 'form-control');
     $this->addElement($elem, 'perzonalista_informace');
     // vzdělání
     $elem = new Zend_Form_Element_Text('vzdelani');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Education…');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'vzdelani');
     // motivace
     $elem = new Zend_Form_Element_Textarea('motivace');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Motivation…');
     $elem->setAttrib('rows', '1');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'motivace');
     // preferovaná práce
     $elem = new Zend_Form_Element_Textarea('preferovana_prace');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Kind of work preferred…');
     $elem->setAttrib('rows', '1');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'preferovana_prace');
     // ambice
     $elem = new Zend_Form_Element_Textarea('ambice');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Ambitions…');
     $elem->setAttrib('rows', '1');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'ambice');
     // jazyky
     $elem = new Zend_Form_Element_Text('jazyky');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Languages…');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'jazyky');
     // cestování
     $elem = new Zend_Form_Element_Text('cestovani');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Travelling…');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'cestovani');
     // ################## SECOND COLUMN ###################
     // plusy_minusy
     $elem = new Zend_Form_Element_Textarea('plusy_minusy');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Pluses/Minuses…');
     $elem->setAttrib('rows', '3');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'plusy_minusy');
     // zkusenosti_v_tymu
     $elem = new Zend_Form_Element_Textarea('zkusenosti_v_tymu');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Team work experience…');
     $elem->setAttrib('rows', '3');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'zkusenosti_v_tymu');
     // pracovni_misto
     $elem = new Zend_Form_Element_Textarea('pracovni_misto');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Domain/Areas of work…');
     $elem->setAttrib('rows', '3');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'pracovni_misto');
     // knowhow
     $elem = new Zend_Form_Element_Textarea('knowhow');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Skills and technologies…');
     $elem->setAttrib('rows', '3');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'knowhow');
     // dalsi_informace
     $elem = new Zend_Form_Element_Textarea('dalsi_informace');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Other informations…');
     $elem->setAttrib('rows', '3');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'dalsi_informace');
     // ################## THIRD COLUMN ###################
     // shrnuti_pohovoru
     $elem = new Zend_Form_Element_Textarea('shrnuti_pohovoru');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Summary of the interview…');
     $elem->setAttrib('rows', '3');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'shrnuti_pohovoru');
     // idealni_pozice
     $elem = new Zend_Form_Element_Text('idealni_pozice');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Ideal for position/project…');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'idealni_pozice');
     // datum_zahajeni
     $elem = new Zend_Form_Element_Text('datum_zahajeni');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', array('form-control', 'date-picker'));
     $elem->setAttrib('placeholder', 'Posible starting date…');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'datum_zahajeni');
     // uvazek
     $elem = new Zend_Form_Element_Select('id_uvazek');
     $elem->removeDecorator('Label');
     $elem->setAttrib('class', 'form-control');
     $this->addElement($elem, 'id_uvazek');
     // mzda
     $elem = new Zend_Form_Element_Text('mzda');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', 'form-control');
     $elem->setAttrib('placeholder', 'Salary…');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'mzda');
     $elem = new Zend_Form_Element_Select('id_mena');
     $elem->removeDecorator('Label');
     $elem->setAttrib('class', 'form-control');
     $this->addElement($elem, 'id_mena');
     // datum_pristiho_kontaktu
     $elem = new Zend_Form_Element_Text('datum_pristiho_kontaktu');
     $elem->addFilter('StringTrim');
     $elem->setAttrib('class', array('form-control', 'date-picker'));
     $elem->setAttrib('placeholder', 'Pick a date…');
     $elem->removeDecorator('Label');
     $this->addElement($elem, 'datum_pristiho_kontaktu');
     // ###################### BUTTON ######################
     $save = new Zend_Form_Element_Submit('saveButton');
     $save->setLabel('Save');
     $save->setAttrib('class', 'btn btn-success');
     $save->setDecorators(array('ViewHelper'));
     $this->addElement($save, 'saveButton');
 }
Ejemplo n.º 7
0
 public function init()
 {
     $this->setMethod('post');
     $this->setAttrib('action', BASE_URL . 'timemanagement/clients/edit');
     $this->setAttrib('id', 'formid');
     $this->setAttrib('name', 'addOrEditClients');
     $id = new Zend_Form_Element_Hidden('id');
     $clientname = new Zend_Form_Element_Text('client_name');
     $clientname->setLabel("Client");
     $clientname->setAttrib('maxLength', 50);
     $clientname->addFilter(new Zend_Filter_StringTrim());
     $clientname->setRequired(TRUE);
     $clientname->addValidator('NotEmpty', false, array('messages' => 'Please enter client name.'));
     $clientname->addValidator("regex", true, array('pattern' => '/^(?![0-9]*$)[a-zA-Z0-9.,&\\(\\)\\/\\-_\' ?]+$/', 'messages' => array('regexNotMatch' => 'Please enter a valid client name.')));
     $phonenumber = new Zend_Form_Element_Text('phone_no');
     $phonenumber->addFilter(new Zend_Filter_StringTrim());
     $phonenumber->setAttrib('maxLength', 15);
     $phonenumber->setLabel("Phone Number");
     $phonenumber->addValidators(array(array('StringLength', false, array('min' => 10, 'max' => 15, 'messages' => array(Zend_Validate_StringLength::TOO_LONG => 'Phone number must contain at most %max% characters.', Zend_Validate_StringLength::TOO_SHORT => 'Phone number must contain at least %min% characters.')))));
     $phonenumber->addValidators(array(array('validator' => 'Regex', 'breakChainOnFailure' => true, 'options' => array('pattern' => '/^[0-9-]+$/i', 'messages' => array('regexNotMatch' => 'Please enter a valid phone number.')))));
     $emailaddress = new Zend_Form_Element_Text("email");
     $emailaddress->setRequired(FALSE);
     //$emailaddress->addValidator('NotEmpty', false, array('messages' => 'Please enter email.'));
     $emailaddress->addValidator("regex", true, array('pattern' => '/^(?!.*\\.{2})[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$/', 'messages' => array('regexNotMatch' => 'Please enter a valid email.')));
     $emailaddress->setLabel("Email");
     $emailaddress->setAttrib("class", "formDataElement");
     $pointofcontact = new Zend_Form_Element_Text('poc');
     $pointofcontact->setAttrib('maxLength', 90);
     $pointofcontact->setLabel("Point of Contact");
     $pointofcontact->addFilter(new Zend_Filter_StringTrim());
     $pointofcontact->setRequired(TRUE);
     $pointofcontact->addValidator('NotEmpty', false, array('messages' => 'Please enter point of contact.'));
     $pointofcontact->addValidator("regex", true, array('pattern' => '/^(?![0-9]*$)[a-zA-Z.0-9\\-_\' ?]+$/', 'messages' => array('regexNotMatch' => 'Please enter a valid point of contact.')));
     $address = new Zend_Form_Element_Textarea('address');
     $address->setAttrib('maxLength', 180);
     $address->setLabel("Address");
     $address->addFilter(new Zend_Filter_StringTrim());
     $country = new Zend_Form_Element_Select('country_id');
     $country->setLabel('Country');
     $country->setRequired(FALSE);
     //$country->addValidator('NotEmpty', false, array('messages' => 'Please select country.'));
     $country->setAttrib('onchange', 'getStates()');
     $countryModal = new Timemanagement_Model_Countries();
     $countriesData = $countryModal->fetchAll('is_active=1', 'country_name');
     $country->addMultiOption('', 'Select country');
     foreach ($countriesData->toArray() as $data) {
         $country->addMultiOption($data['id'], utf8_encode($data['country_name']));
     }
     $country->setRegisterInArrayValidator(false);
     $state = new Zend_Form_Element_Select('state_id');
     $state->setLabel('State');
     $state->setAttrib('class', 'selectoption');
     $state->setRegisterInArrayValidator(false);
     $state->addMultiOption('', 'Select State');
     $state->setRequired(FALSE);
     //$state->addValidator('NotEmpty', false, array('messages' => 'Please select state.'));
     $fax = new Zend_Form_Element_Text('fax');
     $fax->addFilter(new Zend_Filter_StringTrim());
     $fax->setAttrib('maxLength', 15);
     $fax->setLabel("Fax");
     $fax->addValidators(array(array('StringLength', false, array('min' => 10, 'max' => 15, 'messages' => array(Zend_Validate_StringLength::TOO_LONG => 'Fax number must contain at most %max% characters.', Zend_Validate_StringLength::TOO_SHORT => 'Fhone number must contain at least %min% characters.')))));
     $fax->addValidators(array(array('validator' => 'Regex', 'breakChainOnFailure' => true, 'options' => array('pattern' => '/^[0-9-]+$/i', 'messages' => array('regexNotMatch' => 'Please enter a valid fax number.')))));
     $submit = new Zend_Form_Element_Submit('submit');
     $submit->setAttrib('id', 'submitbutton');
     $submit->setLabel('Save');
     $this->addElements(array($id, $clientname, $country, $state, $address, $pointofcontact, $emailaddress, $phonenumber, $submit, $fax));
     $this->setElementDecorators(array('ViewHelper'));
 }
Ejemplo n.º 8
0
 /**
  * Строит форму
  * 
  * @param array $fields Массив данных о полях формы
  * 
  * @return Zend_Form
  */
 public function buildForm($fields)
 {
     $form = Phorm_Form::makeForm();
     foreach ($fields as $data) {
         $fieldname = "field_" . $data["fieldid"];
         switch ($data["fieldtype"]) {
             /**
              * Однострочное текстовое поле
              */
             case "Text":
                 $field = new Zend_Form_Element_Text($fieldname);
                 // Типы валидаторов
                 if ($data["fieldvalidators"] == "Email") {
                     $field->addValidator("EmailAddress", true, array("messages" => array("emailAddressInvalid" => $this->_translate->_("Неверно указан email"), "emailAddressInvalidHostname" => $this->_translate->_("Неверно указан email"), "emailAddressInvalidMxRecord" => $this->_translate->_("Неверно указан email"), "emailAddressInvalidSegment" => $this->_translate->_("Неверно указан email"), "emailAddressDotAtom" => $this->_translate->_("Неверно указан email"), "emailAddressQuotedString" => $this->_translate->_("Неверно указан email"), "emailAddressInvalidLocalPart" => $this->_translate->_("Неверно указан email"), "emailAddressLengthExceeded" => $this->_translate->_("Неверно указан email"), "emailAddressInvalidFormat" => $this->_translate->_("Неверный формат"))));
                 } elseif ($data["fieldvalidators"] == "Date") {
                     $field->addValidator("Date", true, array("messages" => array("dateInvalid" => $this->_translate->_("Неверная дата"), "dateInvalidDate" => $this->_translate->_("Неверная дата"), "dateFalseFormat" => $this->_translate->_("Неверная дата"))));
                 } elseif ($data["fieldvalidators"] == "Int") {
                     $field->addValidator("Int", true, array("messages" => array("notInt" => $this->_translate->_("Значение должно быть числом"), "intInvalid" => $this->_translate->_("Значение должно быть числом"))));
                 } elseif ($data["fieldvalidators"] == "Hostname") {
                     $field->addValidator("Hostname", true, array("messages" => array("hostnameInvalid" => $this->_translate->_("Неверный адрес"), "hostnameIpAddressNotAllowed" => $this->_translate->_("Неверный адрес"), "hostnameUnknownTld" => $this->_translate->_("Неверный адрес"), "hostnameDashCharacter" => $this->_translate->_("Неверный адрес"), "hostnameInvalidHostnameSchema" => $this->_translate->_("Неверный адрес"), "hostnameUndecipherableTld" => $this->_translate->_("Неверный адрес"), "hostnameInvalidHostname" => $this->_translate->_("Неверный адрес"), "hostnameInvalidLocalName" => $this->_translate->_("Неверный адрес"), "hostnameLocalNameNotAllowed" => $this->_translate->_("Неверный адрес"), "hostnameCannotDecodePunycode" => $this->_translate->_("Неверный адрес"))));
                 }
                 // Если разрешен HTML
                 if ($data["htmlallowed"] == "yes") {
                     $field->addFilter("StringTrim");
                 } else {
                     $field->addFilter("StripTags");
                 }
                 break;
                 /**
                  * Многострочное текстовое поле
                  */
             /**
              * Многострочное текстовое поле
              */
             case "Textarea":
                 $field = new Zend_Form_Element_Textarea($fieldname);
                 // Если разрешен HTML
                 if ($data["htmlallowed"] == "yes") {
                     $field->addFilter("StringTrim");
                 } else {
                     $field->addFilter("StripTags");
                 }
                 break;
                 /**
                  * Чекбокс
                  */
             /**
              * Чекбокс
              */
             case "Checkbox":
                 $field = new Zend_Form_Element_Checkbox($fieldname);
                 break;
                 /**
                  * Радиоточка
                  */
             /**
              * Радиоточка
              */
             case "Radio":
                 $field = new Zend_Form_Element_Radio($fieldname);
                 break;
                 /**
                  * Список
                  */
             /**
              * Список
              */
             case "Select":
                 $field = new Zend_Form_Element_Select($fieldname);
                 $haystack = array();
                 $optionsdata = explode("\n", $data["optionsdata"]);
                 foreach ($optionsdata as $k => $v) {
                     $haystack[$k] = trim($v);
                 }
                 $field->addMultiOption("", $this->_translate->_("---Выберите---"));
                 foreach ($haystack as $value) {
                     $field->addMultiOption($value, $value);
                 }
                 $haystack[$this->_translate->_("---Выберите---")] = "";
                 $field->addValidator("InArray", true, array("haystack" => $haystack, "messages" => array("notInArray" => $this->_translate->_("Не выбрано ни одного значения"))));
                 break;
                 /**
                  * Список с множественным выбором
                  */
             /**
              * Список с множественным выбором
              */
             case "Multiselect":
                 $field = new Zend_Form_Element_Multiselect($fieldname);
                 $haystack = array();
                 $optionsdata = explode("\n", $data["optionsdata"]);
                 foreach ($optionsdata as $k => $v) {
                     $haystack[$k] = trim($v);
                 }
                 foreach ($optionsdata as $value) {
                     $field->addMultiOption($value, $value);
                 }
                 $field->addValidator("InArray", true, array("haystack" => $haystack, "messages" => array("notInArray" => $this->_translate->_("Не выбрано ни одного значения"))));
                 break;
                 /**
                  * Файл
                  */
             /**
              * Файл
              */
             case "File":
                 $field = new Zend_Form_Element_File($fieldname);
                 if ($data["filestypes"] == "Images") {
                     $field->addValidator("Extension", false, array("extension" => "png,jpg,gif,jpeg,bmp", "messages" => array("fileExtensionFalse" => $this->_translate->_("Файл '%value%' не является изображением"))));
                 } elseif ($data["filestypes"] == "Documents") {
                     $field->addValidator("Extension", false, array("extension" => "doc,xls,odt,docx,xlsx,pdf,txt", "messages" => array("fileExtensionFalse" => $this->_translate->_("Файл '%value%' не является документом"))));
                 } elseif ($data["filestypes"] == "Archives") {
                     $field->addValidator("Extension", false, array("extension" => "zip,rar,7z,gz,tgz", "messages" => array("fileExtensionFalse" => $this->_translate->_("Файл '%value%' не является файловым архивом"))));
                 }
                 //$field -> setDestination($this->paths["html"]."forms/files/");
                 $field->setValueDisabled(true);
                 break;
                 /**
                  * Refferer
                  */
             /**
              * Refferer
              */
             case "Refferer":
                 $field = new Zend_Form_Element_Hidden($fieldname);
                 if (isset($_SERVER["HTTP_REFERER"])) {
                     $field->setValue($_SERVER["HTTP_REFERER"]);
                 }
                 break;
                 /**
                  * CAPTCHA
                  */
             /**
              * CAPTCHA
              */
             case "Captcha":
                 $captcha = Phorm_Captcha_Image::getCaptcha();
                 $captcha->setOptions(array("messages" => array("badCaptcha" => $this->_translate->_("Неверно указан код подтверждения"), "missingID" => $this->_translate->_("Неверный идентификатор Captcha"))));
                 $field = new Zend_Form_Element_Captcha($fieldname, array("captcha" => $captcha));
                 break;
             default:
                 continue;
         }
         // Если поле обязательно для заполнения
         if ($data["isrequired"] == "yes") {
             $field->setRequired(true)->addValidator("NotEmpty", true, array("messages" => array("isEmpty" => $this->_translate->_("Не заполнено поле"))));
         }
         // Устанавливаем заголовок и описание поля
         if ($field instanceof Zend_Form_Element_Hidden) {
             $field->removeDecorator("label")->removeDecorator("HtmlTag");
         } else {
             $field->setLabel($data["fieldname"])->setDescription($data["fieldtxt"]);
         }
         $form->addElement($field);
     }
     $form->addElement(new Zend_Form_Element_Submit("Send", $this->_translate->_("Отправить")));
     $form->setAttrib('enctype', 'multipart/form-data');
     return $form;
 }
Ejemplo n.º 9
0
 /**
  * @author code generate
  * @return mixed
  */
 public function __construct($option = array())
 {
     $userId = new Zend_Form_Element_Hidden('TutorId');
     $userId->setDecorators(array('ViewHelper'));
     $this->addElement($userId);
     $birthDay = new Zend_Form_Element_Text('Birthday');
     $birthDay->setLabel('Ngày sinh *');
     $birthDay->addFilter('StringTrim');
     $birthDay->setRequired(true);
     $birthDay->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'col-lg-2 control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $birthDay->addValidator('stringLength', false, array(2, 50, "messages" => "Ngày sinh dài tối đa 50 ký tự"));
     $this->addElement($birthDay);
     $gender = new Zend_Form_Element_Select('Gender');
     $gender->setLabel('Giới tính *');
     $gender->addFilter('StringTrim');
     $gender->setRequired(true);
     $gender->setMultiOptions(array('1' => 'Nam', '0' => 'Nữ'));
     $gender->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $gender->setSeparator('');
     $gender->setValue("1");
     $this->addElement($gender);
     $email = new Zend_Form_Element_Text('Email');
     $email->setLabel('Email *');
     $email->addFilter('StringTrim');
     $email->setRequired(true);
     $email->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'col-lg-2 control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $email->addValidator(new Zend_Validate_Db_NoRecordExists("Tutors", "Email"));
     $email->addValidator('EmailAddress', true);
     $email->setRequired(true)->addValidator('NotEmpty', true, array('messages' => array('isEmpty' => "Email không phù hợp")));
     $this->addElement($email);
     $userName = new Zend_Form_Element_Text('UserName');
     $userName->setLabel('Họ tên *');
     $userName->addFilter('StringTrim');
     $userName->setRequired(true);
     $userName->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'col-lg-2 control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $userName->addValidator('stringLength', false, array(2, 50, "messages" => "Họ tên dài tối đa 2-50 ký tự"));
     $this->addElement($userName);
     $address = new Zend_Form_Element_Text('Address');
     $address->setLabel('Địa chỉ *');
     $address->addFilter('StringTrim');
     $address->setRequired(true);
     $address->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'col-lg-2 control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $userName->addValidator('stringLength', false, array(1, 100, "messages" => "Địa chỉ dài tối đa 100 ký tự"));
     $this->addElement($address);
     $phone = new Zend_Form_Element_Text('Phone');
     $phone->setLabel('Điện thoại *');
     $phone->addFilter('StringTrim');
     $phone->setRequired(true);
     $phone->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'col-lg-2 control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $phone->addValidator('stringLength', false, array(6, 50, "messages" => "Điện thoại dài tối đa 6-50 ký tự"));
     $this->addElement($phone);
     $required = new Zend_Validate_NotEmpty();
     $required->setType($required->getType() | Zend_Validate_NotEmpty::INTEGER | Zend_Validate_NotEmpty::ZERO);
     $level = new Zend_Form_Element_Select('Level');
     $level->setLabel('Trình độ *');
     $level->addFilter('StringTrim');
     $level->addValidator('Int');
     $level->setRequired(true);
     $level->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $level->addValidators(array($required));
     $level->setMultiOptions(unserialize(TUTOR_LEVELS));
     $this->addElement($level);
     $university = new Zend_Form_Element_Text('University');
     $university->setLabel('Trường tốt nghiệp *');
     $university->addFilter('StringTrim');
     $university->setRequired(true);
     $university->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $university->addValidator('stringLength', false, array(1, 100, "messages" => "Trường tố nghiệp dài tối đa 100 ký tự"));
     $this->addElement($university);
     $subject = new Zend_Form_Element_Text('Subject');
     $subject->setLabel('Chuyên ngành *');
     $subject->addFilter('StringTrim');
     $subject->setRequired(true);
     $subject->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $subject->addValidator('stringLength', false, array(1, 100, "messages" => "Chuyên ngành dài tối đa 100 ký tự"));
     $this->addElement($subject);
     $experienceYears = new Zend_Form_Element_Select('ExperienceYears');
     $experienceYears->setLabel('Số Năm Kinh Nghiệm *');
     $experienceYears->addFilter('StringTrim');
     $experienceYears->setRequired(false);
     $experienceYears->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $options = unserialize(EXPERIENCE_YEAR);
     //$experienceYears->addMultiOptions(array_combine($options, $options));
     $experienceYears->setMultiOptions(unserialize(EXPERIENCE_YEAR));
     $this->addElement($experienceYears);
     $career = new Zend_Form_Element_Select('Career');
     $career->setLabel('Hiện tại là *');
     $career->addFilter('StringTrim');
     $career->addValidator('Int');
     $career->setRequired(true);
     $career->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $career->setMultiOptions(unserialize(TUTOR_CAREERS));
     $this->addElement($career);
     $careerLocation = new Zend_Form_Element_Text('CareerLocation');
     $careerLocation->setLabel('Nơi Công Tác ( Giáo hoặc Giảng Viên ) *');
     $careerLocation->addFilter('StringTrim');
     $careerLocation->setRequired(false);
     $careerLocation->setAttrib('style', 'min-height: 30px;');
     $careerLocation->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $careerLocation->addValidator('stringLength', false, array(1, 100, "messages" => "Nơi Công Tác dài tối đa 100 ký tự"));
     $this->addElement($careerLocation);
     $teachableInClass = new Zend_Form_Element_Text('TeachableInClass');
     $teachableInClass->setLabel('Lớp Có Thể Dạy');
     $teachableInClass->addFilter('StringTrim');
     $teachableInClass->setRequired(false);
     $teachableInClass->setAttrib('disabled', true);
     $teachableInClass->setDescription('<a id="grades-modal" class="btn btn-info" title="Chọn lớp">...</a>');
     $teachableInClass->setDecorators(array('ViewHelper', array('Description', array('escape' => false)), array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control col-lg-6')), array('Label', array('class' => 'control-label col-lg-2')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $this->addElement($teachableInClass);
     $teachableSubjects = new Zend_Form_Element_Text('TeachableSubjects');
     $teachableSubjects->setLabel('Môn Có Thể Dạy');
     $teachableSubjects->addFilter('StringTrim');
     $teachableSubjects->setRequired(false);
     $teachableSubjects->setAttrib('disabled', true);
     $teachableSubjects->setDescription('<a id="subjects-modal" class="btn btn-info" title="Chọn môn">...</a>');
     $teachableSubjects->setDecorators(array('ViewHelper', array('Description', array('escape' => false)), array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control col-lg-6')), array('Label', array('class' => 'control-label col-lg-2')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $this->addElement($teachableSubjects);
     $teachableDistricts = new Zend_Form_Element_Text('TeachableDistricts');
     $teachableDistricts->setLabel('Khu Vực Có Thể Dạy');
     $teachableDistricts->addFilter('StringTrim');
     $teachableDistricts->setRequired(false);
     $teachableDistricts->setAttrib('disabled', true);
     $teachableDistricts->setDescription('<span id="districts-modal" class="btn btn-info" title="Chọn quận">...</span>');
     $teachableDistricts->setDecorators(array('ViewHelper', array('Description', array('escape' => false)), array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control col-lg-6')), array('Label', array('class' => 'control-label col-lg-2')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $this->addElement($teachableDistricts);
     $avatar = new Zend_Form_Element_Hidden('Upload');
     $avatar->setLabel('Hình đại diện');
     $avatar->setRequired(false);
     $avatar->setDescription('fieldlabel');
     $avatar->setDecorators(array('ViewHelper', array(array('Description' => 'HtmlTag'), array('tag' => 'div', 'id' => "file-uploader")), array(array('Errors' => 'HtmlTag'), array('placement' => 'append', 'tag' => 'img', 'id' => 'progress-img', 'src' => "/scripts/upload/loading.gif")), array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control', 'style' => "position: relative;float: left;margin-left: 20px;")), array('Label', array('class' => 'control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $this->addElement($avatar);
     $avatarNote = new Zend_Form_Element_Hidden('Avatar');
     $avatarNote->setLabel('Chú ý');
     $avatarNote->setRequired(false);
     $avatarNote->setDescription("Kích thước khoảng: 240 x 120 (px)<br>Kích cỡ cho phép: " . IMAGE_SIZE_LIMIT . " kB");
     $avatarNote->setDecorators(array('ViewHelper', array('Description', array('escape' => false, 'tag' => 'div')), array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group', 'style' => "float: left;"))));
     $this->addElement($avatarNote);
     $introduction = new Zend_Form_Element_Textarea('Introduction');
     $introduction->setLabel('Giới thiệu bản thân');
     $introduction->addFilter('StringTrim');
     $introduction->setRequired(false);
     $introduction->setOptions(array('cols' => '10', 'rows' => '4'));
     /* $introduction->setDecorators(array('ViewHelper')); */
     $introduction->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $subject->addValidator('stringLength', false, array(1, 2000, "messages" => "Giới thiệu bản thân dài tối đa 2000 ký tự"));
     $this->addElement($introduction);
     $isDisabled = new Zend_Form_Element_Text('IsDisabled');
     $isDisabled->setLabel('IsDisabled');
     $isDisabled->addFilter('StringTrim');
     $isDisabled->addValidator('Int');
     $isDisabled->setDecorators(array('ViewHelper', array(array('control' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-control')), array('Label', array('class' => 'control-label')), array(array('controls' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form-group'))));
     $this->addElement($isDisabled);
     $submit = new Zend_Form_Element_Submit('Save');
     $submit->setLabel('Đăng ký');
     $submit->setAttrib('class', 'btn btn-primary');
     $submit->setDecorators(array('ViewHelper'));
     $this->addElement($submit);
     $reset = new Zend_Form_Element_Reset('Reset');
     $reset->setLabel('Làm lại');
     $reset->setAttrib('class', 'btn btn-primary');
     $reset->setDecorators(array('ViewHelper'));
     $this->addElement($reset);
     $this->addDisplayGroup(array('UserName', 'Gender', 'Birthday', 'Email', 'Address', 'Phone'), 'contact', array('disableLoadDefaultDecorators' => false, 'legend' => 'Thông tin cá nhân'));
     $contact = $this->getDisplayGroup('contact');
     $contact->setDecorators(array('FormElements', 'Fieldset', array('HtmlTag', array('tag' => 'fieldset', 'class' => 'well the-fieldset'))));
     $this->addDisplayGroup(array('Level', 'University', 'Subject', 'Career', 'CareerLocation', 'ExperienceYears'), 'level', array('disableLoadDefaultDecorators' => false, 'legend' => 'Thông tin học vấn'));
     $level = $this->getDisplayGroup('level');
     $level->setDecorators(array('FormElements', 'Fieldset', array('HtmlTag', array('tag' => 'fieldset', 'class' => 'well the-fieldset'))));
     $this->addDisplayGroup(array('TeachableInClass', 'TeachableSubjects', 'TeachableDistricts', 'Upload', 'Avatar', 'Introduction'), 'extra', array('disableLoadDefaultDecorators' => false, 'legend' => 'Thông tin thêm'));
     $extra = $this->getDisplayGroup('extra');
     $extra->setDecorators(array('FormElements', 'Fieldset', array('HtmlTag', array('tag' => 'fieldset', 'class' => 'well the-fieldset'))));
     $this->addDisplayGroup(array('Save', 'Reset'), 'submit', array('disableLoadDefaultDecorators' => false, 'legend' => 'Thông tin học vấn'));
     $submit = $this->getDisplayGroup('submit');
     $submit->setDecorators(array('FormElements', 'Fieldset', array('HtmlTag', array('tag' => 'fieldset', 'class' => 'well the-fieldset'))));
 }