示例#1
0
 public function indexAction()
 {
     $form = new RegisterForm();
     if ($this->request->isPost()) {
         $password = $this->request->getPost("password");
         $repeatPassword = $this->request->getPost("repeatPassword");
         if ($password != $repeatPassword) {
             $this->flash->error('Passwords are different');
         } else {
             $user = new User();
             if (!$form->isValid($_POST, $user)) {
                 foreach ($form->getMessages() as $message) {
                     $this->flash->error((string) $message);
                 }
             } else {
                 $user->password = $this->security->hash($user->password);
                 $user->userprofile = new Userprofile();
                 $user->usercard = new Usercard();
                 if ($user->save() == false) {
                     foreach ($user->getMessages() as $message) {
                         $this->flash->error((string) $message);
                     }
                 } else {
                     $this->tag->setDefault('email', '');
                     $this->tag->setDefault('password', '');
                     $this->flash->success('Thanks for sign-up! Log in to start Advanture</h6>');
                     return $this->forward('session/index');
                 }
             }
         }
     }
     $this->view->form = $form;
 }
 public function registrationAction(Request $request)
 {
     if (Session::has('user')) {
         header('Location: /');
     }
     $form = new RegisterForm($request);
     if ($request->isPost()) {
         if ($form->isValid()) {
             if ($form->validPassword()) {
                 if ($form->passwordCheck()) {
                     $password = new Password($form->password);
                     $model = new securityModel();
                     $params = array('nickname' => $form->nickname, 'first_name' => $form->first_name, 'last_name' => $form->last_name, 'email' => $form->email, 'password' => $password);
                     $status = $model->addUser($params);
                     if ($status == 'Success') {
                         Session::setFlash('Well done! Now you can Login');
                         return $this->render('login', $params);
                     } else {
                         Session::setFlash('This nickname or email are already used, try another one');
                     }
                 } else {
                     Session::setFlash('Password not match');
                 }
             } else {
                 Session::setFlash('Password has to consist more than 6 symbols, but less then 32');
             }
         } else {
             Session::setFlash('Fill the fields');
         }
     }
     $args = array('nickname' => $form->nickname, 'first_name' => $form->first_name, 'last_name' => $form->last_name, 'email' => $form->email);
     return $this->render('registration', $args);
 }
示例#3
0
 public function indexAction()
 {
     $form = new RegisterForm();
     if ($this->request->isPost()) {
         if ($form->isValid($this->request->getPost()) != false) {
             $user = new Users();
             $user->assign(array('name' => $this->request->getPost('name', 'striptags'), 'email' => $this->request->getPost('email'), 'number' => $this->request->getPost('number'), 'password' => $this->security->hash($this->request->getPost('password')), 'telephone' => $this->request->getPost('telephone')));
             if ($user->save()) {
                 return $this->dispatcher->forward(array('controller' => 'index', 'action' => 'index'));
             }
             $this->flash->error($user->getMessages());
         }
     }
     $this->view->form = $form;
 }
 public function processAction()
 {
     if (!$this->request->isPost()) {
         return $this->redirect()->toRoute(NULL, array('controller' => 'Create', 'action' => 'index'));
     }
     $post = $this->request->getPost();
     $form = new RegisterForm();
     $form->setData($post);
     if (!$form->isValid()) {
         $model = new ViewModel(array('error' => true, 'form' => $form));
         $model->setTemplate('leads/leads/index');
         return $model;
     }
     $this->createUser($form->getData());
     return $this->redirect()->toRoute(NULL, array('controller' => 'Create', 'action' => 'confirm'));
 }
示例#5
0
 public function registerAction()
 {
     $form = new RegisterForm();
     $request = $this->getRequest();
     if ($request->isPost() && $request->getPost('register') == 'Register') {
         $post = $request->getPost();
         if ($form->isValid($post)) {
             if ($this->_user->freeUsername($post['user'])) {
                 $result = $this->_user->register($post);
                 if ($result == 1) {
                     $this->view->loginMsg = self::REG_OK;
                     $this->_forward('login');
                 } else {
                     $this->view->registerMsg = self::REG_ERROR;
                 }
             } else {
                 $this->view->registerMsg = self::REG_TAKEN;
             }
         } else {
             $this->view->registerMsg = self::REG_INVALID;
         }
     }
     $this->view->form = $form;
 }
 function registerAction()
 {
     $this->view->title = "Register New Account";
     $this->view->messages = $this->_flashMessenger->getMessages();
     $this->_helper->layout->disableLayout();
     $lang = $this->_request->getParam('lang');
     if (isset($lang)) {
         $langNamespace = new Zend_Session_Namespace('Lang');
         $langNamespace->lang = $lang;
         $this->_helper->redirector->gotoSimple('register', 'register', null, array('a' => $this->_request->getParam('a'), 'i' => $this->_request->getParam('i')));
     }
     $db = Zend_Registry::get('db');
     $currentTime = date("Y-m-d H:i:s");
     $loginform = new LoginForm();
     $this->view->form = $loginform;
     $form = new RegisterForm();
     $this->view->registerForm = $form;
     $signupAuthCodeModel = new SignupAuthCode();
     $auth_code = $this->_request->getParam('a');
     if ($auth_code) {
         $form->auth_code->setValue($auth_code);
         $code = $signupAuthCodeModel->fetchRow("use_date is null and auth_code = '" . $auth_code . "'");
     }
     // auto-fill code and email address
     if (isset($code) && $code->id) {
         $this->view->codeId = $code->id;
         $select1 = $db->select();
         $select1->from("invitation_email", "to");
         $select1->where("invitation_email.signup_auth_code_id = ?", $code->id);
         $toEmail = $db->fetchOne($select1);
         $form->registerEmail->setValue($toEmail);
         $code->view_date = $currentTime;
         $code->save();
     }
     //public link
     $invite_code = $this->_request->getParam('i');
     if ($invite_code) {
         $code2 = $signupAuthCodeModel->fetchRow("public_signup_link = true and auth_code = '" . $invite_code . "'");
         $publicLinkValid = false;
         if (isset($code2)) {
             $select2 = $db->select();
             $select2->from('signup_auth_code', 'count(*)')->where('use_date>date_sub(now(),interval 1 day)')->where('sender =' . $code2->sender)->where('source = "PUBLIC_LINK"')->where('receiver is not null');
             $registered = $db->fetchOne($select2);
             if (intval($registered) < 100) {
                 $publicLinkValid = true;
             }
         }
     }
     if (isset($code2)) {
         if ($publicLinkValid) {
             $codePattern = '1234567890ABCDEFGHIJKLOMNOPQRSTUVWXYZ';
             $generatedCode = '';
             for ($codeCount = 0; $codeCount < 12; $codeCount++) {
                 $generatedCode = $generatedCode . $codePattern[mt_rand(0, 35)];
             }
             $signupAuthCode = $signupAuthCodeModel->createRow();
             $signupAuthCode->auth_code = $generatedCode;
             $signupAuthCode->create_date = $currentTime;
             $signupAuthCode->sender = $code2->sender;
             $signupAuthCode->source = 'PUBLIC_LINK';
             $signupAuthCode->auto_invitation = $code2->auto_invitation;
             $signupAuthCode->save();
             $form->auth_code->setValue($generatedCode);
         } else {
             $this->_flashMessenger->addMessage($this->view->translate('Sorry_This_register_link_has_been_overused'));
             $this->_helper->redirector('register', 'register');
         }
     }
     if ($this->_request->isPost()) {
         $formData = $this->_request->getPost();
         if ($form->isValid($formData)) {
             $db = Zend_Registry::get('db');
             if ($form->getValue('registerPassword') == $form->getValue('repeat')) {
                 // verify auth code
                 $codeModel = new SignupAuthCode();
                 $code = $codeModel->fetchRow("auth_code='" . $form->getValue('auth_code') . "' and use_date is null");
                 if ($code) {
                     //check pest
                     if ($code->sender != null) {
                         $consumerModel = new Consumer();
                         $consumer = $consumerModel->fetchRow("id = " . $code->sender);
                         if ($consumer != null && $consumer->pest == '1') {
                             return;
                         }
                     }
                     //check duplicated email
                     $result = $db->fetchOne("SELECT COUNT(*) FROM consumer WHERE email = :temp", array('temp' => $form->getValue('registerEmail')));
                     //check duplicated phone
                     $phone_result = $db->fetchOne("SELECT COUNT(*) FROM consumer WHERE login_phone = :temp", array('temp' => $form->getValue('loginPhone')));
                     if ($result > 0) {
                         $this->view->errMessage = $this->view->translate('Register_err') . $form->getValue('registerEmail') . $this->view->translate('Register_email_is_invalid');
                     } else {
                         if ($phone_result > 0) {
                             $this->view->errMessage = $this->view->translate('Register_err') . $form->getValue('loginPhone') . $this->view->translate('Register_phone_is_invalid');
                         } else {
                             $currentTime = date("Y-m-d H:i:s");
                             // save new consumer
                             $consumerModel = new Consumer();
                             $row = $consumerModel->createRow();
                             $row->name = $form->getValue('name');
                             $row->email = $form->getValue('registerEmail');
                             $row->login_phone = $form->getValue('loginPhone');
                             $row->password = md5($form->getValue('registerPassword'));
                             $row->save();
                             //expire the auth_code
                             $code->receiver = $row->id;
                             $code->use_date = $currentTime;
                             $code->save();
                             //add points for code sender
                             //		    				if (!empty($code->sender)&& $code->sender!=""){
                             //			    				$pointRecordModel = new RewardPointTransactionRecord();
                             //			    				$point = $pointRecordModel->createRow();
                             //			    				$point->consumer_id = $code->sender;
                             //			    				$point->transaction_id = 2;
                             //			    				$point->date = $currentTime;
                             //			    				$point->point_amount = 5;
                             //			    				$point->save();
                             //		    				}
                             // send auto intivitaion
                             if (!empty($code->auto_invitation) && $code->auto_invitation != 0) {
                                 $campaignInvitationModel = new CampaignInvitation();
                                 $ci = $campaignInvitationModel->createRow();
                                 $ci->consumer_id = $row->id;
                                 $ci->campaign_id = $code->auto_invitation;
                                 $ci->create_date = $currentTime;
                                 $ci->state = "NEW";
                                 $ci->save();
                             }
                             // Login Automatically
                             $authAdapter = new Zend_Auth_Adapter_DbTable($db);
                             $authAdapter->setTableName('consumer');
                             $authAdapter->setIdentityColumn('email');
                             $authAdapter->setCredentialColumn('password');
                             $authAdapter->setIdentity($form->getValue('registerEmail'));
                             $authAdapter->setCredential(md5($form->getValue('registerPassword')));
                             $auth = Zend_Auth::getInstance();
                             $auth->authenticate($authAdapter);
                             $authNamespace = new Zend_Session_Namespace('Zend_Auth');
                             $authNamespace->user = $row;
                             $this->_flashMessenger->addMessage('Welcome!');
                             $this->_helper->redirector('index', 'home');
                         }
                     }
                 } else {
                     $this->view->errMessage = $this->view->translate('Register_err') . $this->view->translate('Register_authcode_is_invalid');
                 }
             } else {
                 $this->view->errMessage = $this->view->translate('Register_err') . $this->view->translate('Register_password_is_invalid');
             }
         } else {
             $form->populate($formData);
         }
     }
 }
 /** Register for an account
  * @access public
  * @return void
  */
 public function registerAction()
 {
     if ($this->_auth->hasIdentity()) {
         $this->getFlash()->addMessage('You are already logged in and registered.');
         $this->_redirect('/users/account');
     } else {
         $salt = $this->_helper->config()->auth->salt;
         $form = new RegisterForm();
         $this->view->form = $form;
         if ($this->getRequest()->isPost() && $form->isValid($this->_request->getPost())) {
             $to = array(array('email' => $form->getValue('email'), 'name' => $form->getValue('first_name') . ' ' . $form->getValue('last_name')));
             $emailData = array('email' => $form->getValue('email'), 'name' => $form->getValue('first_name') . ' ' . $form->getValue('last_name'), 'activationKey' => md5($form->getValue('username') . $form->getValue('first_name')));
             $this->_users->register($form->getValues());
             $this->_helper->mailer($emailData, 'activateAccount', $to);
             $this->getFlash()->addMessage('Your account has been created. Please check your email.');
             $this->redirect('/users/account/activate/');
             $form->populate($form->getValues());
             $this->getFlash()->addMessage('There are a few problems with your registration<br/>
     Please review and correct them.');
         }
     }
 }
 function registerAction()
 {
     $this->view->title = "Register New Account";
     $this->view->messages = $this->_flashMessenger->getMessages();
     $this->_helper->layout->disableLayout();
     $lang = $this->_request->getParam('lang');
     if (isset($lang)) {
         $langNamespace = new Zend_Session_Namespace('Lang');
         $langNamespace->lang = $lang;
         $this->_helper->redirector->gotoSimple('register', 'register', null, array('a' => $this->_request->getParam('a'), 'i' => $this->_request->getParam('i')));
     }
     $db = Zend_Registry::get('db');
     $currentTime = date("Y-m-d H:i:s");
     $loginform = new LoginForm();
     $this->view->form = $loginform;
     $form = new RegisterForm();
     $form->setAttrib('id', 'registerForm');
     $this->view->registerForm = $form;
     $signupAuthCodeModel = new SignupAuthCode();
     $auth_code = $this->_request->getParam('a');
     if ($auth_code) {
         $form->auth_code->setValue($auth_code);
         $code = $signupAuthCodeModel->fetchRow("use_date is null and auth_code = '" . $auth_code . "'");
     }
     // auto-fill code and email address
     if (isset($code) && $code->id) {
         $this->view->codeId = $code->id;
         $select1 = $db->select();
         $select1->from("invitation_email", "to");
         $select1->where("invitation_email.signup_auth_code_id = ?", $code->id);
         $toEmail = $db->fetchOne($select1);
         $form->registerEmail->setValue($toEmail);
         $code->view_date = $currentTime;
         $code->save();
     }
     //public link
     $invite_code = $this->_request->getParam('i');
     if ($invite_code) {
         $code2 = $signupAuthCodeModel->fetchRow("public_signup_link = true and auth_code = '" . $invite_code . "'");
         $publicLinkValid = false;
         if (isset($code2)) {
             $select2 = $db->select();
             $select2->from('signup_auth_code', 'count(*)')->where('use_date>date_sub(now(),interval 1 day)')->where('sender =' . $code2->sender)->where('source = "PUBLIC_LINK"')->where('receiver is not null');
             $registered = $db->fetchOne($select2);
             if (intval($registered) < 100) {
                 $publicLinkValid = true;
             }
         }
     }
     if (isset($code2)) {
         if ($publicLinkValid) {
             $codePattern = '1234567890ABCDEFGHIJKLOMNOPQRSTUVWXYZ';
             $generatedCode = '';
             for ($codeCount = 0; $codeCount < 12; $codeCount++) {
                 $generatedCode = $generatedCode . $codePattern[mt_rand(0, 35)];
             }
             $signupAuthCode = $signupAuthCodeModel->createRow();
             $signupAuthCode->auth_code = $generatedCode;
             $signupAuthCode->create_date = $currentTime;
             $signupAuthCode->sender = $code2->sender;
             $signupAuthCode->source = 'PUBLIC_LINK';
             $signupAuthCode->auto_invitation = $code2->auto_invitation;
             $signupAuthCode->save();
             $form->auth_code->setValue($generatedCode);
         } else {
             $this->_flashMessenger->addMessage($this->view->translate('Sorry_This_register_link_has_been_overused'));
             $this->_helper->redirector('register', 'register');
         }
     }
     if ($this->_request->isPost()) {
         $this->view->registered = 0;
         $formData = $this->_request->getPost();
         if ($form->isValid($formData)) {
             $db = Zend_Registry::get('db');
             if ($form->getValue('registerPassword') == $form->getValue('repeat')) {
                 //2011-04-01 ham register modification
                 if (trim($form->getValue('auth_code')) == '') {
                     //check duplicated email
                     $result = $db->fetchOne("SELECT COUNT(*) FROM consumer WHERE email = :temp", array('temp' => $form->getValue('registerEmail')));
                     //check duplicated phone
                     $phone_result = $db->fetchOne("SELECT COUNT(*) FROM consumer WHERE login_phone = :temp", array('temp' => $form->getValue('loginPhone')));
                     //var_dump($result);die;
                     if ($result > 0) {
                         $this->view->errMessage = $this->view->translate('Register_err') . $form->getValue('registerEmail') . $this->view->translate('Register_email_is_invalid');
                     } else {
                         if ($phone_result > 0) {
                             $this->view->errMessage = $this->view->translate('Register_err') . $form->getValue('loginPhone') . $this->view->translate('Register_phone_is_invalid');
                         } else {
                             $currentTime = date("Y-m-d H:i:s");
                             $email = $form->getValue('registerEmail');
                             //generate enable account  link
                             $codePattern = '1234567890ABCDEFGHIJKLOMNOPQRSTUVWXYZ';
                             $active_code = '';
                             for ($codeCount = 0; $codeCount < 12; $codeCount++) {
                                 $active_code = $active_code . $codePattern[mt_rand(0, 35)];
                             }
                             $activeLink = $this->view->home . '/public/register/activate/p/' . $active_code;
                             //save link into DB
                             $tomorrow = mktime(date("H"), date("i"), date("s"), date("m"), date("d") + 1, date("Y"));
                             $expire_date = date("Y-m-d H:i:s", $tomorrow);
                             $temporaryLinkModel = new TemporaryLink();
                             $temporaryLink = array("link" => $activeLink, "email" => $email, "expire_date" => $expire_date);
                             $temporaryLink_id = $temporaryLinkModel->insert($temporaryLink);
                             //send mail
                             $emailSubject = $this->view->translate('ENABLE_ACCOUNT_subject');
                             $emailBody = $this->view->translate('ENABLE_ACCOUNT_body');
                             $stringChange = array("?ENABLEACCOUNTLINK?" => $activeLink);
                             $emailBody = strtr($emailBody, $stringChange);
                             $config = Zend_Registry::get('config');
                             $smtpSender = new Zend_Mail_Transport_Smtp($config->smtp->invitation->mail->server, array('username' => $config->smtp->invitation->mail->username, 'password' => $config->smtp->invitation->mail->password, 'auth' => $config->smtp->invitation->mail->auth, 'ssl' => $config->smtp->invitation->mail->ssl, 'port' => $config->smtp->invitation->mail->port));
                             //				$smtpSender = new Zend_Mail_Transport_Smtp(
                             //							'smtp.163.com',array(
                             //							'username'=>'*****@*****.**',
                             //							'password'=>'19990402',
                             //							'auth'=>'login'));
                             Zend_Mail::setDefaultTransport($smtpSender);
                             $mail = new Zend_Mail('utf-8');
                             $langNamespace = new Zend_Session_Namespace('Lang');
                             if ($langNamespace->lang == 'en' || $langNamespace->lang == 'EN') {
                                 $mail->setSubject($emailSubject);
                             } else {
                                 $mail->setSubject("=?UTF-8?B?" . base64_encode($emailSubject) . "?=");
                             }
                             $mail->setBodyText($emailBody);
                             $mail->setFrom($config->smtp->forgetpassword->mail->username, $this->view->translate('Wildfire'));
                             //				$mail->setFrom('*****@*****.**','yun_simon');
                             $mail->addTo($email);
                             $mail->send();
                             // save new consumer
                             $consumerModel = new Consumer();
                             $row = $consumerModel->createRow();
                             $row->name = $form->getValue('name');
                             $row->email = $form->getValue('registerEmail');
                             $row->login_phone = $form->getValue('loginPhone');
                             $row->password = md5($form->getValue('registerPassword'));
                             $row->state = "ACTIVE";
                             $row->save();
                             $this->view->registered = 1;
                         }
                     }
                     //2011-04-01 ham register modification
                 } else {
                     // verify auth code
                     $codeModel = new SignupAuthCode();
                     $code = $codeModel->fetchRow("auth_code='" . $form->getValue('auth_code') . "' and use_date is null");
                     if ($code != NULL) {
                         //check pest
                         if ($code->sender != null) {
                             $consumerModel = new Consumer();
                             $consumer = $consumerModel->fetchRow("id = " . $code->sender);
                             if ($consumer != null && $consumer->pest == '1') {
                                 return;
                             }
                         }
                         //check duplicated email
                         $result = $db->fetchOne("SELECT COUNT(*) FROM consumer WHERE email = :temp", array('temp' => $form->getValue('registerEmail')));
                         //check duplicated phone
                         $phone_result = $db->fetchOne("SELECT COUNT(*) FROM consumer WHERE login_phone = :temp", array('temp' => $form->getValue('loginPhone')));
                         if ($result > 0) {
                             $this->view->errMessage = $this->view->translate('Register_err') . $form->getValue('registerEmail') . $this->view->translate('Register_email_is_invalid');
                         } else {
                             if ($phone_result > 0) {
                                 $this->view->errMessage = $this->view->translate('Register_err') . $form->getValue('loginPhone') . $this->view->translate('Register_phone_is_invalid');
                             } else {
                                 $currentTime = date("Y-m-d H:i:s");
                                 //2011-04-02 ham.bao add the logic of activating the account
                                 $email = $form->getValue('registerEmail');
                                 //generate enable account  link
                                 $codePattern = '1234567890ABCDEFGHIJKLOMNOPQRSTUVWXYZ';
                                 $active_code = '';
                                 for ($codeCount = 0; $codeCount < 12; $codeCount++) {
                                     $active_code = $active_code . $codePattern[mt_rand(0, 35)];
                                 }
                                 $activeLink = $this->view->home . '/public/register/activate/p/' . $active_code;
                                 //save link into DB
                                 $tomorrow = mktime(date("H"), date("i"), date("s"), date("m"), date("d") + 1, date("Y"));
                                 $expire_date = date("Y-m-d H:i:s", $tomorrow);
                                 $temporaryLinkModel = new TemporaryLink();
                                 $temporaryLink = array("link" => $activeLink, "email" => $email, "expire_date" => $expire_date);
                                 $temporaryLink_id = $temporaryLinkModel->insert($temporaryLink);
                                 //send mail
                                 //2011-04-02 ham.bao add the logic of activating the account
                                 // save new consumer
                                 $consumerModel = new Consumer();
                                 $row = $consumerModel->createRow();
                                 $row->name = $form->getValue('name');
                                 $row->email = $form->getValue('registerEmail');
                                 $row->login_phone = $form->getValue('loginPhone');
                                 $row->password = md5($form->getValue('registerPassword'));
                                 $row->state = "ACTIVE";
                                 $row->save();
                                 //expire the auth_code
                                 $code->receiver = $row->id;
                                 $code->use_date = $currentTime;
                                 $code->save();
                                 //add points for code sender
                                 //		    				if (!empty($code->sender)&& $code->sender!=""){
                                 //			    				$pointRecordModel = new RewardPointTransactionRecord();
                                 //			    				$point = $pointRecordModel->createRow();
                                 //			    				$point->consumer_id = $code->sender;
                                 //			    				$point->transaction_id = 2;
                                 //			    				$point->date = $currentTime;
                                 //			    				$point->point_amount = 5;
                                 //			    				$point->save();
                                 //		    				}
                                 // send auto intivitaion
                                 if (!empty($code->auto_invitation) && $code->auto_invitation != 0) {
                                     $campaignInvitationModel = new CampaignInvitation();
                                     $ci = $campaignInvitationModel->createRow();
                                     $ci->consumer_id = $row->id;
                                     $ci->campaign_id = $code->auto_invitation;
                                     $ci->create_date = $currentTime;
                                     $ci->state = "NEW";
                                     $ci->save();
                                 }
                                 $this->view->registered = 1;
                                 // Login Automatically
                                 $authAdapter = new Zend_Auth_Adapter_DbTable($db);
                                 $authAdapter->setTableName('consumer');
                                 $authAdapter->setIdentityColumn('email');
                                 $authAdapter->setCredentialColumn('password');
                                 $authAdapter->setIdentity($form->getValue('registerEmail'));
                                 $authAdapter->setCredential(md5($form->getValue('registerPassword')));
                                 $auth = Zend_Auth::getInstance();
                                 $auth->authenticate($authAdapter);
                                 $authNamespace = new Zend_Session_Namespace('Zend_Auth');
                                 $authNamespace->user = $row;
                                 $this->_flashMessenger->addMessage('Welcome!');
                                 $this->_helper->redirector('index', 'home');
                             }
                         }
                     } else {
                         $this->view->errMessage = $this->view->translate('Register_err') . $this->view->translate('Register_authcode_is_invalid');
                     }
                 }
             } else {
                 $this->view->errMessage = $this->view->translate('Register_err') . $this->view->translate('Register_repeat_password_is_error');
             }
         } else {
             $form->populate($formData);
         }
     }
 }
 * to look for form view files (this time we are 
 * looking in the folder of the first example so we
 * can re-use our form template)
 */
phViewLoader::setInstance(new phFileViewLoader(dirname(__FILE__) . '/../registration'));
/*
 * include and create our RegisterForm instance that 
 * has all the validators embedded in it
 */
require_once 'RegisterForm.php';
$form = new RegisterForm('register', 'registerForm');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    /*
     * data has been posted back, bind it to the form
     */
    $form->bindAndValidate($_POST['register']);
    if ($form->isValid()) {
        /*
         * form data is valid, put your code to
         * register a new user here
         */
        echo "<h1>Registration Complete!</h1>";
    }
}
?>
<form action="/registration2/register.php" method="post">
	<?php 
echo $form;
// this will render the form
?>
</form>
 public function registerAction()
 {
     if (null !== $this->_participant) {
         throw new Exception("What?! You have already become one uf? What do you want to achieve? Trick us?! You cheap trickster!");
     }
     $this->view->title = "Name Yourself!";
     $_showError = false;
     $_success = false;
     $_form = new RegisterForm();
     if ($_POST) {
         if ($_form->isValid($_POST)) {
             //Complete the registration here...
             $p = $this->_table->createRow();
             $p->loadFromForm($_form);
             $p->insert();
             $_success = true;
         } else {
             $_showError = true;
         }
     }
     if ($_showError) {
         $this->view->showError = true;
     } else {
         if ($_success) {
             $this->view->showSuccess = true;
         }
     }
     $this->view->form = $_form;
 }