Esempio n. 1
0
 /**
  * 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());
 }
Esempio n. 2
0
 /**
  * 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);
 }
Esempio n. 3
0
 /**
  * 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);
 }
Esempio n. 4
0
 /**
  * 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);
 }
Esempio n. 5
0
 /**
  * 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'));
 }
Esempio n. 6
0
 /**
  * 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);
 }
Esempio n. 7
0
 /**
  * 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' => 'Получить Ваш Новый Пароль'));
 }
Esempio n. 8
0
 /**
  * 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' => 'Подробная информация'));
 }
Esempio n. 9
0
 /**
  * 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');
 }
Esempio n. 10
0
 /**
  * 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');
 }
Esempio n. 11
0
 /**
  * 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');
 }
Esempio n. 12
0
 /**
  * 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');
 }