?
<?php
class My_Plugin_Authberdin extends Zend_Controller_Plugin_Abstract
{
private $_auth;
private $_acl;
//private $_noagreement = array('module'=>'admin', 'controller'=>'index', 'action'=>'connection');
public function __construct($auth, $acl)
{
$this->_auth = $auth;
$this->_acl = $acl;
}
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
if ($this->_auth->hasIdentity()) {
$role = $this->_auth->getIdentity()->role;
} else {
$role = 'guest';
}
if(($request->getModuleName() != 'site'))
{
if(($request->getModuleName() =='admin') && ($request->getControllerName() =='index') && ($request->getActionName() =='login'))
{
}
else
{
if( ($this->_acl->isAllowed($role, "appartements", 'voir'))
|| ($this->_acl->isAllowed($role, "editappartements", 'voir')) )
{
}
else
{
$request->setModuleName("admin")
->setControllerName("index")
->setActionName("login")
->setDispatched(true);
}
}
}
}
}