public function registerAction() { $auth = Yasui_Auth::getInstance(); $authAdapter = $auth->getAdapter('DB'); if ($authAdapter->isAuthenticate()) { $this->redirect($this->_request()->baseURL()); } require 'application/forms/FormRegister.php'; $formRegister = new FormRegister(); if ($formRegister->formSent() && $formRegister->validateForm()) { if ($formRegister->contrasenha == $formRegister->contrasenha2) { $cliente = new ModelCustomer(); if ($cliente->registrar($formRegister->nombre, $formRegister->apellidos, $formRegister->correo, $formRegister->nif, $formRegister->contrasenha)) { $this->_view->mensaje = 'Gracias por registrarse, ya puede acceder'; } else { $this->_view->mensaje = $cliente->getError(); $this->_view->form = $formRegister; } } else { $this->_view->mensaje = 'Las contraseñas no coinciden'; $this->_view->form = $formRegister; } } else { $this->_view->form = $formRegister; } }
/** * Check customer in system * * @param string $email * @param string $password * @return boolean|int */ protected function checkCustomer($email, $password) { $response = 0; $sql = 'SELECT * FROM customer WHERE email = ?'; $stm = $this->dbHelper->execute($sql, array($email)); // Check mysql result if ($stm) { if ($stm->rowCount()) { $row = $stm->fetch(PDO::FETCH_ASSOC); if ($row['hashedPassword'] == $password) { $response = intval($row['id']); } } else { // Insert new customer $customer = new ModelCustomer($this->dbHelper); $customer->insert(array('email' => $email, 'hashedPassword' => $password)); $response = intval($customer->lastInsertId()); } } return $response; }