From 29101438588ca4b3a1d56f1fe7b0749d648b3a9b Mon Sep 17 00:00:00 2001 From: xue <> Date: Mon, 12 Mar 2007 19:41:17 +0000 Subject: Fixed #562. --- framework/Web/Services/TPageService.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'framework') diff --git a/framework/Web/Services/TPageService.php b/framework/Web/Services/TPageService.php index aed9d3e0..58b7d57b 100644 --- a/framework/Web/Services/TPageService.php +++ b/framework/Web/Services/TPageService.php @@ -409,16 +409,19 @@ class TPageService extends TService $className=basename($path); if(!class_exists($className,false)) include_once($path.Prado::CLASS_FILE_EXT); - if(!class_exists($className,false)) - throw new TConfigurationException('pageservice_pageclass_unknown',$className); } else + { $className=$this->getBasePageClass(); + Prado::using($className); + if(($pos=strrpos($className,'.'))!==false) + $className=substr($className,$pos+1); + } - if($className!=='TPage' && !is_subclass_of($className,'TPage')) - throw new TConfigurationException('pageservice_pageclass_invalid',$className); + if(!class_exists($className,false) || ($className!=='TPage' && !is_subclass_of($className,'TPage'))) + throw new THttpException(404,'pageservice_page_unknown',$pagePath); - $page=Prado::createComponent($className); + $page=new $className; $page->setPagePath($pagePath); if($hasTemplateFile) -- cgit v1.2.3