X-Git-Url: https://dev.renevier.net/?a=blobdiff_plain;f=application%2Fcontrollers%2FUserController.php;h=1d4ed1826ee114d91a7ad242b0b12b7c31b927d8;hb=a86eeac0ab678ea55307e1386c5f955f77d8ff73;hp=2bb3fe96032f5bb32bed0270c94d6acf5e95e4e3;hpb=190fd621df4920c56a422c03663874cddaa67d64;p=syj.git diff --git a/application/controllers/UserController.php b/application/controllers/UserController.php index 2bb3fe9..1d4ed18 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,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->SyjSession->login($user->id); + + $data = array('pseudo' => $user->pseudo); + $this->_helper->SyjApi->setBodyJson($data)->setCode(200); } }