public function indexAction() { $jobId = 1; $objectManager = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'); $jobRespository = $objectManager->getRepository('\\Application\\Entity\\Job'); $job = $jobRespository->find($jobId); if ($job) { $addFields = $job->getFieldQuestions(); $form = new RegisterForm($addFields); $form->setData($this->params()->fromPost()); if ($this->getRequest()->getMethod() == 'POST') { /** * @var $registerService RegisterService */ $registerService = $this->getServiceLocator()->get('RegisterService'); $registerService->setJob($job); $registerService->setForm($form); if ($registerService->isValid()) { $register = $registerService->save(); if ($register) { return $this->redirect()->toUrl('application/index/success'); } } } return new ViewModel(array('form' => $form, 'job' => $job, 'addFields' => array_keys($addFields))); } else { return $this->redirect()->toUrl('application/index/error'); } }
/** * Cria o registro e gera todas as dependências do mesmo. * * @return Register|bool */ public function save() { if ($this->_form && $this->_job && $this->_isValid === true) { $recruiterValidator = new RecruiterValidator(); $recruiterValidator->setData($this->_form->getData(), true); $recruiterValidator->setRules($this->_job->getRules()); $recruiterValidator->setDefaultRule($this->_job->getDefaultRule()); $result = $recruiterValidator->run(); if ($result !== false) { $objectManager = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'); $jobQuestionRepository = $objectManager->getRepository('\\Application\\Entity\\JobQuestion'); $jobRuleRepository = $objectManager->getRepository('\\Application\\Entity\\JobRule'); $registerRepository = $objectManager->getRepository('\\Application\\Entity\\Register'); $data = (array) $this->_form->getData(); $register = new Register(); $register->job = $this->_job; $register->name = $data['name']; $register->email = $data['email']; $answersData = $recruiterValidator->prepareData(); $rulesData = $recruiterValidator->prepareRules($result->rules); $objectManager->persist($register); foreach ($answersData as $aData) { $registerQuestion = new RegisterQuestion(); $registerQuestion->register = $register; $registerQuestion->questions = $jobQuestionRepository->find($aData['job_question_id']); $registerQuestion->value = $aData['value']; $objectManager->persist($registerQuestion); } foreach ($rulesData as $rData) { $registerRule = new RegisterJobRule(); $registerRule->register = $register; $registerRule->rules = $jobRuleRepository->find($rData['job_rule_id']); $objectManager->persist($registerRule); } $objectManager->flush(); $registerRepository->clear(); $register = $registerRepository->find($register->id); $this->prepareEmails($register); return $register; } } return false; }
public function registraceAction() { if (!isset($this->logged->nick)) { $form = new RegisterForm(); $request = $this->getRequest(); if ($request->isPost()) { $register = new User(); $register->setInputs(['nick', 'heslo', 'email']); $form->setInputFilter($register->getInputFilter()); $form->setData($request->getPost()); if ($form->isValid()) { if ($form->getData()['heslo'] == $form->getData()['heslo_repeat']) { $table = $this->getUserTable(); $data = array('nick' => $form->getData()['nick'], 'heslo' => $form->getData()['heslo'], 'email' => $form->getData()['email']); $register->exchangeArray($data); $bool = $table->register($register); if ($bool === true) { $this->logged->nick = $register->nick; $this->logged->admin = 0; // redirect } else { if ($bool == 'nick') { $error = $this->msg->get('login.error.nickUsed', ['nick' => $data['nick']]); } else { if ($bool == 'email') { $error = $this->msg->get('login.error.emailUsed', ['email' => $data['email']]); } else { $error = $this->msg->get('other.error.unknownError'); } } } } else { $error = $this->msg->get('login.error.passwordsNotMatching'); } } else { $error = $this->msg->get('form.error.invalidData'); } } return array('form' => $form, 'error' => isset($error) ? $error : null, 'menu' => new Menu($this->url()->fromRoute("application"), array("login", "registrace", "obnovit" => "zapomenuté heslo"), "registrace")); } else { return $this->redirect()->toRoute('application/default', array('controller' => 'profil')); } }
/** * Injecting Zend Translate and Doctrine ORM into Forms, setting filters and hydrators */ public function getFormElementConfig() { return array('factories' => array('contactForm' => function ($sm) { $form = new Form\ContactForm('contactform', $sm->getServiceLocator()->get('translator'), $sm->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'), array()); $form->setInputFilter(new Form\ContactFilter()); $form->setHydrator(new \Zend\Stdlib\Hydrator\ObjectProperty()); return $form; }, 'registerForm' => function ($sm) { $form = new Form\RegisterForm('registerform', $sm->getServiceLocator()->get('translator'), $sm->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'), array()); //$form->setInputFilter(new Form\RegisterFilter); //set in Controller as using Doctrine2 $form->setHydrator(new \Zend\Stdlib\Hydrator\ObjectProperty()); return $form; }, 'forgotpwdForm' => function ($sm) { $form = new Form\ForgotpwdForm('forgotpwdform', $sm->getServiceLocator()->get('translator'), $sm->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'), array()); //$form->setInputFilter(new Form\ForgotpwdFilter); //set in Controller as using Doctrine2 $form->setHydrator(new \Zend\Stdlib\Hydrator\ObjectProperty()); return $form; }, 'resetpwdForm' => function ($sm) { $form = new Form\ResetpwdForm('resetpwdform', $sm->getServiceLocator()->get('translator'), $sm->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'), array()); //$form->setInputFilter(new Form\ResetpwdFilter); //set in Controller as using Doctrine2 $form->setHydrator(new \Zend\Stdlib\Hydrator\ObjectProperty()); return $form; }, 'loginForm' => function ($sm) { $form = new Form\LoginForm('loginform', $sm->getServiceLocator()->get('translator'), $sm->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'), array()); $form->setInputFilter(new Form\LoginFilter()); $form->setHydrator(new \Zend\Stdlib\Hydrator\ObjectProperty()); return $form; }, 'profileForm' => function ($sm) { $form = new Form\ProfileForm('profileform', $sm->getServiceLocator()->get('translator'), $sm->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'), array()); //$form->setInputFilter(new Form\ProfileFilter); //set in Controller as using Doctrine2 $form->setHydrator(new \Zend\Stdlib\Hydrator\ObjectProperty()); return $form; }, 'newsForm' => function ($sm) { $form = new Form\NewsForm('newsform', $sm->getServiceLocator()->get('translator'), $sm->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'), array()); //$form->setInputFilter(new Form\NewsFilter); //set in Controller as using Doctrine2 $form->setHydrator(new \Zend\Stdlib\Hydrator\ObjectProperty()); return $form; })); }
public function indexAction() { $form = new RegisterForm(); $request = $this->getRequest(); if ($request->isPost()) { // Initializing User Model $user = new User(); // Getting Data Posted $data = $request->getPost(); $form->setInputFilter($user->getInputFilter()); $form->setData($data); $sm = $this->getServiceLocator(); $appArray = $sm->get('Config')['app']; $appId = base64_decode($data->appId); //var_dump($form->isValid()); if (array_key_exists($appId, $appArray)) { if ($form->isValid()) { if ($this->getUserTable()->isUniqueEmail($data->email)) { $crypt = new Crypt(); $output = $crypt->encryptArrayResponse($data->email); $from = '*****@*****.**'; $email = $data->email; $assunto = 'Ativação Conta MarkSend'; $activationLink = $appArray[$appId]['url'] . 'user/activate/' . urlencode(base64_encode($output)); $mensagem = <<<EOD <a href='{$activationLink}'>{$activationLink}</a> EOD; $ses = new SimpleEmailService('AKIAIX32JUETXGGVTYGA', '1/D6IFvP6VAs3yKsqTsh7l179nj7m5PBogwAYc23'); //cria uma nova instancia $m = new SimpleEmailServiceMessage(); //seta valores definidos nas variaveis acima $m->addTo($email); $m->setFrom($from); $m->setSubjectCharset('ISO-8859-1'); $m->setMessageCharset('ISO-8859-1'); $m->setSubject('=?UTF-8?B?' . base64_encode($assunto) . '?= '); $m->setMessageFromString(NULL, $mensagem); //envia email $ses->sendEmail($m); $user->exchangeArray($data); $saveUser = $this->getUserTable()->saveUser($user); if ($saveUser > 0) { //Salvou $response = array('success' => true); } else { //Deu algo errado e nao salvou =/ $response = array('success' => false, 'errorCode' => '1', 'message' => 'Not saved'); } } else { //Email ja Cadastrado $response = array('success' => false, 'errorCode' => '2', 'message' => 'Email already register'); } } else { // Form Invalido $response = array('success' => false, 'errorCode' => '3', 'message' => 'Invalid Form'); } $crypt = new Crypt(); $output = $crypt->encryptArrayResponse($response); } else { //throw new \Exception('Invalid AppId'); $crypt = new Crypt(); $output = $crypt->encryptArrayResponse('deu ruim hein'); } } $url = $appArray[$appId]['url'] . 'register/?q=' . $output; return $this->redirect()->toUrl($url); }
public function indexAction() { $fb_login = new Container('facebook'); $google_login = new Container('google'); $linkedin_login = new Container('linkedin'); $social_media_id = ''; if (isset($fb_login->social_id)) { $common_object = $fb_login; $social_media_id = $fb_login->social_id; } if (isset($google_login->social_id)) { $common_object = $google_login; $social_media_id = $google_login->social_id; } if (isset($linkedin_login->social_id)) { $common_object = $linkedin_login; $social_media_id = $linkedin_login->social_id; } $api = new Api(); $auth = new FrontEndAuth(); $session = new Container('frontend'); $loginError = ""; $redirectUrl = array('controller' => 'index'); if ($auth->hasIdentity()) { //$redirectUrl = array('controller'=>'index'); //$redirectUrl = array('controller'=>'login', 'action' => 'dashboard'); return $this->redirect()->toRoute(null, $redirectUrl); } //var_dump($session->user_name); die; $common = new Common(); $form = new LoginForm(); $register_form = new RegisterForm(); $request = $this->getRequest(); if ($request->isPost()) { //die('hello'); $register = new Register(); $register_form->setInputFilter($register->getInputFilter()); $data = $request->getPost()->toArray(); $register_form->setData($data); //$validation_result = json_decode($this->passwordValidation($data['confirm_password']), true); if ($register_form->isValid()) { $loginError = $validation_result['msg']; //if(!$validation_result['error']){ $loginError = ''; unset($data['confirm_password'], $data['register_submit']); //die('hello'); $api_url = $this->getServiceLocator()->get('Config')['api_url']['value']; $url = $api_url . "/api/users/"; $data['op'] = 'register'; $data['social_media_id'] = $social_media_id; $data['status_id'] = $data['user_type_id'] == 4 ? 9 : 5; $res = $api->curl($url, $data, "POST"); if ($res->getStatusCode() == 201) { $content = json_decode($res->getBody(), true); $common->addChatAccount($this->getServiceLocator()->get('Config')['chatpath']['url'], $content, $data, $request); // Creating account for live chat $newsletter = $content['user_type_id'] == 3 ? 1 : 4; $common->addFeature($api_url, array('user_id' => $content['id'], 'email' => 1, 'sms' => 1, 'chat' => 0, 'newsletter' => $newsletter)); // Adding user feature setting $common->sendMail($api_url, $content['email'], '', 21, '', array('/{{user_name}}/i'), array($content['first_name'] . ' ' . $content['last_name'])); $session->userid = $content['id']; $session->first_name = $content['first_name']; $session->last_name = $content['last_name']; $session->email = $content['email']; $session->user_name = $content['user_name']; $session->user_type_id = $content['user_type_id']; $session->user_data = $content; // adding default subscription if ($session->user_type_id == 3) { $common->addSubscription($api_url, array('user_id' => $session->userid)); } $auth->wordpress_create_user($session->user_name, $session->email, $data['confirm_password']); $auth->wordpress_login($session->user_name); $bookingData = new Container('bookingData'); //var_dump($res); die; //return ($session->user_type_id == 4) ? $this->redirect()->toRoute('consumer', array('action' => 'dashboard')) : $this->redirect()->toRoute('practitioner', array('action' => 'dashboard')); if (isset($bookingData->bookingData)) { return $this->redirect()->toRoute('booking', array('action' => 'schedule', 'id' => $bookingData->sp)); } else { if ($this->getRequest()->getQuery('lasturl') != '') { return $this->redirect()->toUrl($this->getRequest()->getQuery('lasturl')); } else { return $session->user_type_id == 4 ? $this->redirect()->toRoute('consumer', array('action' => 'dashboard')) : $this->redirect()->toRoute('practitioner', array('action' => 'dashboard')); } } //return $this->redirect()->toRoute(null, $redirectUrl); } else { $errors = json_decode($res->getBody(), true); foreach ($errors as $key => $value) { if (isset($value[0])) { $register_form->setMessages(array($key => array($value[0]))); } } $this->errors = $register_form->getMessages(); // added by Ritesh to get error messages } //var_dump($errors); die; //}// validation condition } else { $this->errors = $register_form->getMessages(); } } $view = new ViewModel(array('form' => $form, 'register_form' => $register_form, 'loginError' => $loginError, 'fb_login' => $common_object, 'errors' => $this->errors)); $view->setTemplate('application/login/index.phtml'); return $view; }