diff --git a/airtime_mvc/application/controllers/ErrorController.php b/airtime_mvc/application/controllers/ErrorController.php index 774db9926..a840da163 100644 --- a/airtime_mvc/application/controllers/ErrorController.php +++ b/airtime_mvc/application/controllers/ErrorController.php @@ -7,6 +7,15 @@ class ErrorController extends Zend_Controller_Action { //We cannot show that. $this->view->layout()->disableLayout(); $this->setupCSS(); + + // TODO: set Help button URL based on whether or not user is logged in + try { + $service_user = new Application_Service_UserService(); + $service_user->getCurrentUser(); + $this->view->helpUrl = Application_Common_OsPath::getBaseDir() . 'dashboard/help'; + } catch (Exception $e) { + $this->view->helpUrl = HELP_URL; + } } public function errorAction() { diff --git a/airtime_mvc/application/controllers/plugins/Acl_plugin.php b/airtime_mvc/application/controllers/plugins/Acl_plugin.php index 01b977079..9f9293434 100644 --- a/airtime_mvc/application/controllers/plugins/Acl_plugin.php +++ b/airtime_mvc/application/controllers/plugins/Acl_plugin.php @@ -211,8 +211,10 @@ class Zend_Controller_Plugin_Acl extends Zend_Controller_Plugin_Abstract $resourceName .= $controller; /** Check if the controller/action can be accessed by the current user */ - if (!$this->getAcl()->has($resourceName) - || !$this->getAcl()->isAllowed($this->_roleName, + if (!$this->getAcl()->has($resourceName)) { + $this->setErrorPage('error404'); + $this->denyAccess(); + } else if (!$this->getAcl()->isAllowed($this->_roleName, $resourceName, $request->getActionName())) { /** Redirect to access denied page */ diff --git a/airtime_mvc/application/views/scripts/error/error-400.phtml b/airtime_mvc/application/views/scripts/error/error-400.phtml index 329b55228..036f8e71a 100644 --- a/airtime_mvc/application/views/scripts/error/error-400.phtml +++ b/airtime_mvc/application/views/scripts/error/error-400.phtml @@ -1,5 +1,4 @@ - + @@ -11,7 +10,7 @@

- +
diff --git a/airtime_mvc/application/views/scripts/error/error-403.phtml b/airtime_mvc/application/views/scripts/error/error-403.phtml index 0e8d781fd..072bb475b 100644 --- a/airtime_mvc/application/views/scripts/error/error-403.phtml +++ b/airtime_mvc/application/views/scripts/error/error-403.phtml @@ -1,5 +1,4 @@ - + @@ -11,7 +10,7 @@

- +
diff --git a/airtime_mvc/application/views/scripts/error/error-404.phtml b/airtime_mvc/application/views/scripts/error/error-404.phtml index a63d44af8..7cb90f771 100644 --- a/airtime_mvc/application/views/scripts/error/error-404.phtml +++ b/airtime_mvc/application/views/scripts/error/error-404.phtml @@ -1,5 +1,4 @@ - + @@ -11,7 +10,7 @@

- +
diff --git a/airtime_mvc/application/views/scripts/error/error-500.phtml b/airtime_mvc/application/views/scripts/error/error-500.phtml index fe5bd9f39..4c8cb2516 100644 --- a/airtime_mvc/application/views/scripts/error/error-500.phtml +++ b/airtime_mvc/application/views/scripts/error/error-500.phtml @@ -1,5 +1,4 @@ - + @@ -11,7 +10,7 @@

- +
diff --git a/airtime_mvc/public/css/styles.css b/airtime_mvc/public/css/styles.css index 800f00629..10a09a31e 100644 --- a/airtime_mvc/public/css/styles.css +++ b/airtime_mvc/public/css/styles.css @@ -2858,12 +2858,12 @@ dt.block-display.info-block { /*---//////////////////// ERROR PAGE ////////////////////---*/ .error-content { - background:url(images/maintenance.png) no-repeat 0 0; - width:360px; - height:350px; - margin:auto; - margin-top:25px; - padding:auto; + position: relative; + background: url(images/maintenance.png) no-repeat 0 0; + width: 360px; + height: 350px; + margin: auto; + top: 25px; } .error-content h2 { margin:0;