Ejemplo n.º 1
0
 public function init()
 {
     Zend_Loader::loadClass('Zend_Validate_Regex');
     $this->translate = Zend_Registry::get('translate');
     //Zend_Form::setDefaultTranslator( Zend_Registry::get('translate') );
     // set method to POST
     $this->setMethod('post');
     /*
      * hidden fields
      */
     $acl = $this->addElement('hidden', 'acl', array('decorators' => $this->elDecorators));
     $role_id = $this->addElement('hidden', 'role_id', array('decorators' => $this->elDecorators));
     /*
      * Order role
      */
     $order = $this->createElement('text', 'order', array('label' => $this->translate->_('Order') . '*', 'required' => true, 'size' => 3, 'maxlength' => 5));
     $order->addValidator('Int')->setRequired(true);
     /*
      * Name role
      */
     $name = $this->createElement('text', 'role_name', array('label' => $this->translate->_('Name') . '*', 'required' => true, 'size' => 30, 'maxlength' => 50));
     $name_validator = new Zend_Validate_Regex('/^[a-zA-Z0-9_]+$/');
     $name_validator->setMessage($this->translate->_('Role name incorrect. This contains only english alphabetical characters, digits and underscore.'));
     $name->addValidator('StringLength', false, array(2, 50))->addValidator($name_validator)->setRequired(true);
     /*
      * Description role
      */
     $description = $this->createElement('textarea', 'description', array('label' => $this->translate->_('Description') . '*', 'required' => true, 'cols' => 50, 'rows' => 3));
     $description->setRequired(true);
     /*
      * Inherited role id
      */
     Zend_Loader::loadClass('Wbroles');
     $table = new Wbroles();
     if ($this->_roleid) {
         $where = $table->getAdapter()->quoteInto('id != ?', $this->_roleid);
     } else {
         $where = null;
     }
     $rows = $table->fetchAll($where, 'id');
     // create element
     $inherit_id = $this->createElement('select', 'inherit_id', array('label' => $this->translate->_('Inherited role'), 'class' => 'ui-select', 'size' => 10));
     $inherit_id->addMultiOption('', '');
     foreach ($rows as $v) {
         $inherit_id->addMultiOption($v['id'], $v['name']);
     }
     unset($table);
     /*
      * submit button
      */
     $submit = new Zend_Form_Element_Submit('submit', array('decorators' => $this->elDecorators, 'id' => 'ok_' . __CLASS__, 'class' => 'prefer_btn', 'label' => $this->translate->_('Submit Form')));
     /*
      * reset button
      */
     $reset = new Zend_Form_Element_Reset('reset', array('decorators' => $this->elDecorators, 'id' => 'reset_' . __CLASS__, 'label' => $this->translate->_('Cancel')));
     /*
      *  add elements to form
      */
     $this->addElements(array($order, $name, $description, $inherit_id, $submit, $reset));
 }
Ejemplo n.º 2
0
 public function init()
 {
     Zend_Loader::loadClass('Zend_Validate_Regex');
     $this->translate = Zend_Registry::get('translate');
     //Zend_Form::setDefaultTranslator( Zend_Registry::get('translate') );
     // set method to POST
     $this->setMethod('post');
     /*
      * hidden fields
      */
     $user_id = $this->addElement('hidden', 'user_id', array('decorators' => $this->elDecorators));
     $action_id = $this->addElement('hidden', 'action_id', array('decorators' => $this->elDecorators));
     /*
      * Login
      */
     $login = $this->createElement('text', 'login', array('label' => $this->translate->_('Login') . '*', 'required' => true, 'size' => 30, 'maxlength' => 50));
     $login_validator = new Zend_Validate_Regex('/^[a-zA-Z0-9_]+$/');
     $login_validator->setMessage($this->translate->_('Login incorrect. Login contains only english alphabetical characters, digits and underscore.'));
     $login->addValidator('StringLength', false, array(2, 50))->addValidator($login_validator)->setRequired(true);
     /*
      * Password
      */
     $pwd_label = $this->translate->_('Password');
     if ($this->_action != 'update') {
         $pwd_label .= '*';
     }
     $pwd = $this->createElement('password', 'pwd', array('label' => $pwd_label, 'size' => 25, 'maxlength' => 50));
     $pwd->addValidator('StringLength', false, array(1, 50));
     if ($this->_action != 'update') {
         $pwd->setRequired(true);
     }
     /*
      * Name
      */
     $name = $this->createElement('text', 'name', array('label' => $this->translate->_('Name'), 'required' => false, 'size' => 40, 'maxlength' => 150));
     $name->addValidator('StringLength', false, array(2, 150));
     /*
      * Email
      */
     $email = $this->createElement('text', 'email', array('label' => $this->translate->_('Email'), 'required' => false, 'size' => 30, 'maxlength' => 50));
     $email_validator = new Zend_Validate_Regex('/^(.+)@([^@]+)$/');
     $email_validator->setMessage($this->translate->_('Email incorrect.'));
     $email->addValidator('StringLength', false, array(3, 50))->addValidator($email_validator);
     /*
      *  active
      */
     $active = $this->createElement('checkbox', 'active', array('label' => $this->translate->_('Active'), 'checked' => 1));
     /*
      * Role id
      */
     Zend_Loader::loadClass('Wbroles');
     $table = new Wbroles();
     $rows = $table->fetchAll(null, 'id');
     // create element
     $role_id = $this->createElement('select', 'role_id', array('label' => $this->translate->_('Role') . '*', 'class' => 'ui-select', 'size' => 10));
     foreach ($rows as $v) {
         $role_id->addMultiOption($v['id'], $v['name']);
     }
     $role_id->setRequired(true);
     unset($table);
     /*
      * submit button
      */
     $submit = new Zend_Form_Element_Submit('submit', array('decorators' => $this->elDecorators, 'id' => 'ok_' . __CLASS__, 'class' => 'prefer_btn', 'label' => $this->translate->_('Submit Form')));
     /*
      * reset button
      */
     $reset = new Zend_Form_Element_Reset('reset', array('decorators' => $this->elDecorators, 'id' => 'reset_' . __CLASS__, 'label' => $this->translate->_('Cancel')));
     /*
      *  add elements to form
      */
     $this->addElements(array($login, $pwd, $name, $email, $active, $role_id, $action_id, $submit, $reset));
 }