X-Git-Url: https://dev.renevier.net/?a=blobdiff_plain;f=application%2Fcontrollers%2FUserController.php;h=f802b16b66d85eba8c80dd595eebf8d71a4dd60d;hb=ce001229accb2aff799560eec402344f0dbb1762;hp=2bb3fe96032f5bb32bed0270c94d6acf5e95e4e3;hpb=190fd621df4920c56a422c03663874cddaa67d64;p=syj.git diff --git a/application/controllers/UserController.php b/application/controllers/UserController.php index 2bb3fe9..f802b16 100644 --- a/application/controllers/UserController.php +++ b/application/controllers/UserController.php @@ -5,6 +5,21 @@ class UserController extends Zend_Controller_Action { + public function existsAction() { + $name = $this->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,7 @@ 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->SyjSession->login($user->id); $this->_helper->SyjApi->setCode(200); } }