From: <pan...@us...> - 2008-09-25 11:05:54
|
Revision: 378 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=378&view=rev Author: panzaboi Date: 2008-09-25 11:05:52 +0000 (Thu, 25 Sep 2008) Log Message: ----------- Changed routing to work with new ErrorHandler plug-in Modified Paths: -------------- website/library/Ostacium/Controller/Plugin/Router.php Modified: website/library/Ostacium/Controller/Plugin/Router.php =================================================================== --- website/library/Ostacium/Controller/Plugin/Router.php 2008-09-25 11:04:46 UTC (rev 377) +++ website/library/Ostacium/Controller/Plugin/Router.php 2008-09-25 11:05:52 UTC (rev 378) @@ -7,7 +7,7 @@ 'controller' => 'index', 'action' => 'index' ); - private $_noacl = array( /*'module' => 'default',*/ + private $_noacl = array( 'module' => 'default', 'controller' => 'error', 'action' => 'error' ); @@ -31,42 +31,31 @@ $module = $request->getModuleName(); $resource = ($module != 'default' ? $module . ':' . $controller : $controller); - try + if (!$this->_acl->has($resource)) { - if (!$this->_acl->isAllowed($role, $resource, $action)) { - if (!$auth->hasIdentity()) { - //$module = $this->_noauth['module']; - $controller = $this->_noauth['controller']; - $action = $this->_noauth['action']; - - $request->setParam('message', 'nologin'); - } else { - $module = $this->_noacl['module']; - $controller = $this->_noacl['controller']; - $action = $this->_noacl['action']; - - $request->setParam('message', 'noallowed'); - } - } + $e = new Zend_Controller_Dispatcher_Exception("Resource doesn't exist", 404); + + $response = $this->getResponse(); + $response->setException($e); + +// $module = $this->_noacl['module']; +// $controller = $this->_noacl['controller']; +// $action = $this->_noacl['action']; } - catch (Exception $e) - { - if (stripos($e->getMessage(), "Resource '{$resource}' not found") !== false) - { - $ee = new Zend_Controller_Dispatcher_Exception("Resource doesn't exist", 404); + elseif (!$this->_acl->isAllowed($role, $resource, $action)) { + if (!$auth->hasIdentity()) { + //$module = $this->_noauth['module']; + $controller = $this->_noauth['controller']; + $action = $this->_noauth['action']; - $response = $this->getResponse(); - $response->setException($ee); - + $request->setParam('message', 'nologin'); + } else { $module = $this->_noacl['module']; $controller = $this->_noacl['controller']; $action = $this->_noacl['action']; - $request->setDispatched(true); + $request->setParam('message', 'noallowed'); } - else { - throw $e; - } } $request->setModuleName($module); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |