extranet/application/controllers/UserController.php

94 lines
2.3 KiB
PHP
Raw Normal View History

2010-11-22 12:50:12 +00:00
<?php
require_once 'Web/forms/login.php';
require_once 'Web/WebAuthAdapter.php';
class UserController extends Zend_Controller_Action {
2011-01-05 09:59:49 +00:00
public function init()
{
2011-01-07 17:16:07 +00:00
2011-01-05 09:59:49 +00:00
}
2010-11-22 12:50:12 +00:00
public function indexAction()
{
2011-01-07 17:16:07 +00:00
$auth = Zend_Auth::getInstance();
2011-02-21 08:45:13 +00:00
$identity = $auth->getIdentity();
//Créer le formulaire
$this->view->assign('options', $identity);
$isAdmin = false;
if ($identity->profil == 'Administrateur' || $identity->profil == 'SuperAdministrateur') {
$isAdmin = true;
}
$this->view->assign('isAdmin', $isAdmin);
2010-11-22 12:50:12 +00:00
}
public function loginAction()
{
2011-02-21 08:45:13 +00:00
//@todo : gestion des affichages particuliers pour les clients
2011-01-07 17:16:07 +00:00
$activeNav = $this->view->navigation();
$activeNav->removePages();
2010-11-24 10:55:21 +00:00
$this->view->headTitle()->append('Connexion');
2010-11-22 12:50:12 +00:00
$form = new Form_Login();
$this->view->form = $form;
$request = $this->getRequest();
if ($request->isPost()) {
$formData = $request->getPost ();
if ($form->isValid($formData)) {
$login = $form->getValue('login');
$pass = $form->getValue('pass');
$auth = Zend_Auth::getInstance();
2011-01-06 11:22:26 +00:00
$authAdapter = new WebAuthAdapter($login, $pass);
2010-11-22 12:50:12 +00:00
$result = $auth->authenticate($authAdapter);
if (!$result->isValid()){
$this->view->message = '';
foreach ($result->getMessages() as $message) {
$this->view->message.= $message."<br/>";
}
} else {
2011-01-06 11:22:26 +00:00
$timeout = $auth->getIdentity()->timeout;
$storage = new Zend_Auth_Storage_Session();
$sessionNamespace = new Zend_Session_Namespace($storage->getNamespace());
$sessionNamespace->setExpirationSeconds($timeout);
$auth->setStorage($storage);
$url = '';
if (Zend_Registry::isRegistered('URL')){
$url = Zend_Registry::get('URL');
}
if (!empty($url)){
$this->_redirect($url);
}
2010-11-22 12:50:12 +00:00
$this->_redirect('/');
}
2011-01-07 17:16:07 +00:00
2010-11-22 12:50:12 +00:00
}
}
2011-01-06 11:22:26 +00:00
$this->_helper->layout()->disableLayout();
$this->render('login');
2010-11-22 12:50:12 +00:00
}
2011-02-21 08:45:13 +00:00
public function newAction(){}
public function changepwdAction()
{
}
public function logoutAction()
{
2011-01-07 17:16:07 +00:00
$activeNav = $this->view->navigation();
$activeNav->removePages();
2010-11-22 12:50:12 +00:00
Zend_Auth::getInstance()->clearIdentity();
$this->_helper->layout()->disableLayout();
$this->render('logout');
2010-11-22 12:50:12 +00:00
}
}