<?php
-/* This file is part of Syj, Copyright (c) 2010 Arnaud Renevier,
+/* This file is part of Syj, Copyright (c) 2010-2011 Arnaud Renevier,
and is published under the AGPL license. */
class LoginController extends Zend_Controller_Action
{
public function init() {
$this->view->headTitle($this->view->translate("login"));
- $this->view->headScript()->appendFile('js/prototype.js');
- $this->view->headScript()->appendFile('js/utils.js');
- $this->view->headScript()->appendFile('js/login.js');
- $this->view->headLink()->appendStylesheet('css/generic.css');
- $this->view->headLink()->appendStylesheet('css/login.css');
+ $this->_helper->SyjMedias->addScripts('login');
+ $this->view->headLink()->appendStylesheet('css/generic.css', 'all');
+ $this->view->headLink()->appendStylesheet('css/form.css', 'all');
+ $this->view->headLink()->appendStylesheet('css/login.css', 'all');
}
public function loginAction() {
}
/* form has been filled */
-
- $adapter = Zend_Db_Table_Abstract::getDefaultAdapter();
- $authAdapter = new Zend_Auth_Adapter_DbTable($adapter, 'users', 'pseudo', 'password');
- $authAdapter->setIdentity($formData['login_user'])
- ->setCredential(sha1($formData['login_password']));
-
- $auth = Zend_Auth::getInstance();
- $result = $auth->authenticate($authAdapter);
- if (!$result->isValid()) {
+ if (!$this->_helper->SyjUserManager->validate($formData['login_user'],
+ sha1($formData['login_password']),
+ $formData['login_rememberme'])) {
if ($httprequest) {
throw new Syj_Exception_Forbidden();
} else {
}
}
- $userid = $authAdapter->getResultRowObject('id')->id;
- $this->_helper->SyjSession->login($userid);
+ $user = $this->_helper->SyjUserManager->current();
if ($httprequest) {
$api = $this->_helper->SyjApi->setCode(200);
+ $data = array('pseudo' => $user->pseudo);
$login_geom_id = $formData['login_geom_id'];
if ($login_geom_id) {
if (!$pathMapper->find((int)$login_geom_id, $path)) {
throw new Syj_Exception_Request();
}
- if ($path->owner->id === $userid) {
- $api->setBody("1"); // owner of displayed geometry
- } else {
- $api->setBody("0");
- }
+ $data['iscreator'] = ($path->creator->id === $user->id);
} else {
- $api->setBody("1"); // no geometry displayed: owner of the (future) geometry
+ $data['iscreator'] = true;
}
+ $api->setBodyJson($data);
} else {
$this->redirect();
}
}
public function logoutAction() {
- $this->_helper->SyjSession->logout();
+ $this->_helper->SyjUserManager->logout();
$this->redirect();
}