diff --git a/e107_handlers/admin_ui.php b/e107_handlers/admin_ui.php
index 871e26237..8fdfcbe5a 100644
--- a/e107_handlers/admin_ui.php
+++ b/e107_handlers/admin_ui.php
@@ -1242,14 +1242,14 @@ class e_admin_dispatcher
//give access to current request object, user defined init
$this->_current_controller->setRequest($this->getRequest())->init();
}
+ // Known controller (found in e_admin_dispatcher::$modes), class not found exception
else
{
- //TODO - get default controller (core or user defined), set Action for
- //'Controller not found' page, add message(?), break
+ // TODO - admin log
// get default controller
$this->_current_controller = $this->getDefaultController();
// add messages
- e107::getMessage()->add('Can\'t find class '.($class_name ? $class_name : 'n/a'), E_MESSAGE_ERROR)
+ e107::getMessage()->add('Can\'t find class "'.($class_name ? $class_name : 'n/a').'" for controller "'.ucfirst($request->getModeName()).'"', E_MESSAGE_ERROR)
->add('Requested: '.e_SELF.'?'.$request->buildQueryString(), E_MESSAGE_DEBUG);
//
$request->setMode($this->getDefaultControllerName())->setAction('e404');
@@ -1272,6 +1272,19 @@ class e_admin_dispatcher
$this->_current_controller->setParam('modes', $this->modes);
}
+ // Not known controller (not found in e_admin_dispatcher::$modes) exception
+ else
+ {
+ var_dump($this->getDefaultControllerName(), $this->modes);
+ // TODO - admin log
+ $this->_current_controller = $this->getDefaultController();
+ // add messages
+ e107::getMessage()->add('Can\'t find class for controller "'.ucfirst($request->getModeName()).'"', E_MESSAGE_ERROR)
+ ->add('Requested: '.e_SELF.'?'.$request->buildQueryString(), E_MESSAGE_DEBUG);
+ // go to not found page
+ $request->setMode($this->getDefaultControllerName())->setAction('e404');
+ $this->_current_controller->setRequest($request)->init();
+ }
return $this;
}