public function init()
 {
     // create elements
     $userId = new Zend_Form_Element_Hidden('id');
     $mail = new Zend_Form_Element_Text('email');
     $name = new Zend_Form_Element_Text('name');
     $radio = new Zend_Form_Element_Radio('radio');
     $file = new Zend_Form_Element_File('file');
     $multi = new Zend_Form_Element_MultiCheckbox('multi');
     $captcha = new Zend_Form_Element_Captcha('captcha', array('captcha' => 'Figlet'));
     $submit = new Zend_Form_Element_Button('submit');
     $cancel = new Zend_Form_Element_Button('cancel');
     // config elements
     $mail->setLabel('Mail:')->setAttrib('placeholder', 'data please!')->setRequired(true)->setDescription('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis fringilla purus eget ante ornare vitae iaculis est varius.')->addValidator('emailAddress');
     $name->setLabel('Name:')->setRequired(true);
     $radio->setLabel('Radio:')->setMultiOptions(array('1' => PHP_EOL . 'test1', '2' => PHP_EOL . 'test2'))->setRequired(true);
     $file->setLabel('File:')->setRequired(true)->setDescription('Check file upload');
     $multiOptions = array('view' => PHP_EOL . 'view', 'edit' => PHP_EOL . 'edit', 'comment' => PHP_EOL . 'comment');
     $multi->setLabel('Multi:')->addValidator('Alpha')->setMultiOptions($multiOptions)->setRequired(true);
     $captcha->setLabel('Captcha:')->setRequired(true)->setDescription("This is a test");
     $submit->setLabel('Save')->setAttrib('type', 'submit');
     $cancel->setLabel('Cancel');
     // add elements
     $this->addElements(array($userId, $mail, $name, $radio, $file, $captcha, $multi, $submit, $cancel));
     // add display group
     $this->addDisplayGroup(array('email', 'name', 'radio', 'multi', 'file', 'captcha', 'submit', 'cancel'), 'users');
     // set decorators
     EasyBib_Form_Decorator::setFormDecorator($this, EasyBib_Form_Decorator::BOOTSTRAP_MINIMAL, 'submit', 'cancel');
 }
 /**
  * Construtor da classe
  *
  * @see Twitter_Bootstrap_Form_Vertical
  * @return Auth_form_login_FormLogin|void
  */
 public function init()
 {
     $oTradutor = $this->getTranslator();
     $oBaseUrlHelper = new Zend_View_Helper_BaseUrl();
     $this->setName('form_login')->setAction($oBaseUrlHelper->baseUrl('/auth/login/post'));
     $oElm = $this->createElement('text', 'login');
     $oElm->setLabel('Login');
     $oElm->setAttrib('class', 'span3');
     $oElm->setAttrib('autofocus', 'autofocus');
     $oElm->setRequired(TRUE);
     $this->addElement($oElm);
     $oElm = $this->createElement('password', 'senha');
     $oElm->setLabel('Senha');
     $oElm->setAttrib('class', 'span3');
     $oElm->setRequired(TRUE);
     $this->addElement($oElm);
     $iTotalErros = 0;
     if ($oSessao = new Zend_Session_Namespace('captcha')) {
         $iTotalErros = $oSessao->errors;
     }
     if ($iTotalErros > 0) {
         $oKeysRecaptcha = Zend_Registry::get('config')->recaptcha;
         if (!empty($oKeysRecaptcha->publicKey) && !empty($oKeysRecaptcha->privateKey)) {
             $oRecaptcha = new Zend_Service_ReCaptcha($oKeysRecaptcha->publicKey, $oKeysRecaptcha->privateKey);
             $oRecaptcha->setOption('theme', 'clean');
             $oCaptcha = new Zend_Form_Element_Captcha('challenge', array('captcha' => 'ReCaptcha', 'captchaOptions' => array('captcha' => 'ReCaptcha', 'service' => $oRecaptcha)));
             $oCaptcha->setLabel('Informe as palavras abaixo:');
             $this->addElement($oCaptcha);
         } else {
             $oSessao->errors = 0;
         }
     }
     $this->addElement('submit', 'submit', array('label' => 'Entrar', 'class' => 'pull-right', 'data-loading-text' => $oTradutor->_('Aguarde...'), 'buttonType' => Twitter_Bootstrap_Form_Element_Submit::BUTTON_PRIMARY));
     return $this;
 }
Example #3
0
 private function _createCaptcha()
 {
     $captchaAdapter = new Zend_Captcha_Image();
     $captchaAdapter->setFont('./fonts/times.ttf')->setWordlen(5)->setLineNoiseLevel(4)->setDotNoiseLevel(20)->setMessage('Làm ơn nhập mã xác nhận.', 'badCaptcha');
     $captcha = new Zend_Form_Element_Captcha('captcha', array('captcha' => $captchaAdapter));
     $captcha->setLabel('Mã xác nhận: ')->setRequired(true);
     $captcha = $this->_customizeFormElement($captcha);
     return $captcha;
 }
Example #4
0
 public function init()
 {
     $Ankieta = new Application_Model_DbTable_AnkietyPytania();
     $select = $Ankieta->select(array('id', 'pytanie', 'czy_obrazek'))->where('czy_wyswietlac = ?', 't')->where('sekcja = ?', 'lewa')->where('rodzaj = ?', 'normal')->order('kolejnosc DESC')->order('data_dodania DESC')->order('pytanie ASC')->limit(1);
     //echo $select->__toString();
     $ankieda = $Ankieta->fetchAll($select);
     foreach ($ankieda as $pytanie) {
         $pytania_id[] = $pytanie->id;
         $pytania[] = $pytanie->pytanie;
         $odpowiedziFetch = $pytanie->findApplication_Model_DbTable_AnkietyOdpowiedzi();
         // sortowanie
         $odpowiedziArray = $odpowiedziFetch->toArray();
         usort($odpowiedziArray, create_function('$a, $b', 'if ($a["kolejnosc"] == $b["kolejnosc"]) return 0; return ($a["kolejnosc"] < $b["kolejnosc"]) ? -1 : 1;'));
         // usort($odpowiedziArray, sort_answers($a, $b){
         // return strcmp($a["kolejnosc"], $b["kolejnosc"]);
         // });// sort
         foreach ($odpowiedziArray as $odpowiedz) {
             $odpowiedzi_id[] = $odpowiedz['id'];
             $odpowiedzi[] = $odpowiedz['odpowiedz'];
         }
     }
     $this->addElement('hidden', 'plaintext', array('description' => '<dt id="odpowiedzi-label"><h3 class="tytul">' . $pytania[0] . '</h3></dt>', 'decorators' => array(array('Description', array('escape' => false, 'tag' => '')))));
     $kontrolkaRadio = new Zend_Form_Element_Radio("odpowiedzi[]", array('multiOptions' => array_combine($odpowiedzi_id, $odpowiedzi), 'registerInArrayValidator' => false, 'validators' => array('NotEmpty' => array('validator' => 'NotEmpty', 'options' => array('messages' => 'Musisz wybrać jedną odpowiedź.')))));
     $kontrolkaRadio->setRequired(true);
     $kontrolkaRadio->removeDecorator('Label');
     $kontrolkaRadio->setSeparator(false);
     $this->addElement($kontrolkaRadio);
     if ($ankieda[0]->czy_obrazek == 't') {
         //first create an image type captcha
         $captchaimg = new Zend_Captcha_Image('captchaimg');
         $captchaimg->setFont(APPLICATION_PATH . '/../public/images/tresci/captcha/Tahoma.ttf');
         $captchaimg->setImgDir(APPLICATION_PATH . '/../public/images/tresci/captcha');
         $captchaimg->setImgUrl('/images/tresci/captcha');
         $captchaimg->setWordlen('5');
         $captchaimg->setMessages(array('badCaptcha' => 'Wpisany kod jest nieprawidłowy'));
         //            $captchaimg->generate();
         //create user input for captcha and include the captchaimg in form
         $adcaptcha = new Zend_Form_Element_Captcha('adcaptcha', array('captcha' => $captchaimg));
         $adcaptcha->setLabel('Wpisz kod z obrazka:');
         $adcaptcha->setRequired(true);
         $this->addElement($adcaptcha);
     }
     $kontrolkaSubmit = new Zend_Form_Element_Submit("submit", "Głosuj");
     //        $kontrolkaSubmit->removeDecorator('DtDdWrapper');
     //        $kontrolkaSubmit->setAttribs(array('style' => 'margin-left:130px;'));
     $kontrolkaSubmit->removeDecorator('Label');
     $this->addElement($kontrolkaSubmit);
     $this->addDecorators(array('FormElements', array('HtmlTag', array('tag' => 'div', 'class' => 'sonda-content')), array('Form', array('class' => 'sonda-form'))));
     //echo $pytania_id[0];
     $this->setMethod('post');
     //$url = $view->url(array('controller' => 'sonda', 'action' => 'edit', 'id' => $pytania_id[0]), 'default');
     $url = $this->getView()->url(array('controller' => 'sonda', 'action' => 'edit', 'id' => $pytania_id[0]), 'default');
     $this->setAction($url);
 }
 /**
  * Configure user form.
  *
  * @return void
  */
 public function init()
 {
     // form config
     $this->setMethod('POST');
     $this->setAction('/test/add');
     $this->setAttrib('id', 'testForm');
     /**
      * Add class to form for label alignment
      *
      * - Vertical   .form-vertical   (not required)	Stacked, left-aligned labels over controls (default)
      * - Inline     .form-inline     Left-aligned label and inline-block controls for compact style
      * - Search     .form-search     Extra-rounded text input for a typical search aesthetic
      * - Horizontal .form-horizontal
      *
      * Use .form-horizontal to have same experience as with Bootstrap v1!
      */
     $this->setAttrib('class', 'form-horizontal');
     // create elements
     $userId = new Zend_Form_Element_Hidden('id');
     $mail = new Zend_Form_Element_Text('email');
     $name = new Zend_Form_Element_Text('name');
     $radio = new Zend_Form_Element_Radio('radio');
     $multi = new Zend_Form_Element_MultiCheckbox('multi');
     $captcha = new Zend_Form_Element_Captcha('captcha', array('captcha' => 'Figlet'));
     $submit = new Zend_Form_Element_Button('submit');
     $cancel = new Zend_Form_Element_Button('cancel');
     // config elements
     $userId->addValidator('digits');
     $mail->setLabel('Mail:')->setRequired(true)->addValidator('emailAddress');
     $name->setLabel('Name:')->setRequired(true);
     $radio->setLabel('Radio:')->setMultiOptions(array('1' => PHP_EOL . 'test1', '2' => PHP_EOL . 'test2'))->setRequired(true);
     $multiOptions = array('view' => PHP_EOL . 'view', 'edit' => PHP_EOL . 'edit', 'comment' => PHP_EOL . 'comment');
     $multi->setLabel('Multi:')->addValidator('Alpha')->setMultiOptions($multiOptions)->setRequired(true);
     $captcha->setLabel('Captcha:')->setRequired(true)->setDescription("This is a test");
     $submit->setLabel('Save');
     $cancel->setLabel('Cancel');
     // add elements
     $this->addElements(array($userId, $mail, $name, $radio, $multi, $captcha, $submit, $cancel));
     // add display group
     $this->addDisplayGroup(array('email', 'name', 'radio', 'multi', 'captcha', 'submit', 'cancel'), 'users');
     $this->getDisplayGroup('users')->setLegend('Add User');
     // set decorators
     EasyBib_Form_Decorator::setFormDecorator($this, EasyBib_Form_Decorator::BOOTSTRAP, 'submit', 'cancel');
 }
Example #6
0
 public function init()
 {
     $this->setName('forgotpwd');
     $this->setAttrib('id', 'forgotpwd');
     // Add userId Id Element
     $userId = new Zend_Form_Element_Text('userId');
     $userId->setLabel('User id :')->addFilters(array('StripTags', 'StringTrim', 'StringToLower'))->setRequired(true)->addValidator('NotEmpty')->addValidator(new Zend_Validate_Alnum(array('allowWhiteSpace' => false)))->addValidator(new Zend_Validate_StringLength(array('max' => 100, 'min' => 8)));
     // Add an Email Id Element
     $EmailId = new Zend_Form_Element_Text('email');
     $EmailId->setLabel('Email :')->addFilters(array('StripTags', 'StringTrim', 'StringToLower'))->setRequired(true)->addValidator('NotEmpty')->addValidator(new Zend_Validate_EmailAddress());
     $this->addElements(array($userId, $EmailId));
     // create captcha
     $captcha = new Zend_Form_Element_Captcha('captcha', array('captcha' => 'Figlet', 'captchaOptions' => array('captcha' => 'Figlet', 'wordLen' => 6, 'timeout' => 300)));
     $captcha->setRequired(true)->addFilter('StripTags')->addFilter('StringTrim')->addValidator('NotEmpty');
     $captcha->setLabel('Verification code * :')->setOptions(array('size' => '45'));
     $submit = new Zend_Form_Element_Submit('submit');
     $submit->setAttrib('class', 'form-submit-button');
     $this->addElements(array($captcha, $submit));
     $this->setDecorators(array(array('ViewScript', array('viewScript' => 'viewscripts/forgotPwdVwScript.phtml'))));
 }
Example #7
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;
 }
Example #8
0
 /**
  * Форма регистрации пользователей
  * 
  * @return Zend_Form
  */
 public function getSignupForm()
 {
     // Имя пользователя
     $username = new Zend_Form_Element_Text("username");
     $username->setRequired(true)->addValidator("NotEmpty", true, array("messages" => array("isEmpty" => $this->_translate->_("Не заполнено имя пользователя"))))->addValidator("Callback", true, array("callback" => array($this, "validateUsernameExist"), "messages" => array("callbackValue" => $this->_translate->_("Пользователь с таким именем уже зарегистрирован"))))->setLabel($this->_translate->_("Выберите имя пользователя"));
     // Пароль
     $passw = new Zend_Form_Element_Password("passw");
     $passw->setRequired(true)->addValidator("NotEmpty", true, array("messages" => array("isEmpty" => $this->_translate->_("Не выбран пароль"))))->setLabel($this->_translate->_("Выберите пароль"));
     // Подтверждение пароля
     $repassw = new Zend_Form_Element_Password("repassw");
     $repassw->setRequired(true)->addValidator("NotEmpty", true, array("messages" => array("isEmpty" => $this->_translate->_("Не подтвержден пароль"))))->addValidator("Callback", true, array("callback" => array($this, "validatePasswConfirm"), "messages" => array("callbackValue" => $this->_translate->_("Неверно подтвержден пароль"))))->setLabel($this->_translate->_("Подтвердите пароль"));
     // Email
     $email = new Zend_Form_Element_Text("email");
     $email->setRequired(true)->addValidator("NotEmpty", true, array("messages" => array("isEmpty" => $this->_translate->_("Не указан адрес электронной почты"))))->addValidator("EmailAddress", true, array("messages" => array("emailAddressInvalid" => $this->_translate->_("Неверно указан адрес электронной почты"), "emailAddressInvalidFormat" => $this->_translate->_("Адрес электронной почты имеет неверный формат"))))->addValidator("Callback", true, array("callback" => array($this, "validateEmailExist"), "messages" => array("callbackValue" => $this->_translate->_("Пользователь с таким email уже зарегистрирован"))))->setLabel($this->_translate->_("Адрес электронной почты"));
     // Подтверждение email
     $reemail = new Zend_Form_Element_Text("reemail");
     $reemail->setRequired(true)->addValidator("NotEmpty", true, array("messages" => array("isEmpty" => $this->_translate->_("Не подтвержден адрес электронной почты"))))->addValidator("Callback", true, array("callback" => array($this, "validateEmailConfirm"), "messages" => array("callbackValue" => $this->_translate->_("Неверно подтвержден адрес электронной почты"))))->setLabel($this->_translate->_("Подтвердите адрес электронной почты"));
     // CAPTCHA
     $captcha = Phorm_Captcha_Image::getCaptcha();
     $captcha->setOptions(array("messages" => array("badCaptcha" => $this->_translate->_("Неверно указан код подтверждения"), "missingID" => $this->_translate->_("Неверный идентификатор Captcha"))));
     $captcha = new Zend_Form_Element_Captcha("captcha", array("captcha" => $captcha));
     $captcha->setLabel($this->_translate->_("Код подтверждения"))->setDescription($this->_translate->_("Введите данные с изображения (цифры и латинские буквы)"));
     // Создаем объект формы и добавляем в нее элементы
     $form = Phorm_Form::makeForm();
     $form->addElement($username)->addElement($passw)->addElement($repassw)->addElement($email)->addElement($reemail)->addElement($captcha);
     $form->addElement(new Zend_Form_Element_Submit("Send", $this->_translate->_("Зарегистрировать")));
     return $form;
 }