From c131aefc3edd9fd57569e7d2c339add20695578b Mon Sep 17 00:00:00 2001 From: devjin Date: Tue, 10 Jul 2012 05:44:32 +0000 Subject: [PATCH] issue 2127 "return ModuleObject" code added in ModuleHandler (when error occured) git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3@10858 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/module/ModuleHandler.class.php | 39 ++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index 0bf64f526..fe30de0be 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -212,7 +212,17 @@ if(!$this->act) { $this->error = 'msg_module_is_not_exists'; $this->httpStatusCode = '404'; - return; + + $type = Mobile::isFromMobilePhone() ? 'mobile' : 'view'; + $oMessageObject = &ModuleHandler::getModuleInstance('message',$type); + $oMessageObject->setError(-1); + $oMessageObject->setMessage($this->error); + $oMessageObject->dispMessage(); + if($this->httpStatusCode) + { + $oMessageObject->setHttpStatusCode($this->httpStatusCode); + } + return $oMessageObject; } // get type, kind @@ -271,9 +281,16 @@ } if(!is_object($oModule)) { - $this->error = 'msg_module_is_not_exists'; - $this->httpStatusCode = '404'; - return; + $type = Mobile::isFromMobilePhone() ? 'mobile' : 'view'; + $oMessageObject = &ModuleHandler::getModuleInstance('message',$type); + $oMessageObject->setError(-1); + $oMessageObject->setMessage($this->error); + $oMessageObject->dispMessage(); + if($this->httpStatusCode) + { + $oMessageObject->setHttpStatusCode($this->httpStatusCode); + } + return $oMessageObject; } // If there is no such action in the module object @@ -283,7 +300,15 @@ if(!Context::isInstalled()) { $this->error = 'msg_invalid_request'; - return; + $oMessageObject = &ModuleHandler::getModuleInstance('message',$type); + $oMessageObject->setError(-1); + $oMessageObject->setMessage($this->error); + $oMessageObject->dispMessage(); + if($this->httpStatusCode) + { + $oMessageObject->setHttpStatusCode($this->httpStatusCode); + } + return $oMessageObject; } $forward = null; @@ -369,7 +394,9 @@ else { $this->error = 'msg_invalid_request'; - return; + $oModule->setError(-1); + $oModule->setMessage($this->error); + return $oModule; } }