Erreur dans le tutoriel : "Zend_Acl / Zend_Auth scénario d'exemple"
Bonjour,
Ne sachant pas où poster ce message (je n'ai pu trouvé de mail pour contacter l'auteur en cas d'erreur), je me permet donc de créer ce sujet pour faire part d'une erreur dans le tutoriel de Alain Sahli (traduction du tutoriel de Simon Mundy).
Voici le code en question :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| <?php
class MyLib_Plugin_Auth extends Zend_Controller_Plugin_Abstract
{
private $_auth;
private $_acl;
private $_noauth = array( 'module' => 'default',
'controller'=> 'auth',
'action' => 'login');
private $_noacl = array( 'module' => 'default',
'controller'=> 'error',
'action' => 'privileges');
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';
$controller = $request->controller;
$action = $request->action;
$module = $request->module;
$resource = $controller;
if(!$this->_acl->has($resource))
$resource = null;
if(!$this->_acl->isAllowed($role, $resource, $action))
{
if(!$this->_auth->hasIdentity())
{
$module = $this->_noauth['module'];
$controller = $this->_noauth['controller'];
$action = $this->_noauth['action']; |
On peut très bien constater qu'il manque une fin dans ce code !
En voici donc la fin :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| }
else
{
$module = $this->_noacl['module'];
$controller = $this->_noacl['controller'];
$action = $this->_noacl['action'];
}
}
$request->setModuleName($module);
$request->setControllerName($controller);
$request->setActionName($action);
}
} |
Cette erreur est aussi présente dans le tutoriel original en anglais.
Bonne journée,
Lionel B