From b9cd9367da104e5d3a4310fd1c40b841f5fbb286 Mon Sep 17 00:00:00 2001 From: xue <> Date: Fri, 23 Dec 2005 17:53:37 +0000 Subject: --- demos/quickstart/protected/pages/DetailPage.php | 55 +++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 demos/quickstart/protected/pages/DetailPage.php (limited to 'demos/quickstart/protected/pages/DetailPage.php') diff --git a/demos/quickstart/protected/pages/DetailPage.php b/demos/quickstart/protected/pages/DetailPage.php new file mode 100644 index 00000000..afd81272 --- /dev/null +++ b/demos/quickstart/protected/pages/DetailPage.php @@ -0,0 +1,55 @@ +Request->Items['src'])===null) + $this->_file=$this->determineFile($this->Request->Items['tpl'],false); + else + $this->_file=$this->determineFile($id,true); + } + + protected function determineFile($id,$isSrcFile) + { + $basePath=dirname(__FILE__).'/controls'; + + $xml=new TXmlDocument; + $xml->loadFromFile($basePath.'/config.xml'); + $pages=$xml->getElementByTagName('pages')->getElementsByTagName('page'); + $fileName=''; + foreach($pages as $page) + { + if($page->Attributes['id']===$id) + { + if($isSrcFile) + $fileName=$basePath.'/'.$page->Attributes['class'].'.php'; + else if($page->Attributes['TemplateFile']!==null) + { + $fileName=$page->Attributes['TemplateFile']; + if(($pos=strrpos($fileName,'.'))!==false) + $fileName=substr($fileName,$pos+1); + $fileName=$basePath.'/'.$fileName.'.tpl'; + } + else + $fileName=$basePath.'/'.$page->Attributes['class'].'.tpl'; + break; + } + } + if(empty($fileName) || !is_file($fileName)) + throw new THttpException(500,"File not exists!"); + return $fileName; + } + + protected function render($writer) + { + $contents=file_get_contents($this->_file); + $writer->write(highlight_string($contents,true)); + } +} + +?> \ No newline at end of file -- cgit v1.2.3