X-Git-Url: https://dev.renevier.net/?a=blobdiff_plain;f=application%2Fcontrollers%2FUserController.php;h=ef7f7be1d2e50da98e10f6f6423febade9c54731;hb=0722c496ca63f30937427e3bf8fbdd5cfee2c83d;hp=2bb3fe96032f5bb32bed0270c94d6acf5e95e4e3;hpb=190fd621df4920c56a422c03663874cddaa67d64;p=syj.git diff --git a/application/controllers/UserController.php b/application/controllers/UserController.php index 2bb3fe9..ef7f7be 100644 --- a/application/controllers/UserController.php +++ b/application/controllers/UserController.php @@ -1,10 +1,25 @@ getRequest()->getUserParam('name'); + + $userMapper = new Syj_Model_UserMapper(); + $user = new Syj_Model_User(); + + if ($userMapper->findByPseudo($name, $user)) { + $this->_helper->SyjApi->setCode(200); + } else { + // opera needs some body content with 404 code, otherwise, it + // reports a xmlhttprequest.status of 0 + $this->_helper->SyjApi->setCode(404)->setBody(' '); + } + } + public function userAction() { $formData = $this->_helper->SyjPostData->getPostData('Syj_Form_User'); @@ -19,7 +34,6 @@ class UserController extends Zend_Controller_Action $user->pseudo = $formData["user_pseudo"]; $user->password = sha1($formData["user_password"]); $user->email = $formData["user_email"]; - $user->creationAddr = $this->getRequest()->getClientIp(true); if (Zend_Registry::isRegistered('Zend_Translate')) { $translator = Zend_Registry::get('Zend_Translate'); @@ -47,9 +61,9 @@ class UserController extends Zend_Controller_Action } } - $auth = Zend_Auth::getInstance(); - $auth->getStorage()->write(array('user' => $user->id)); - Zend_Session::rememberMe(); // zend default expiration delay is 2 weeks. Ok, use that value - $this->_helper->SyjApi->setCode(200); + $this->_helper->SyjUserManager->validate($user->pseudo, $user->password); + + $data = array('pseudo' => $user->pseudo); + $this->_helper->SyjApi->setBodyJson($data)->setCode(200); } }