|
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.
|