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; }
protected function _populate($data) { $obj = new Model_User(); $obj->setId($data['id']); $obj->setUsername($data['username']); $obj->setFirstname($data['firstname']); $obj->setLastname($dane['lastname']); $obj->setEmail($dane['email']); $obj->setPassword($dane['password']); return $obj; }
public function registerprocessAction() { $request = $this->getRequest(); // Check if we have a POST request if (!$request->isPost()) { return $this->_helper->redirector('register'); } // Get our form and validate it $form = $this->getRegisterForm(); if (!$form->isValid($request->getPost())) { // Invalid entries $this->view->form = $form; $this->getLog()->warn("Registration attempt failed"); return $this->render('register'); // re-render the login form } $values = $form->getValues(); // generate user uri $fullname = $values['firstname'] . " " . $values['lastname']; $uri = $this->getLA()->getUriForTitle($fullname, LOOMP::User()); $activationkey = md5(microtime() . $uri); // create user account in db $user = new Model_User(); $user->setEmail($values['mail'])->setPassword($values['password'])->setActivation($activationkey)->setActive(false)->setUserlevel(Model_User::USER_LEVEL_USER)->setUri($uri)->setFirstname($values['firstname'])->setLastname($values['lastname'])->setOrganisation($values['organisation']); if (!$user->save()) { $this->getLog()->err("Registration for {$user} failed - " . $user->ErrorMsg()); return $this->render('register'); } $this->getLog()->info("Registration for {$user} succeeded"); $server_config = Zend_Registry::getInstance()->configuration->server; $activation_link = LOOMP_BASE_PATH . $this->view->url(array('controller' => 'login', 'action' => 'activate'), 'default', true) . "?key=" . $activationkey; // send e-mail to user $mail = new Zend_Mail('UTF-8'); $mail->setBodyHTML("Welcome to LOOMP!\n <a href='{$activation_link}'>Activate your account by clicking here</a>."); $mail->setFrom('loomp@' . $server_config->host, 'LOOMP Registration'); $mail->addTo($user->getEmail(), $user->getFullname()); $mail->setSubject("Account Activation for " . $user->getFullname()); $mail->send(); $this->getLog()->info("Registration mail sent to " . $user->getEmail()); // display thanks page $this->view->mail = $user->getEmail(); // do nothing, thank you page will be rendered }
public function signUpAction() { if (!$this->_request->isXmlHttpRequest()) { return; } $arp = new AjaxResponse(); $arp->setStatus(AjaxResponse::STATUS_FAILED); $email = trim($this->_getParam('email')); $password = trim($this->_getParam('password')); if (empty($email) || empty($password)) { $this->json($arp); return; } if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $arp->addErrorItem('email', 'You entered an invalid E-mail address.'); $this->json($arp); return; } $emailExists = Model_User::isEmailExists($email); if ($emailExists) { $arp->addErrorItem('email', 'E-mail address already exists.'); $this->json($arp); return; } $hashedPassword = hash('sha256', $password); $user = new Model_User(); $user->setEmail($email); $user->setPassword($hashedPassword); $user->setCreatedTime(time()); $user->save(); $this->setLoginCookie($email, $hashedPassword); $arp->setStatus(AjaxResponse::STATUS_OK); $this->json($arp); }