/**
 * Render widget
 *
 * @param array $params
 * @param array $smarty
 * @return void
 */
function smarty_function_form_register($params, $smarty)
{
    global $controller;
    $formRegister = new Form_Register();
    $formConfirm = new Form_Confirm();
    $userService = $controller->getHelper('service')->getService('user');
    $session = new Zend_Session_Namespace('Form_Register');
    $request = $controller->getRequest();
    if ($request->isPost()) {
        $request->setPost('password', $session->password);
        if ($formRegister->isValid($request->getPost())) {
            // handle confirm form
            if ($request->has('username') && $formConfirm->isValid($request->getPost())) {
                $values = $formConfirm->getValues();
                $values['password'] = empty($values['password_change']) ? $session->password : $values['password_change'];
                $user = $userService->create($values);
                $dispatcher = $controller->getHelper('service')->getService('dispatcher');
                $dispatcher->dispatch('user.register', new GenericEvent($smarty, array('user' => $user)));
                $controller->getHelper('redirector')->gotoSimple('index', 'index', 'default');
            } elseif (!$request->has('username')) {
                // init confirm form
                $values = $formRegister->getValues();
                $session->password = $values['password'];
                $values['username'] = $userService->generateUsername($values['first_name'], $values['last_name']);
                $formConfirm->setDefaults($values + array('terms_of_services' => 'Terms of services text'));
            }
            echo $formConfirm;
            return;
        }
    } else {
        $session->password = null;
    }
    echo $formRegister;
}
 public function rejestracjaAction()
 {
     $form = new Form_Register();
     $request = $this->getRequest();
     if ($request->isPost()) {
         if ($form->isValid($this->_request->getPost())) {
             $data = $form->getValues();
             $model = new Model_User();
             $model->setFirstname($data['firstname']);
             $model->setLastname($data['lastname']);
             $model->setUsername($data['username']);
             $model->setPassword(md5($data['password']));
             $model->setEmail($data['email']);
             $mapper = Model_UserMapper::getInstance();
             $mapper->save($model);
             $this->createConfig($data['username']);
             $server = new Zend_View_Helper_ServerUrl();
             $server->setScheme('http');
             $this->_redirect($server->serverUrl($this->view->url(array('controller' => 'autentykacja', 'action' => 'logowanie'))));
             //                $this->_redirect('/autentykacja/logowanie');
         } else {
             $this->view->errorMessage = 'Nie uzupełniono wymaganych pól.';
         }
     }
     $this->view->form = $form;
 }
Exemplo n.º 3
0
 public function registerAction()
 {
     $form = new Form_Register();
     $request = $this->getRequest();
     if ($request->isPost()) {
         if ($form->isValid($this->_request->getPost())) {
             $username = $this->_request->getParam('username');
             $password = $this->_request->getParam('password');
             $firstname = $this->_request->getParam('firstname');
             $lastname = $this->_request->getParam('lastname');
             $date = $this->_request->getParam('date');
             $email = $this->_request->getParam('email');
             $users = new Model_DbTable_Users();
             $users->insert(array('username' => $username, 'password' => md5($password), 'firstname' => $firstname, 'lastname' => $lastname, 'E-mail' => $email, 'date' => $date, 'role' => 'users', 'country' => 'Монгол', 'uri' => 'images/profile/default.jpg'));
             $this->_redirect('authentication/login');
         }
     }
     $form->setAction('../authentication/register');
     $this->view->form = $form;
 }