/** * Initialization form */ public function init() { // Вызываем родительский метод parent::init(); //---------------- Форма ---------------- // Указываем action формы $urlAction = $this->getUrl('login', 'account'); $urlForgotPassword = $this->getUrl('fetchpassword', 'account'); $this->setAction($urlAction); //Зададим метод передачи данных $this->setMethod('post'); // Задаем атрибут class для формы $this->setAttrib('class', 'myfrm span5'); $this->setAttrib('id', 'login-form'); //$this->setAttrib('class', 'row'); //---------- Имя пользователя -------------- $this->addElement('text', 'username', array('label' => 'Имя входа пользователя', 'required' => true, 'filters' => array('StringTrim'))); //---------- Пароль пользователя -------------- $this->addElement('password', 'password', array('label' => 'Пароль', 'required' => true)); //----------- Скрытый элемент для создания ссылки ----------- //если пользователь забыл свой пароль $forgot_password = new Zend_Form_Element_Hidden('forgot_password', array('label' => $this->Translate('Забыли пароль') . '?')); $forgot_password->clearDecorators(); $forgot_password->addDecorator('AnchorLabel', array('href' => $urlForgotPassword)); $this->addElement($forgot_password); //--------- Добавим кнопку ----------- $this->addElement('submit', 'send', array('ignore' => true, 'label' => 'Вход')); $this->getElement('send')->setAttrib('class', 'btn btn-primary'); //---------------- Группа Авторизационные данные ---------------- // Группируем элементы // Группа полей связанных с авторизационными данными $this->addDisplayGroup(array('username', 'password', 'forgot_password', 'send'), 'authDataGroup', array('legend' => 'Авторизационные данные')); //Добавим скрытый элемент для перенаправления входа пользователя $this->addElement('hidden', 'redirect', array()); }
/** * Initialization form */ public function init() { // Вызываем родительский метод parent::init(); //============ Форма ============== // Признак активности сообщения $actual = new Zend_Form_Element_Select('actual', array('label' => 'Актуальный', 'description' => 'Актуальность сообщения позволяет пользователям видеть это сообщение на сайте', 'multiOptions' => array('Да', 'Нет'), 'filters' => array('StringTrim'))); $this->addElement($actual); // Username Text элемент "Имя входа пользователя". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $username = new Zend_Form_Element_Text('username', array('required' => FALSE, 'label' => $this->Translate('Имя входа пользователя') . ' (Login)', 'maxlength' => '30', 'validators' => array(array('Alnum', true, array(true)), array('UserName')), 'filters' => array('StringTrim'))); $this->addElement($username); //Уникальный код (ID) пользователя $user_id = new Zend_Form_Element_Text('user_id', array('label' => 'ID пользователя', 'validators' => array(array('Int'), array('NotEmpty')), 'filters' => array('StringTrim'))); $validator = new Zend_Validate_Db_RecordExists(array('table' => 'users', 'field' => 'id')); $user_id->addValidator($validator); $this->addElement($user_id); //Уникальный код (ID) сообщения $post_id = new Zend_Form_Element_Text('post_id', array('label' => 'ID пользователя', 'validators' => array(array('Int'), array('NotEmpty')), 'filters' => array('StringTrim'))); $validator = new Zend_Validate_Db_RecordExists(array('table' => 'blog_posts', 'field' => 'id')); $post_id->addValidator($validator); $this->addElement($post_id); //Название сообщения $title = new Zend_Form_Element_Text('title', array('label' => 'Название сообщения', 'maxlength' => '255', 'size' => '60', 'validators' => array(array('Alnum', true, array(true)), array('StringLength', true, array(0, 255))), 'filters' => array('StringTrim'))); $this->addElement($title); // Статус статьи $status = new Zend_Form_Element_Select('status', array('required' => FALSE, 'label' => 'Статус сообщения', 'multiOptions' => array('D', 'L'), 'validators' => array(array('PostStatus')), 'filters' => array('StringTrim'))); $this->addElement($status); // url уникальный адрес сообщения $url = new Zend_Form_Element_Text('url', array('required' => FALSE, 'label' => 'URL сообщения', 'filters' => array('StringTrim'))); // Добавление элемента в форму $this->addElement($url); //Дата создания сообщения $ts_created = new Zend_Form_Element_Text('ts_created', array('label' => 'Дата регистрации', 'maxlength' => '10', 'required' => FALSE, 'validators' => array(array('Date', true, array('format' => 'yyyy-MM-dd'))), 'filters' => array('StringTrim'))); $this->addElement($ts_created); //Дата публикации сообщения $ts_published = new Zend_Form_Element_Text('ts_published', array('label' => 'Дата регистрации', 'maxlength' => '19', 'required' => FALSE, 'validators' => array(array('Date', true, array('format' => 'yyyy-MM-dd HH:mm:ss'))), 'filters' => array('StringTrim'))); $this->addElement($ts_published); //Метка сообщения $tag = new Zend_Form_Element_Text('tag', array('label' => 'Метка', 'maxlength' => '255', 'size' => '60', 'validators' => array(array('StringLength', true, array(0, 255))), 'filters' => array('StringTrim'))); $tag->addValidator(new Zend_Validate_Regex(array('pattern' => '/^[\\w-]+$/'))); $this->addElement($tag); //Комментарий $comment = new Zend_Form_Element_Text('comment', array('label' => 'Комментарий', 'maxlength' => '255', 'size' => '60', 'validators' => array(array('StringLength', true, array(0, 255))), 'filters' => array('StringTrim'))); $this->addElement($comment); //Описание $description = new Zend_Form_Element_Text('description', array('label' => 'Описание', 'maxlength' => '255', 'size' => '60', 'validators' => array(array('StringLength', true, array(0, 255))), 'filters' => array('StringTrim'))); $this->addElement($description); }
/** * Initialization form */ public function init() { // Вызываем родительский метод parent::init(); //============ Форма ============== // Признак активности сообщения $actual = new Zend_Form_Element_Select('actual', array('label' => 'Актуальный', 'description' => 'Актуальность сообщения позволяет пользователям видеть это сообщение на сайте', 'multiOptions' => array('Да', 'Нет'), 'filters' => array('StringTrim'))); $this->addElement($actual); // title_info Text элемент "Название информации". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $title_info = new Zend_Form_Element_Text('title_info', array('required' => FALSE, 'label' => $this->Translate('Название информации'), 'maxlength' => '255', 'validators' => array(array('Alnum', true, array(true)), array('NotEmpty'), array('StringLength', true, array(0, 255)), array('NoDbRecordExists', true, array('blog_info', 'title_info'))), 'filters' => array('StringTrim'))); $this->addElement($title_info); // title_info Text элемент "Уникальный ключ для инф. помощи". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $info_key = new Zend_Form_Element_Text('info_key', array('required' => FALSE, 'label' => $this->Translate('Уникальный ключ для инф. помощи'), 'maxlength' => '255', 'validators' => array(array('NotEmpty'), array('StringLength', true, array(0, 255)), array('NoDbRecordExists', true, array('blog_info', 'info_key'))), 'filters' => array('StringTrim'))); $info_key->addValidator(new Zend_Validate_Regex(array('pattern' => '/^[a-z0-9-]+$/'))); $this->addElement($info_key); }
/** * Initialization form */ public function init() { // Вызываем родительский метод parent::init(); //============ Форма ============== //Дата создания записи $ts = new Zend_Form_Element_Text('ts', array('label' => 'Дата записи', 'maxlength' => '10', 'required' => FALSE, 'validators' => array(array('Date', true, array('format' => 'yyyy-MM-dd HH:mm:ss'))), 'filters' => array('StringTrim'))); $this->addElement($ts); // Сообщение лога // Валидатор Alnum использует установленную локаль для определения алфавита символов. $msg = new Zend_Form_Element_Text('msg', array('label' => 'Сообщение лога', 'maxlength' => '1024', 'validators' => array(array('Alnum', true, array(true)), array('NotEmpty'), array('StringLength', true, array(0, 1024))), 'filters' => array('StringTrim'))); $this->addElement($msg); // Номер приоритета $pr = new Zend_Form_Element_Text('pr', array('label' => 'Номер приоритета', 'maxlength' => '10', 'size' => '10', 'validators' => array(array('Int'), array('StringLength', true, array(0, 10))), 'filters' => array('StringTrim'))); $this->addElement($pr); // Название приоритета $pr_name = new Zend_Form_Element_Text('pr_name', array('label' => 'Название приоритета', 'maxlength' => '20', 'validators' => array(array('Alpha', true, array(false)), array('NotEmpty'), array('StringLength', true, array(0, 20))), 'filters' => array('StringTrim'))); $info_key->addValidator(new Zend_Validate_Regex(array('pattern' => '/^[a-zA-Z0-9-]+$/'))); $this->addElement($pr_name); }
/** * Initialization form */ public function init() { parent::init(); //---------------- Форма ---------------- // Указываем action формы $urlAction = $this->getUrl('images', 'blogmanager'); $this->setAction($urlAction); //Зададим метод передачи данных $this->setMethod('post'); // Зададим тип передачи данных на сервер $this->setAttrib('enctype', 'multypart/form-data'); // Задаем атрибут class для формы $this->setAttrib('class', 'myfrm'); $this->setAttrib('id', 'blogpostimage-form'); //--------- Элемент Hidden -----------------// //Добавим скрытый элемент для перенаправления входа пользователя // $elId = new Zend_Form_Element_Hidden('id'); // $this->addElement($elId); // // if ($this->post_id) { // $this->setDefault('id', $this->post_id); // } //--------- Элемент Файл -----------------// $elFile = new Zend_Form_Element_File('image'); $elFile->setLabel('Выбрать файл с локального компьютера'); $path = Default_Model_DbTable_BlogPostImage::GetUploadPath(); $elFile->setDestination($path); //Будем грузить только один файл $elFile->addValidator('Count', false, 1); //Будем грузить файл размером - 1Мб $elFile->addValidator('Size', false, 1024000); //Будем грузить файл типа: JPEG, PNG, GIF $elFile->addValidator('Extension', false, 'jpg,png,gif'); //$elFile->setDecorators(array('ViewHelper')); $this->addElement($elFile); //--------- Кнопка submit -----------------// //Добавим кнопку $this->addElement('submit', 'upload', array('ignore' => true, 'label' => 'Загрузить изображение')); $this->getElement('upload')->setAttrib('class', 'btn btn-primary'); $this->getElement('upload')->setDecorators(array('ViewHelper')); }
/** * Initialization form */ public function init() { parent::init(); //------------ Добавим краткое описание координаты -------------- $elDescription = new Zend_Form_Element_Text('description', array('label' => 'Описание координаты', 'validators' => array(), 'filters' => array(array('StringTrim'), array('StripTags')))); $this->addElement($elDescription); //------------ Добавим содержание координаты -------------- $elContent = new Zend_Form_Element_Textarea('content', array('label' => 'Содержание координаты', 'validators' => array(), 'filters' => array(array('Sanitize')))); $this->addElement($elContent); //------------ Добавим поле подробнее... -------------- $elDetails = new Zend_Form_Element_Textarea('details', array('label' => 'Подробная информация', 'validators' => array(), 'filters' => array(array('Sanitize')))); $this->addElement($elDetails); //------------ Добавим координату по долготе -------------- $elLongitude = new Zend_Form_Element_Text('longitude', array('label' => 'Долгота', 'validators' => array(array('Float', true, array('locale' => 'en'))), 'filters' => array(array('StringTrim')))); $this->addElement($elLongitude); //------------ Добавим координату по широте -------------- $elLatitude = new Zend_Form_Element_Text('latitude', array('label' => 'Широта', 'validators' => array(array('Float', true, array('locale' => 'en'))), 'filters' => array(array('StringTrim')))); $this->addElement($elLatitude); //------------ Добавим коррекцию для правильного отображения окна -------------- $elCorrection = new Zend_Form_Element_Text('correction', array('label' => 'Коррекция', 'validators' => array(array('Int', true, array('locale' => 'en'))), 'filters' => array(array('StringTrim')))); $this->addElement($elCorrection); }
/** * Initialization form */ public function init() { parent::init(); //---------------- Форма ---------------- // Указываем action формы $urlAction = $this->getUrl('fetchpassword', 'account'); $this->setAction($urlAction); //Зададим метод передачи данных $this->setMethod('post'); // Задаем атрибут class для формы //$this->setAttrib('class', 'login'); $this->setAttrib('class', 'myfrm'); $this->setAttrib('id', 'fetchpassword-form'); $this->addElement('text', 'username', array('label' => 'Имя входа пользователя', 'required' => true, 'filters' => array('StringTrim'))); //Добавим кнопку $this->addElement('submit', 'send', array('ignore' => true, 'label' => 'Получить пароль')); $this->getElement('send')->setAttrib('class', 'btn btn-primary'); //---------------- Группа Авторизационные данные ---------------- // Группируем элементы // Группа полей связанных с авторизационными данными $this->addDisplayGroup(array('username', 'send'), 'authDataGroup', array('legend' => 'Получить Ваш Новый Пароль')); }
/** * Initialization form */ public function init() { parent::init(); //---------------- Форма ---------------- // Указываем action формы $urlAction = $this->getUrl('edit', 'blogmanager'); $urlAction .= '?id=' . $this->post->getId(); $this->setAction($urlAction); //Зададим метод передачи данных $this->setMethod('post'); // Задаем атрибут class для формы $this->setAttrib('class', 'myfrm'); $this->setAttrib('id', 'blogpost-form'); //------------ Добавим краткое название блога -------------- $elTitle = new Zend_Form_Element_Text('title', array('label' => 'Название', 'maxlength' => '255', 'size' => '60', 'required' => true, 'validators' => array(array('StringLength', true, array(0, 255))), 'filters' => array(array('StringTrim'), array('StripTags')))); //Установим название, если блог существует $this->addElement($elTitle); if ($this->post->profile->title) { $this->setDefault('title', $this->post->profile->title); } //---------------- Дата создания записи в блоге ---------------- // Элемент "Дата создания". Элемент содержит нестандартный декоратор - javascript календарь $elDatePost = new Zend_Form_Element_Text('ts_created', array('label' => 'Дата создания', 'maxlength' => '10', 'required' => true, 'validators' => array(array('Date', true, array('locale' => $this->_language))), 'filters' => array('StringTrim'))); // Удаляем все существующие декораторы, назначенные по умолчанию $elDatePost->clearDecorators(); // Назначаем новые, включая наш декоратор Calendar // Это необходимо для того что бы изображение календаря размещалось сразу за полем ввода $elDatePost->addDecorator('ViewHelper')->addDecorator('Calendar')->addDecorator('Errors')->addDecorator('HtmlTag', array('tag' => 'dd'))->addDecorator('Label', array('tag' => 'dt')); $this->addElement($elDatePost); //Установим дату по умолчанию // $tsCreated = $this->post->ts_created; $locale = Default_Plugin_SysBox::getTranslateLocale(); $format = Default_Plugin_SimpleDate::get_format_display_date($locale); $sd = new Default_Plugin_SimpleDate($this->post->ts_created); $this->setDefault('ts_created', $sd->to_display_date($format)); //---------- Добавим элемент описания сообщения в блоге ------------ //$this->addElement('textarea', 'content', array( $elDescription = new Zend_Form_Element_Textarea('ckeditor_description', array('label' => $this->Translate('Краткое описание сообщения') . ':', 'required' => false, 'validators' => array(), 'filters' => array('Sanitize'))); $this->addElement($elDescription); //Установим краткое описание сообщения, если оно существует if ($this->post->profile->description) { $this->setDefault('ckeditor_description', $this->post->profile->description); } //---------- Добавим элемент содержания блога ------------ //$this->addElement('textarea', 'content', array( $elContent = new Zend_Form_Element_Textarea('ckeditor_content', array('label' => $this->Translate('Ваше сообщение') . ':', 'required' => true, 'filters' => array('Sanitize'))); $this->addElement($elContent); //Установим содержания блога, если оно существует if ($this->post->profile->content) { $this->setDefault('ckeditor_content', $this->post->profile->content); } //-------- Добавим кнопки -------------- //Установим значение кнопки сохранить $this->addElement('submit', 'save', array('ignore' => true, 'label' => 'Сохранить')); $this->getElement('save')->setAttrib('class', 'btn btn-primary'); //Перезапишем стандартные декораторы, для размещения двух кнопок рядом $this->getElement('save')->setDecorators(array('ViewHelper')); //Установим значение кнопки закрыть $this->addElement('submit', 'close', array('ignore' => true, 'label' => 'Закрыть')); $this->getElement('close')->setAttrib('class', 'btn'); //Перезапишем стандартные декораторы, для размещения двух кнопок рядом $this->getElement('close')->setDecorators(array('ViewHelper')); //---------------- Группа данные блога ---------------- // Группируем элементы // Группа полей связанных с авторизационными данными $this->addDisplayGroup(array('title', 'ts_created', 'ckeditor_description', 'ckeditor_content', 'save', 'close'), 'blogDataGroup', array('legend' => 'Подробная информация')); }
/** * Initialization form */ public function init() { // Вызываем родительский метод parent::init(); //---------------- Форма ---------------- // Указываем action формы $urlAction = $this->getUrl('details', 'account'); $this->setAction($urlAction); // Указываем метод формы $this->setMethod('post'); // Задаем атрибут class для формы //$this->setAttrib('class', 'register'); $this->setAttrib('class', 'myfrm'); $this->setAttrib('id', 'details-form'); //---------------- Группа Обновляемые данные пользователя ---------------- // Username Text элемент "Имя входа пользователя". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $username = new Zend_Form_Element_Text('username', array('required' => FALSE, 'label' => $this->Translate('Имя входа пользователя') . ' (Login)', 'maxlength' => '30', 'validators' => array(array('Alnum', true, array(true)), array('UserName'), array('NoDbRecordExists', true, array('users', 'username'))), 'filters' => array('StringTrim'))); $this->addElement($username); // Тип пользователя (роль) $user_type = new Zend_Form_Element_Select('user_type', array('required' => FALSE, 'label' => 'Тип пользователя (роль)', 'multiOptions' => array('commentator', 'member', 'editor', 'administrator'), 'validators' => array(array('UserType')), 'filters' => array('StringTrim'))); $this->addElement($user_type); // Признак активности пользователя $actual = new Zend_Form_Element_Select('actual', array('label' => 'Активен', 'description' => 'Активность пользователя позволяет ему заходить на сайт и создавать свои сообщения', 'multiOptions' => array('Да', 'Нет'), 'filters' => array('StringTrim'))); $this->addElement($actual); // Email Используемый собственный элемент App_Form_Element_Email $email = new Default_Form_Element_Email('email', array('required' => FALSE)); // Добавление элемента в форму $this->addElement($email); // Password элемент "Пароль". Значение проверяется валидатором App_Validate_Password $password = new Zend_Form_Element_Password('password', array('required' => FALSE, 'label' => 'Пароль', 'maxlength' => '30', 'validators' => array('PasswordAdmin'))); $this->addElement($password); // Элемент "Подтверждение пароля". // Проверяется на совпадение с полем "Пароль" валидатором App_Validate_EqualInputs $passwordApprove = new Zend_Form_Element_Password('password_approve', array('required' => FALSE, 'label' => 'Подтвердите пароль', 'maxlength' => '30', 'validators' => array(array('EqualInputs', true, array('password'))))); $this->addElement($passwordApprove); //First name user // Text элемент "Имя пользователя". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $first_name = new Zend_Form_Element_Text('first_name', array('label' => 'Имя пользователя', 'maxlength' => '150', 'size' => '60', 'validators' => array(array('Alnum', true, array(true)), array('StringLength', true, array(0, 150))), 'filters' => array('StringTrim'))); $this->addElement($first_name); //Last name user // Text элемент "Фамилия пользователя". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $last_name = new Zend_Form_Element_Text('last_name', array('label' => 'Фамилия пользователя', 'maxlength' => '150', 'size' => '60', 'validators' => array(array('Alnum', true, array(true)), array('StringLength', true, array(0, 150))), 'filters' => array('StringTrim'))); $this->addElement($last_name); //Дата регистрации пользователя // Элемент "Дата рождения". Элемент содержит нестандартный декоратор - javascript календарь $ts_created = new Zend_Form_Element_Text('ts_created', array('label' => 'Дата регистрации', 'maxlength' => '10', 'required' => FALSE, 'validators' => array(array('Date', true, array('format' => 'yyyy-MM-dd'))), 'filters' => array('StringTrim'))); // Удаляем все существующие декораторы, назначенные по умолчанию $ts_created->clearDecorators(); // Назначаем новые, включая наш декоратор Calendar // Это необходимо для того что бы изображение календаря размещалось сразу за полем ввода $ts_created->addDecorator('ViewHelper')->addDecorator('Calendar')->addDecorator('Errors')->addDecorator('HtmlTag', array('tag' => 'dd'))->addDecorator('Label', array('tag' => 'dt')); $this->addElement($ts_created); //---------------- Настройки профиля ---------------- // "Кол. сообщений в блоге" $num_posts = new Zend_Form_Element_Text('num_posts', array('label' => 'Количество сообщений в блоге', 'description' => 'Количество сообщений в блоге, которое Вы хотели бы показать, на вашей домашней странице', 'maxlength' => '20', 'size' => '20', 'validators' => array(array('Int'), array('StringLength', true, array(0, 20))), 'filters' => array('StringTrim'))); $this->addElement($num_posts); // Признак публикации сообщений $blog_public = new Zend_Form_Element_Select('blog_public', array('label' => 'Публиковать Ваши сообщения?', 'description' => 'Хотите ли вы позволить просматривать ваши сообщения незарегистрированным пользователям?', 'multiOptions' => array('Нет', 'Да'), 'filters' => array('StringTrim'))); $this->addElement($blog_public); //---------------- Группа публичные данные пользователя ---------------- //First name user // Text элемент "Имя пользователя". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $public_first_name = new Zend_Form_Element_Text('public_first_name', array('label' => 'Имя пользователя', 'maxlength' => '150', 'size' => '60', 'validators' => array(array('Alnum', true, array(true)), array('StringLength', true, array(0, 150))), 'filters' => array('StringTrim'))); $this->addElement($public_first_name); //Last name user // Text элемент "Фамилия пользователя". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $public_last_name = new Zend_Form_Element_Text('public_last_name', array('label' => 'Фамилия пользователя', 'maxlength' => '150', 'size' => '60', 'validators' => array(array('Alnum', true, array(true)), array('StringLength', true, array(0, 150))), 'filters' => array('StringTrim'))); $this->addElement($public_last_name); // Email Используемый собственный элемент App_Form_Element_Email $public_email = new Default_Form_Element_Email('public_email', array('required' => FALSE)); // Добавление элемента в форму $this->addElement($public_email); //Public home phome // Text элемент "домашний телефон пользователя". Проверяется на цифры, а также на длину // 14 символов -> 0 380 044 XXX-XXXX $public_home_phone = new Zend_Form_Element_Text('public_home_phone', array('label' => 'Домашний телефон', 'maxlength' => '14', 'size' => '20', 'validators' => array(array('Int'), array('StringLength', true, array(0, 14))), 'filters' => array('StringTrim'))); $this->addElement($public_home_phone); //Public home phome // Text элемент "рабочий телефон пользователя". Проверяется на цифры, а также на длину // 14 символов -> 0 380 044 XXX-XXXX $public_work_phone = new Zend_Form_Element_Text('public_work_phone', array('label' => 'Рабочий телефон', 'maxlength' => '14', 'size' => '20', 'validators' => array(array('Int'), array('StringLength', true, array(0, 14))), 'filters' => array('StringTrim'))); $this->addElement($public_work_phone); //Public home phome // Text элемент "мобильный телефон пользователя". Проверяется на цифры, а также на длину // 14 символов -> 096 XXXX XXX $public_mobile_phone = new Zend_Form_Element_Text('public_mobile_phone', array('label' => 'Мобильный телефон', 'maxlength' => '10', 'size' => '20', 'validators' => array(array('Int'), array('StringLength', true, array(0, 10))), 'filters' => array('StringTrim'))); $this->addElement($public_mobile_phone); //---------------- Submit ---------------- // Кнопка Submit $submit = new Zend_Form_Element_Submit('send', array('label' => 'Сохранить')); // Перезаписываем декораторы, что-бы //перезаписать стандартный набор декораторов для кнопки 'submit' $submit->setDecorators(array('ViewHelper')); $this->addElement($submit); //---------------- Группа Обновляемые данные пользователя ---------------- // Группируем элементы // Группа полей связанных с авторизационными данными $this->addDisplayGroup(array('username', 'user_type', 'actual', 'email', 'first_name', 'last_name', 'password', 'password_approve', 'ts_created'), 'authDataGroup', array('legend' => 'Личные данные пользователя')); //---------------- Группа настроек профиля ---------------- // Группа полей связанных с настройками профиля $this->addDisplayGroup(array('num_posts', 'blog_public'), 'configProfile', array('legend' => 'Настройки профиля')); //---------------- Группа Публичные данные пользователя ---------------- // Группа полей связанных с личной информацией $this->addDisplayGroup(array('public_first_name', 'public_last_name', 'public_email', 'public_home_phone', 'public_work_phone', 'public_mobile_phone'), 'publicDataGroup', array('legend' => 'Публичные данные пользователя')); //---------------- Группа полей кнопок ---------------- // Группа полей кнопок $this->addDisplayGroup(array('send'), 'buttonsGroup'); }
/** * Initialization form */ public function init() { parent::init(); //---------------- Форма ---------------- // Указываем action формы $urlAction = $this->getUrl('register', 'account'); $this->setAction($urlAction); // Указываем метод формы $this->setMethod('post'); // Задаем атрибут class для формы //$this->setAttrib('class', 'register'); $this->setAttrib('class', 'myfrm span5'); $this->setAttrib('id', 'registration-form'); //---------------- Username ---------------- // Text элемент "Имя входа пользователя". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $username = new Zend_Form_Element_Text('username', array('required' => true, 'label' => $this->Translate('Имя входа пользователя') . ' (Login)', 'maxlength' => '30', 'validators' => array(array('Alnum', true, array(true)), array('UserName'), array('NoDbRecordExists', true, array('users', 'username'))), 'filters' => array('StringTrim'))); $this->addElement($username); //---------------- Email ---------------- // Используемый собственный элемент App_Form_Element_Email $email = new Default_Form_Element_Email('email', array('required' => true)); // Добавление элемента в форму $this->addElement($email); //---------------- First name user ---------------- // Text элемент "Имя пользователя". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $first_name = new Zend_Form_Element_Text('first_name', array('label' => 'Имя пользователя', 'maxlength' => '150', 'size' => '60', 'validators' => array(array('Alnum', true, array(true)), array('StringLength', true, array(0, 150))), 'filters' => array('StringTrim'))); $this->addElement($first_name); //---------------- Last name user ---------------- // Text элемент "Фамилия пользователя". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $last_name = new Zend_Form_Element_Text('last_name', array('label' => 'Фамилия пользователя', 'maxlength' => '150', 'size' => '60', 'validators' => array(array('Alnum', true, array(true)), array('StringLength', true, array(0, 150))), 'filters' => array('StringTrim'))); $this->addElement($last_name); //---------------- Captcha ---------------- // Элемент CAPTCHA, защита от спама $urlBase = Default_Plugin_SysBox::getBaseURL(); $captcha = new Zend_Form_Element_Captcha('captcha', array('label' => 'Введите символы', 'captcha' => array('captcha' => 'Image', 'wordLen' => 4, 'width' => 260, 'timeout' => 120, 'expiration' => 300, 'font' => APPLICATION_PUBLIC . '/fonts/arial.ttf', 'imgDir' => APPLICATION_PUBLIC . '/images/captcha/', 'imgUrl' => $urlBase . '/images/captcha/', 'gcFreq' => 5))); $this->addElement($captcha); //---------------- Submit ---------------- // Кнопка Submit $submit = new Zend_Form_Element_Submit('send', array('label' => 'Зарегистрироваться')); $submit->setAttrib('class', 'btn btn-primary'); // Перезаписываем декораторы, что-бы //перезаписать стандартный набор декораторов для кнопки 'submit' $submit->setDecorators(array('ViewHelper')); $this->addElement($submit); //---------------- Reset ---------------- // Кнопка Reset, возвращает форму в начальное состояние $reset = new Zend_Form_Element_Reset('reset', array('label' => 'Очистить')); $reset->setAttrib('class', 'btn'); // Перезаписываем декораторы, что-бы выставить две кнопки в ряд $reset->setDecorators(array('ViewHelper')); $this->addElement($reset); //---------------- Группа Авторизационные данные ---------------- // Группируем элементы // Группа полей связанных с авторизационными данными $this->addDisplayGroup(array('username', 'email'), 'authDataGroup', array('legend' => 'Авторизационные данные')); //---------------- Группа Личная информация ---------------- // Группа полей связанных с личной информацией $this->addDisplayGroup(array('first_name', 'last_name'), 'privateDataGroup', array('legend' => 'Личная информация')); //---------------- Группа Защита от спама ---------------- // Защита от спама $this->addDisplayGroup(array('captcha'), 'captchaGroup', array('legend' => 'Защита от спама')); //---------------- Группа полей кнопок ---------------- $this->addDisplayGroup(array('send', 'reset'), 'buttonsGroup'); }
/** * Initialization form */ public function init() { parent::init(); //---------------- Форма ---------------- // Указываем action формы $urlAction = $this->getRouteUrl('get_comments', array('username' => $this->username, 'post_id' => $this->post_id)); $this->setAction($urlAction); // Указываем метод формы $this->setMethod('post'); // Задаем атрибут class для формы //$this->setAttrib('class', 'register'); $this->setAttrib('class', 'myfrm'); $this->setAttrib('id', 'form-add-comment'); //---------------- Комментарий ---------------- // Text элемент $ckeditor_comment = new Zend_Form_Element_Textarea('ckeditor_comment', array('label' => $this->Translate('Текст комментария') . ':', 'required' => TRUE, 'rows' => 12, 'cols' => 60, 'validators' => array(array('StringLength', true, array(0, 1024))), 'filters' => array('Sanitize'))); $this->addElement($ckeditor_comment); //---------------- Captcha ---------------- // Элемент CAPTCHA, защита от спама // $urlBase = Default_Plugin_SysBox::getBaseURL(); // $captcha = new Zend_Form_Element_Captcha('captcha', array( // 'label' => 'Введите символы', // 'captcha' => array( // 'captcha' => 'Image', // Тип CAPTCHA // 'wordLen' => 4, // Количество генерируемых символов // 'width' => 260, // Ширина изображения // 'timeout' => 120, // Время жизни сессии хранящей символы 120 // 'expiration' => 300, // Время жизни изображения в файловой системе // 'font' => APPLICATION_PUBLIC . '/fonts/arial.ttf', // Путь к шрифту // 'imgDir' => APPLICATION_PUBLIC . '/images/captcha/', // Путь к изобр. // 'imgUrl' => $urlBase . '/images/captcha/', // Адрес папки с изображениями // 'gcFreq' => 5 // Частота вызова сборщика мусора // ), // )); // // $this->addElement($captcha); //----------- Скрытый элемент уникального кода автора сообщения ----------- // $user_id = new Zend_Form_Element_Hidden('user_id'); // $user_id->setValue($this->user_id); // $this->addElement($user_id); //---------------- Submit ---------------- // Кнопка Submit $send_comment = new Zend_Form_Element_Submit('send_comment', array('label' => 'Комментировать')); $send_comment->setAttrib('class', 'btn btn-primary'); // Перезаписываем декораторы, что-бы //перезаписать стандартный набор декораторов для кнопки 'submit' $send_comment->setDecorators(array('ViewHelper')); $this->addElement($send_comment); //---------------- Reset ---------------- // Кнопка Reset, возвращает форму в начальное состояние $reset_comment = new Zend_Form_Element_Reset('reset_comment', array('label' => 'Очистить')); $reset_comment->setAttrib('class', 'btn'); // Перезаписываем декораторы, что-бы выставить две кнопки в ряд $reset_comment->setDecorators(array('ViewHelper')); $this->addElement($reset_comment); //---------------- Группа комментария ---------------- // Защита от спама $this->addDisplayGroup(array('ckeditor_comment'), 'commentGroup', array('legend' => 'Оставить свой комментарий')); //---------------- Группа полей кнопок ---------------- $this->addDisplayGroup(array('send_comment', 'reset_comment'), 'buttonsGroup'); }
/** * Initialization form */ public function init() { parent::init(); $this->_isCommentator = $this->_user_type == 'commentator'; //---------------- Форма ---------------- // Указываем action формы $urlAction = $this->getUrl('details', 'account'); $this->setAction($urlAction); // Указываем метод формы $this->setMethod('post'); // Задаем атрибут class для формы //$this->setAttrib('class', 'register'); $this->setAttrib('class', 'myfrm span5'); $this->setAttrib('id', 'details-form'); //---------------- Группа Обновляемые данные пользователя ---------------- // Email Используемый собственный элемент App_Form_Element_Email $email = new Default_Form_Element_Email('email', array('required' => FALSE)); // Добавление элемента в форму $this->addElement($email); // Password элемент "Пароль". Значение проверяется валидатором App_Validate_Password $password = new Zend_Form_Element_Password('password', array('required' => FALSE, 'label' => 'Пароль', 'maxlength' => '30', 'validators' => array('Password'))); $this->addElement($password); // Элемент "Подтверждение пароля". // Проверяется на совпадение с полем "Пароль" валидатором App_Validate_EqualInputs $passwordApprove = new Zend_Form_Element_Password('password_approve', array('required' => FALSE, 'label' => 'Подтвердите пароль', 'maxlength' => '30', 'validators' => array(array('EqualInputs', true, array('password'))))); $this->addElement($passwordApprove); //First name user // Text элемент "Имя пользователя". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $first_name = new Zend_Form_Element_Text('first_name', array('label' => 'Имя пользователя', 'maxlength' => '150', 'size' => '60', 'validators' => array(array('Alnum', true, array(true)), array('StringLength', true, array(0, 150))), 'filters' => array('StringTrim'))); $this->addElement($first_name); //Last name user // Text элемент "Фамилия пользователя". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $last_name = new Zend_Form_Element_Text('last_name', array('label' => 'Фамилия пользователя', 'maxlength' => '150', 'size' => '60', 'validators' => array(array('Alnum', true, array(true)), array('StringLength', true, array(0, 150))), 'filters' => array('StringTrim'))); $this->addElement($last_name); if (!$this->_isCommentator) { //---------------- Настройки профиля ---------------- // "Кол. сообщений в блоге" $num_posts = new Zend_Form_Element_Text('num_posts', array('label' => 'Количество сообщений в блоге', 'description' => 'Количество сообщений в блоге, которое Вы хотели бы показать, на вашей домашней странице', 'maxlength' => '20', 'size' => '20', 'validators' => array(array('Int'), array('StringLength', true, array(0, 20))), 'filters' => array('StringTrim'))); $this->addElement($num_posts); // Признак публикации сообщений $blog_public = new Zend_Form_Element_Select('blog_public', array('label' => 'Публиковать Ваши сообщения?', 'description' => 'Хотите ли вы позволить просматривать ваши сообщения незарегистрированным пользователям?', 'multiOptions' => array('Нет', 'Да'), 'filters' => array('StringTrim'))); $this->addElement($blog_public); //---------------- Группа Обновляемые данные пользователя ---------------- //First name user // Text элемент "Имя пользователя". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $public_first_name = new Zend_Form_Element_Text('public_first_name', array('label' => 'Имя пользователя', 'maxlength' => '150', 'size' => '60', 'validators' => array(array('Alnum', true, array(true)), array('StringLength', true, array(0, 150))), 'filters' => array('StringTrim'))); $this->addElement($public_first_name); //Last name user // Text элемент "Фамилия пользователя". Проверяется на алфавитные символы и цифры, а также на длину // Валидатор Alnum использует установленную локаль для определения алфавита символов. $public_last_name = new Zend_Form_Element_Text('public_last_name', array('label' => 'Фамилия пользователя', 'maxlength' => '150', 'size' => '60', 'validators' => array(array('Alnum', true, array(true)), array('StringLength', true, array(0, 150))), 'filters' => array('StringTrim'))); $this->addElement($public_last_name); // Email Используемый собственный элемент App_Form_Element_Email $public_email = new Default_Form_Element_Email('public_email', array('required' => FALSE)); // Добавление элемента в форму $this->addElement($public_email); //Public home phome // Text элемент "домашний телефон пользователя". Проверяется на цифры, а также на длину // 14 символов -> 0 380 044 XXX-XXXX $public_home_phone = new Zend_Form_Element_Text('public_home_phone', array('label' => 'Домашний телефон', 'maxlength' => '14', 'size' => '20', 'validators' => array(array('Int'), array('StringLength', true, array(0, 14))), 'filters' => array('StringTrim'))); $this->addElement($public_home_phone); //Public home phome // Text элемент "рабочий телефон пользователя". Проверяется на цифры, а также на длину // 14 символов -> 0 380 044 XXX-XXXX $public_work_phone = new Zend_Form_Element_Text('public_work_phone', array('label' => 'Рабочий телефон', 'maxlength' => '14', 'size' => '20', 'validators' => array(array('Int'), array('StringLength', true, array(0, 14))), 'filters' => array('StringTrim'))); $this->addElement($public_work_phone); //Public home phome // Text элемент "мобильный телефон пользователя". Проверяется на цифры, а также на длину // 14 символов -> 096 XXXX XXX $public_mobile_phone = new Zend_Form_Element_Text('public_mobile_phone', array('label' => 'Мобильный телефон', 'maxlength' => '10', 'size' => '20', 'validators' => array(array('Int'), array('StringLength', true, array(0, 10))), 'filters' => array('StringTrim'))); $this->addElement($public_mobile_phone); } //---------------- Submit ---------------- // Кнопка Submit $submit = new Zend_Form_Element_Submit('send', array('label' => 'Сохранить')); $submit->setAttrib('class', 'btn btn-primary'); // Перезаписываем декораторы, что-бы //перезаписать стандартный набор декораторов для кнопки 'submit' $submit->setDecorators(array('ViewHelper')); $this->addElement($submit); //---------------- Группа Обновляемые данные пользователя ---------------- // Группируем элементы // Группа полей связанных с авторизационными данными $this->addDisplayGroup(array('email', 'first_name', 'last_name', 'password', 'password_approve'), 'authDataGroup', array('legend' => 'Личные данные пользователя')); if (!$this->_isCommentator) { //---------------- Группа настроек профиля ---------------- // Группа полей связанных с настройками профиля $this->addDisplayGroup(array('num_posts', 'blog_public'), 'configProfile', array('legend' => 'Настройки профиля')); //---------------- Группа Публичные данные пользователя ---------------- // Группа полей связанных с личной информацией $this->addDisplayGroup(array('public_first_name', 'public_last_name', 'public_email', 'public_home_phone', 'public_work_phone', 'public_mobile_phone'), 'publicDataGroup', array('legend' => 'Публичные данные пользователя')); } //---------------- Группа полей кнопок ---------------- // Группа полей кнопок $this->addDisplayGroup(array('send'), 'buttonsGroup'); }