Advertisement
Guest User

Untitled

a guest
May 26th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.71 KB | None | 0 0
  1. <?php
  2.  
  3. class Application_Form_SignupLite extends Zend_Form
  4. {
  5.  
  6.     public function init()
  7.     {
  8.         $this->setName('signup');
  9.        
  10.         $em = Zend_Registry::get('Doctrine_EntityManager');
  11.        
  12.         $form = array();
  13.                
  14.         $this->username = $form[] = new Zend_Form_Element_Text('username');
  15.         $this->username
  16.             ->setLabel('Username')
  17.             ->setRequired(true)
  18.             ->addFilter('StripTags')
  19.             ->addFilter('StringTrim')
  20.             ->addValidator('NotEmpty');
  21.  
  22.         $this->password = $form[] = new Zend_Form_Element_Password('password');
  23.         $this->password
  24.             ->setLabel('Password')
  25.             ->setRequired(true)
  26.             ->addFilter('StripTags')
  27.             ->addFilter('StringTrim')
  28.             ->addValidator('NotEmpty');
  29.            
  30.         $this->password_confirm = $form[] = new Zend_Form_Element_Password('password_confirm');
  31.         $this->password_confirm
  32.             ->setLabel('Password Again')
  33.             ->setRequired(true)
  34.             ->addFilter('StripTags')
  35.             ->addFilter('StringTrim')
  36.             ->addValidator('NotEmpty');        
  37.            
  38.         $this->email = $form[] = new Zend_Form_Element_Text('email');
  39.         $this->email
  40.             ->setLabel('E-Mail')
  41.             ->setRequired(true)
  42.             ->addFilter('StripTags')
  43.             ->addFilter('StringTrim')
  44.             ->addValidator('NotEmpty');
  45.                
  46.                
  47.         // Type and MyTypes
  48.         $builds = array();
  49.         $q = $em->createQuery('SELECT m FROM Models\User\Details\Build m ORDER BY m.id ASC');                    
  50.  
  51.         foreach ($q->getResult() as $index => $type)
  52.             $builds[$type->getId()] = $type->getName();
  53.            
  54.         $this->build = new Zend_Form_Element_Select('build');
  55.         $this->build
  56.             ->setLabel('Body Type')
  57.             ->setRequired(true)  
  58.             ->setMultiOptions($builds);
  59.    
  60.         $this->myBuilds = new Zend_Form_Element_MultiCheckbox('my_builds');
  61.         $this->myBuilds
  62.             ->setLabel('I like..')
  63.             ->setRequired(true)  
  64.             ->addMultiOptions($builds);
  65.  
  66.        
  67.         $this->submit = new Zend_Form_Element_Submit('Submit');
  68.         $this->submit
  69.             ->setAttrib('id', 'submitbutton');
  70.        
  71.         $this->addElements(array(   $this->username,
  72.                                     $this->password,
  73.                                     $this->password_confirm,
  74.                                     $this->email,
  75.                                     $this->build,
  76.                                     $this->myBuilds
  77.                                    
  78.         ));
  79.         /*
  80.         $this->setDecorators(array(
  81.             'FormElements',
  82.                 array('HtmlTag', array('tag' => 'dl')),
  83.             'Form'
  84.         ));*/
  85.     }
  86.    
  87.     public function mapUsertoForm(\Models\User $user)
  88.     {
  89.         $this->username($user->getUsername());
  90.         $this->email($user->getEmail());
  91.     }
  92.    
  93.     public function mapFormToUser()
  94.     {
  95.         $em = Zend_Registry::get('Doctrine_EntityManager');
  96.    
  97.         $user = new \Models\User();
  98.         $user->setUsername($this->username->getValue());
  99.         $user->setPassword($this->password->getValue());
  100.        
  101.         $type = $em->getReference('\Models\User\Type', $this->type->getValue());
  102.         $user->setType($type);
  103.        
  104.         return $user;  
  105.        
  106.     }
  107.  
  108.  
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement